@pulumi/gcp
Version:
A Pulumi package for creating and managing Google Cloud Platform resources.
320 lines (319 loc) • 13 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* The AuthConfig resource use to hold channels and connection config data.
*
* To get more information about AuthConfig, see:
*
* * [API documentation](https://cloud.google.com/application-integration/docs/reference/rest/v1/projects.locations.authConfigs)
* * How-to Guides
* * [Manage authentication profiles](https://cloud.google.com/application-integration/docs/configure-authentication-profiles)
* * [Official Documentation](https://cloud.google.com/application-integration/docs/overview)
*
* ## Example Usage
*
* ### Integrations Auth Config Basic
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const client = new gcp.applicationintegration.Client("client", {location: "us-west1"});
* const basicExample = new gcp.applicationintegration.AuthConfig("basic_example", {
* location: "us-west1",
* displayName: "test-authconfig",
* description: "Test auth config created via terraform",
* decryptedCredential: {
* credentialType: "USERNAME_AND_PASSWORD",
* usernameAndPassword: {
* username: "test-username",
* password: "test-password",
* },
* },
* }, {
* dependsOn: [client],
* });
* ```
*
* ## Import
*
* AuthConfig can be imported using any of these accepted formats:
*
* * `{{project}}/{{name}}`
*
* * `{{project}} {{name}}`
*
* * `{{name}}`
*
* When using the `pulumi import` command, AuthConfig can be imported using one of the formats above. For example:
*
* ```sh
* $ pulumi import gcp:applicationintegration/authConfig:AuthConfig default {{project}}/{{name}}
* ```
*
* ```sh
* $ pulumi import gcp:applicationintegration/authConfig:AuthConfig default "{{project}} {{name}}"
* ```
*
* ```sh
* $ pulumi import gcp:applicationintegration/authConfig:AuthConfig default {{name}}
* ```
*/
export declare class AuthConfig extends pulumi.CustomResource {
/**
* Get an existing AuthConfig 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<pulumi.ID>, state?: AuthConfigState, opts?: pulumi.CustomResourceOptions): AuthConfig;
/**
* Returns true if the given object is an instance of AuthConfig. 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 AuthConfig;
/**
* Certificate id for client certificate.
*/
readonly certificateId: pulumi.Output<string>;
/**
* Raw client certificate
* Structure is documented below.
*/
readonly clientCertificate: pulumi.Output<outputs.applicationintegration.AuthConfigClientCertificate | undefined>;
/**
* The timestamp when the auth config is created.
* A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
*/
readonly createTime: pulumi.Output<string>;
/**
* The creator's email address. Generated based on the End User Credentials/LOAS role of the user making the call.
*/
readonly creatorEmail: pulumi.Output<string>;
/**
* Credential type of the encrypted credential.
*/
readonly credentialType: pulumi.Output<string>;
/**
* Raw auth credentials.
* Structure is documented below.
*/
readonly decryptedCredential: pulumi.Output<outputs.applicationintegration.AuthConfigDecryptedCredential | undefined>;
/**
* A description of the auth config.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* The name of the auth config.
*/
readonly displayName: pulumi.Output<string>;
/**
* Auth credential encrypted by Cloud KMS. Can be decrypted as Credential with proper KMS key.
* A base64-encoded string.
*/
readonly encryptedCredential: pulumi.Output<string>;
/**
* User can define the time to receive notification after which the auth config becomes invalid. Support up to 30 days. Support granularity in hours.
* A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
*/
readonly expiryNotificationDurations: pulumi.Output<string[] | undefined>;
/**
* The last modifier's email address. Generated based on the End User Credentials/LOAS role of the user making the call.
*/
readonly lastModifierEmail: pulumi.Output<string>;
/**
* Location in which client needs to be provisioned.
*/
readonly location: pulumi.Output<string>;
/**
* Resource name of the auth config.
*/
readonly name: pulumi.Output<string>;
/**
* User provided expiry time to override. For the example of Salesforce, username/password credentials can be valid for 6 months depending on the instance settings.
* A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
*/
readonly overrideValidTime: pulumi.Output<string | undefined>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
readonly project: pulumi.Output<string>;
/**
* The reason / details of the current status.
*/
readonly reason: pulumi.Output<string>;
/**
* The status of the auth config.
*/
readonly state: pulumi.Output<string>;
/**
* The timestamp when the auth config is modified.
* A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
*/
readonly updateTime: pulumi.Output<string>;
/**
* The time until the auth config is valid. Empty or max value is considered the auth config won't expire.
* A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
*/
readonly validTime: pulumi.Output<string>;
/**
* The visibility of the auth config.
* Possible values are: `PRIVATE`, `CLIENT_VISIBLE`.
*/
readonly visibility: pulumi.Output<string | undefined>;
/**
* Create a AuthConfig 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: AuthConfigArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering AuthConfig resources.
*/
export interface AuthConfigState {
/**
* Certificate id for client certificate.
*/
certificateId?: pulumi.Input<string>;
/**
* Raw client certificate
* Structure is documented below.
*/
clientCertificate?: pulumi.Input<inputs.applicationintegration.AuthConfigClientCertificate>;
/**
* The timestamp when the auth config is created.
* A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
*/
createTime?: pulumi.Input<string>;
/**
* The creator's email address. Generated based on the End User Credentials/LOAS role of the user making the call.
*/
creatorEmail?: pulumi.Input<string>;
/**
* Credential type of the encrypted credential.
*/
credentialType?: pulumi.Input<string>;
/**
* Raw auth credentials.
* Structure is documented below.
*/
decryptedCredential?: pulumi.Input<inputs.applicationintegration.AuthConfigDecryptedCredential>;
/**
* A description of the auth config.
*/
description?: pulumi.Input<string>;
/**
* The name of the auth config.
*/
displayName?: pulumi.Input<string>;
/**
* Auth credential encrypted by Cloud KMS. Can be decrypted as Credential with proper KMS key.
* A base64-encoded string.
*/
encryptedCredential?: pulumi.Input<string>;
/**
* User can define the time to receive notification after which the auth config becomes invalid. Support up to 30 days. Support granularity in hours.
* A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
*/
expiryNotificationDurations?: pulumi.Input<pulumi.Input<string>[]>;
/**
* The last modifier's email address. Generated based on the End User Credentials/LOAS role of the user making the call.
*/
lastModifierEmail?: pulumi.Input<string>;
/**
* Location in which client needs to be provisioned.
*/
location?: pulumi.Input<string>;
/**
* Resource name of the auth config.
*/
name?: pulumi.Input<string>;
/**
* User provided expiry time to override. For the example of Salesforce, username/password credentials can be valid for 6 months depending on the instance settings.
* A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
*/
overrideValidTime?: pulumi.Input<string>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
project?: pulumi.Input<string>;
/**
* The reason / details of the current status.
*/
reason?: pulumi.Input<string>;
/**
* The status of the auth config.
*/
state?: pulumi.Input<string>;
/**
* The timestamp when the auth config is modified.
* A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
*/
updateTime?: pulumi.Input<string>;
/**
* The time until the auth config is valid. Empty or max value is considered the auth config won't expire.
* A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
*/
validTime?: pulumi.Input<string>;
/**
* The visibility of the auth config.
* Possible values are: `PRIVATE`, `CLIENT_VISIBLE`.
*/
visibility?: pulumi.Input<string>;
}
/**
* The set of arguments for constructing a AuthConfig resource.
*/
export interface AuthConfigArgs {
/**
* Raw client certificate
* Structure is documented below.
*/
clientCertificate?: pulumi.Input<inputs.applicationintegration.AuthConfigClientCertificate>;
/**
* Raw auth credentials.
* Structure is documented below.
*/
decryptedCredential?: pulumi.Input<inputs.applicationintegration.AuthConfigDecryptedCredential>;
/**
* A description of the auth config.
*/
description?: pulumi.Input<string>;
/**
* The name of the auth config.
*/
displayName: pulumi.Input<string>;
/**
* User can define the time to receive notification after which the auth config becomes invalid. Support up to 30 days. Support granularity in hours.
* A duration in seconds with up to nine fractional digits, ending with 's'. Example: "3.5s".
*/
expiryNotificationDurations?: pulumi.Input<pulumi.Input<string>[]>;
/**
* Location in which client needs to be provisioned.
*/
location: pulumi.Input<string>;
/**
* User provided expiry time to override. For the example of Salesforce, username/password credentials can be valid for 6 months depending on the instance settings.
* A timestamp in RFC3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits. Examples: "2014-10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
*/
overrideValidTime?: pulumi.Input<string>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
project?: pulumi.Input<string>;
/**
* The visibility of the auth config.
* Possible values are: `PRIVATE`, `CLIENT_VISIBLE`.
*/
visibility?: pulumi.Input<string>;
}