import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Provides an AppFlow connector profile resource. * * For information about AppFlow flows, see the [Amazon AppFlow API Reference](https://docs.aws.amazon.com/appflow/1.0/APIReference/Welcome.html). * For specific information about creating an AppFlow connector profile, see the * [CreateConnectorProfile](https://docs.aws.amazon.com/appflow/1.0/APIReference/API_CreateConnectorProfile.html) page in the Amazon AppFlow API Reference. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as aws from "@pulumi/aws"; * * const example = aws.iam.getPolicy({ * name: "AmazonRedshiftAllCommandsFullAccess", * }); * const exampleRole = new aws.iam.Role("example", { * name: "example_role", * managedPolicyArns: [test.arn], * assumeRolePolicy: JSON.stringify({ * Version: "2012-10-17", * Statement: [{ * Action: "sts:AssumeRole", * Effect: "Allow", * Sid: "", * Principal: { * Service: "ec2.amazonaws.com", * }, * }], * }), * }); * const exampleBucket = new aws.s3.Bucket("example", {bucket: "example-bucket"}); * const exampleCluster = new aws.redshift.Cluster("example", { * clusterIdentifier: "example_cluster", * databaseName: "example_db", * masterUsername: "exampleuser", * masterPassword: "examplePassword123!", * nodeType: "dc1.large", * clusterType: "single-node", * }); * const exampleConnectorProfile = new aws.appflow.ConnectorProfile("example", { * connectorProfileConfig: { * connectorProfileCredentials: { * redshift: { * password: exampleCluster.masterPassword, * username: exampleCluster.masterUsername, * }, * }, * connectorProfileProperties: { * redshift: { * bucketName: exampleBucket.name, * databaseUrl: pulumi.interpolate`jdbc:redshift://${exampleCluster.endpoint}/${exampleCluster.databaseName}`, * roleArn: exampleRole.arn, * }, * }, * }, * name: "example_profile", * connectorType: "Redshift", * connectionMode: "Public", * }); * ``` * * ## Import * * ### Identity Schema * * #### Required * * * `name` (String) Name of the Appflow connector profile. * * #### Optional * * * `accountId` (String) AWS Account where this resource is managed. * * `region` (String) Region where this resource is managed. * * Using `pulumi import`, import AppFlow Connector Profile using the connector profile `name`. For example: * * ```sh * $ pulumi import aws:appflow/connectorProfile:ConnectorProfile example example-profile * ``` */ export declare class ConnectorProfile extends pulumi.CustomResource { /** * Get an existing ConnectorProfile 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?: ConnectorProfileState, opts?: pulumi.CustomResourceOptions): ConnectorProfile; /** * Returns true if the given object is an instance of ConnectorProfile. 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 ConnectorProfile; /** * ARN of the connector profile. */ readonly arn: pulumi.Output; /** * Connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. One of: `Public`, `Private`. */ readonly connectionMode: pulumi.Output; /** * Label of the connector. The label is unique for each `ConnectorRegistration` in your AWS account. Only needed if calling for the `CustomConnector` connector type. */ readonly connectorLabel: pulumi.Output; /** * Connector-specific configuration and credentials. See `connectorProfileConfig` Block for details. */ readonly connectorProfileConfig: pulumi.Output; /** * Type of connector. One of: `Amplitude`, `CustomConnector`, `CustomerProfiles`, `Datadog`, `Dynatrace`, `EventBridge`, `Googleanalytics`, `Honeycode`, `Infornexus`, `LookoutMetrics`, `Marketo`, `Redshift`, `S3`, `Salesforce`, `SAPOData`, `Servicenow`, `Singular`, `Slack`, `Snowflake`, `Trendmicro`, `Upsolver`, `Veeva`, `Zendesk`. */ readonly connectorType: pulumi.Output; /** * ARN of the connector profile credentials. */ readonly credentialsArn: pulumi.Output; /** * ARN of the KMS key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. */ readonly kmsArn: pulumi.Output; /** * Name of the connector profile. The name is unique for each `ConnectorProfile` in your AWS account. */ readonly name: pulumi.Output; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ readonly region: pulumi.Output; /** * Create a ConnectorProfile 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: ConnectorProfileArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ConnectorProfile resources. */ export interface ConnectorProfileState { /** * ARN of the connector profile. */ arn?: pulumi.Input; /** * Connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. One of: `Public`, `Private`. */ connectionMode?: pulumi.Input; /** * Label of the connector. The label is unique for each `ConnectorRegistration` in your AWS account. Only needed if calling for the `CustomConnector` connector type. */ connectorLabel?: pulumi.Input; /** * Connector-specific configuration and credentials. See `connectorProfileConfig` Block for details. */ connectorProfileConfig?: pulumi.Input; /** * Type of connector. One of: `Amplitude`, `CustomConnector`, `CustomerProfiles`, `Datadog`, `Dynatrace`, `EventBridge`, `Googleanalytics`, `Honeycode`, `Infornexus`, `LookoutMetrics`, `Marketo`, `Redshift`, `S3`, `Salesforce`, `SAPOData`, `Servicenow`, `Singular`, `Slack`, `Snowflake`, `Trendmicro`, `Upsolver`, `Veeva`, `Zendesk`. */ connectorType?: pulumi.Input; /** * ARN of the connector profile credentials. */ credentialsArn?: pulumi.Input; /** * ARN of the KMS key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. */ kmsArn?: pulumi.Input; /** * Name of the connector profile. The name is unique for each `ConnectorProfile` in your AWS account. */ name?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; } /** * The set of arguments for constructing a ConnectorProfile resource. */ export interface ConnectorProfileArgs { /** * Connection mode and specifies whether it is public or private. Private flows use AWS PrivateLink to route data over AWS infrastructure without exposing it to the public internet. One of: `Public`, `Private`. */ connectionMode: pulumi.Input; /** * Label of the connector. The label is unique for each `ConnectorRegistration` in your AWS account. Only needed if calling for the `CustomConnector` connector type. */ connectorLabel?: pulumi.Input; /** * Connector-specific configuration and credentials. See `connectorProfileConfig` Block for details. */ connectorProfileConfig: pulumi.Input; /** * Type of connector. One of: `Amplitude`, `CustomConnector`, `CustomerProfiles`, `Datadog`, `Dynatrace`, `EventBridge`, `Googleanalytics`, `Honeycode`, `Infornexus`, `LookoutMetrics`, `Marketo`, `Redshift`, `S3`, `Salesforce`, `SAPOData`, `Servicenow`, `Singular`, `Slack`, `Snowflake`, `Trendmicro`, `Upsolver`, `Veeva`, `Zendesk`. */ connectorType: pulumi.Input; /** * ARN of the KMS key you provide for encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key. */ kmsArn?: pulumi.Input; /** * Name of the connector profile. The name is unique for each `ConnectorProfile` in your AWS account. */ name?: pulumi.Input; /** * Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration. */ region?: pulumi.Input; } //# sourceMappingURL=connectorProfile.d.ts.map