import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * An Environment Keystore Alias for Self Signed Certificate Format in Apigee * * To get more information about KeystoresAliasesSelfSignedCert, see: * * * [API documentation](https://cloud.google.com/apigee/docs/reference/apis/apigee/rest/v1/organizations.environments.keystores.aliases/create) * * How-to Guides * * [Creating an environment](https://cloud.google.com/apigee/docs/api-platform/get-started/create-environment) * * ## Example Usage * * ### Apigee Env Keystore Alias Self Signed Cert * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * import * as time from "@pulumiverse/time"; * * const project = new gcp.organizations.Project("project", { * projectId: "my-project", * name: "my-project", * orgId: "123456789", * billingAccount: "000000-0000000-0000000-000000", * deletionPolicy: "DELETE", * }); * const apigee = new gcp.projects.Service("apigee", { * project: project.projectId, * service: "apigee.googleapis.com", * }); * const servicenetworking = new gcp.projects.Service("servicenetworking", { * project: project.projectId, * service: "servicenetworking.googleapis.com", * }, { * dependsOn: [apigee], * }); * const compute = new gcp.projects.Service("compute", { * project: project.projectId, * service: "compute.googleapis.com", * }, { * dependsOn: [servicenetworking], * }); * const wait120Seconds = new time.Sleep("wait_120_seconds", {createDuration: "120s"}, { * dependsOn: [compute], * }); * const apigeeNetwork = new gcp.compute.Network("apigee_network", { * name: "apigee-network", * project: project.projectId, * }, { * dependsOn: [wait120Seconds], * }); * const apigeeRange = new gcp.compute.GlobalAddress("apigee_range", { * name: "apigee-range", * purpose: "VPC_PEERING", * addressType: "INTERNAL", * prefixLength: 16, * network: apigeeNetwork.id, * project: project.projectId, * }); * const apigeeVpcConnection = new gcp.servicenetworking.Connection("apigee_vpc_connection", { * network: apigeeNetwork.id, * service: "servicenetworking.googleapis.com", * reservedPeeringRanges: [apigeeRange.name], * }, { * dependsOn: [servicenetworking], * }); * const apigeeOrg = new gcp.apigee.Organization("apigee_org", { * analyticsRegion: "us-central1", * projectId: project.projectId, * authorizedNetwork: apigeeNetwork.id, * }, { * dependsOn: [ * apigeeVpcConnection, * apigee, * ], * }); * const apigeeEnvironmentKeystoreSsAlias = new gcp.apigee.Environment("apigee_environment_keystore_ss_alias", { * orgId: apigeeOrg.id, * name: "env-name", * description: "Apigee Environment", * displayName: "environment-1", * }); * const apigeeEnvironmentKeystoreAlias = new gcp.apigee.EnvKeystore("apigee_environment_keystore_alias", { * name: "env-keystore", * envId: apigeeEnvironmentKeystoreSsAlias.id, * }); * const apigeeEnvironmentKeystoreSsAliasKeystoresAliasesSelfSignedCert = new gcp.apigee.KeystoresAliasesSelfSignedCert("apigee_environment_keystore_ss_alias", { * environment: apigeeEnvironmentKeystoreSsAlias.name, * orgId: apigeeOrg.name, * keystore: apigeeEnvironmentKeystoreAlias.name, * alias: "alias", * keySize: "1024", * sigAlg: "SHA512withRSA", * certValidityInDays: 4, * subject: { * commonName: "selfsigned_example", * countryCode: "US", * locality: "TX", * org: "CCE", * orgUnit: "PSO", * }, * }); * ``` * * ## Import * * KeystoresAliasesSelfSignedCert can be imported using any of these accepted formats: * * * `organizations/{{org_id}}/environments/{{environment}}/keystores/{{keystore}}/aliases/{{alias}}` * * * `{{org_id}}/{{environment}}/{{keystore}}/{{alias}}` * * When using the `pulumi import` command, KeystoresAliasesSelfSignedCert can be imported using one of the formats above. For example: * * ```sh * $ pulumi import gcp:apigee/keystoresAliasesSelfSignedCert:KeystoresAliasesSelfSignedCert default organizations/{{org_id}}/environments/{{environment}}/keystores/{{keystore}}/aliases/{{alias}} * ``` * * ```sh * $ pulumi import gcp:apigee/keystoresAliasesSelfSignedCert:KeystoresAliasesSelfSignedCert default {{org_id}}/{{environment}}/{{keystore}}/{{alias}} * ``` */ export declare class KeystoresAliasesSelfSignedCert extends pulumi.CustomResource { /** * Get an existing KeystoresAliasesSelfSignedCert resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: KeystoresAliasesSelfSignedCertState, opts?: pulumi.CustomResourceOptions): KeystoresAliasesSelfSignedCert; /** * Returns true if the given object is an instance of KeystoresAliasesSelfSignedCert. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is KeystoresAliasesSelfSignedCert; /** * Alias for the key/certificate pair. Values must match the regular expression [\w\s-.]{1,255}. * This must be provided for all formats except selfsignedcert; self-signed certs may specify the alias in either * this parameter or the JSON body. */ readonly alias: pulumi.Output; /** * Validity duration of certificate, in days. Accepts positive non-zero value. Defaults to 365. */ readonly certValidityInDays: pulumi.Output; /** * Chain of certificates under this alias. * Structure is documented below. */ readonly certsInfos: pulumi.Output; /** * The Apigee environment name */ readonly environment: pulumi.Output; /** * Key size. Default and maximum value is 2048 bits. */ readonly keySize: pulumi.Output; /** * The Apigee keystore name associated in an Apigee environment */ readonly keystore: pulumi.Output; /** * The Apigee Organization name associated with the Apigee environment */ readonly orgId: pulumi.Output; /** * Signature algorithm to generate private key. Valid values are SHA512withRSA, SHA384withRSA, and SHA256withRSA */ readonly sigAlg: pulumi.Output; /** * Subject details. * Structure is documented below. */ readonly subject: pulumi.Output; /** * List of alternative host names. Maximum length is 255 characters for each value. * Structure is documented below. */ readonly subjectAlternativeDnsNames: pulumi.Output; /** * Optional.Type of Alias */ readonly type: pulumi.Output; /** * Create a KeystoresAliasesSelfSignedCert resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: KeystoresAliasesSelfSignedCertArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering KeystoresAliasesSelfSignedCert resources. */ export interface KeystoresAliasesSelfSignedCertState { /** * Alias for the key/certificate pair. Values must match the regular expression [\w\s-.]{1,255}. * This must be provided for all formats except selfsignedcert; self-signed certs may specify the alias in either * this parameter or the JSON body. */ alias?: pulumi.Input; /** * Validity duration of certificate, in days. Accepts positive non-zero value. Defaults to 365. */ certValidityInDays?: pulumi.Input; /** * Chain of certificates under this alias. * Structure is documented below. */ certsInfos?: pulumi.Input[]>; /** * The Apigee environment name */ environment?: pulumi.Input; /** * Key size. Default and maximum value is 2048 bits. */ keySize?: pulumi.Input; /** * The Apigee keystore name associated in an Apigee environment */ keystore?: pulumi.Input; /** * The Apigee Organization name associated with the Apigee environment */ orgId?: pulumi.Input; /** * Signature algorithm to generate private key. Valid values are SHA512withRSA, SHA384withRSA, and SHA256withRSA */ sigAlg?: pulumi.Input; /** * Subject details. * Structure is documented below. */ subject?: pulumi.Input; /** * List of alternative host names. Maximum length is 255 characters for each value. * Structure is documented below. */ subjectAlternativeDnsNames?: pulumi.Input; /** * Optional.Type of Alias */ type?: pulumi.Input; } /** * The set of arguments for constructing a KeystoresAliasesSelfSignedCert resource. */ export interface KeystoresAliasesSelfSignedCertArgs { /** * Alias for the key/certificate pair. Values must match the regular expression [\w\s-.]{1,255}. * This must be provided for all formats except selfsignedcert; self-signed certs may specify the alias in either * this parameter or the JSON body. */ alias: pulumi.Input; /** * Validity duration of certificate, in days. Accepts positive non-zero value. Defaults to 365. */ certValidityInDays?: pulumi.Input; /** * The Apigee environment name */ environment: pulumi.Input; /** * Key size. Default and maximum value is 2048 bits. */ keySize?: pulumi.Input; /** * The Apigee keystore name associated in an Apigee environment */ keystore: pulumi.Input; /** * The Apigee Organization name associated with the Apigee environment */ orgId: pulumi.Input; /** * Signature algorithm to generate private key. Valid values are SHA512withRSA, SHA384withRSA, and SHA256withRSA */ sigAlg: pulumi.Input; /** * Subject details. * Structure is documented below. */ subject: pulumi.Input; /** * List of alternative host names. Maximum length is 255 characters for each value. * Structure is documented below. */ subjectAlternativeDnsNames?: pulumi.Input; }