// Code generated by generators/singular-data-source/main.go; DO NOT EDIT. package appflow import ( "context" "github.com/hashicorp/terraform-plugin-framework/tfsdk" "github.com/hashicorp/terraform-plugin-framework/types" . "github.com/hashicorp/terraform-provider-awscc/internal/generic" "github.com/hashicorp/terraform-provider-awscc/internal/registry" ) func init() { registry.AddDataSourceTypeFactory("awscc_appflow_connector_profile", connectorProfileDataSourceType) } // connectorProfileDataSourceType returns the Terraform awscc_appflow_connector_profile data source type. // This Terraform data source type corresponds to the CloudFormation AWS::AppFlow::ConnectorProfile resource type. func connectorProfileDataSourceType(ctx context.Context) (tfsdk.DataSourceType, error) { attributes := map[string]tfsdk.Attribute{ "connection_mode": { // Property: ConnectionMode // CloudFormation resource type schema: // { // "description": "Mode in which data transfer should be enabled. Private connection mode is currently enabled for Salesforce, Snowflake, Trendmicro and Singular", // "enum": [ // "Public", // "Private" // ], // "type": "string" // } Description: "Mode in which data transfer should be enabled. Private connection mode is currently enabled for Salesforce, Snowflake, Trendmicro and Singular", Type: types.StringType, Computed: true, }, "connector_profile_arn": { // Property: ConnectorProfileArn // CloudFormation resource type schema: // { // "description": "Unique identifier for connector profile resources", // "maxLength": 512, // "pattern": "arn:aws:appflow:.*:[0-9]+:.*", // "type": "string" // } Description: "Unique identifier for connector profile resources", Type: types.StringType, Computed: true, }, "connector_profile_config": { // Property: ConnectorProfileConfig // CloudFormation resource type schema: // { // "description": "Connector specific configurations needed to create connector profile", // "properties": { // "ConnectorProfileCredentials": { // "description": "Connector specific configuration needed to create connector profile based on Authentication mechanism", // "properties": { // "Amplitude": { // "properties": { // "ApiKey": { // "description": "A unique alphanumeric identi?er used to authenticate a user, developer, or calling program to your API.", // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // }, // "SecretKey": { // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "ApiKey", // "SecretKey" // ], // "type": "object" // }, // "Datadog": { // "properties": { // "ApiKey": { // "description": "A unique alphanumeric identi?er used to authenticate a user, developer, or calling program to your API.", // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // }, // "ApplicationKey": { // "description": "Application keys, in conjunction with your API key, give you full access to Datadog?s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "ApiKey", // "ApplicationKey" // ], // "type": "object" // }, // "Dynatrace": { // "properties": { // "ApiToken": { // "description": "The API tokens used by Dynatrace API to authenticate various API calls.", // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "ApiToken" // ], // "type": "object" // }, // "GoogleAnalytics": { // "properties": { // "AccessToken": { // "description": "The credentials used to access protected resources.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ClientId": { // "description": "The identi?er for the desired client.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ClientSecret": { // "description": "The client secret used by the oauth client to authenticate to the authorization server.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ConnectorOAuthRequest": { // "description": "The oauth needed to request security tokens from the connector endpoint.", // "properties": { // "AuthCode": { // "description": "The code provided by the connector when it has been authenticated via the connected app.", // "type": "string" // }, // "RedirectUri": { // "description": "The URL to which the authentication server redirects the browser after authorization has been\ngranted.", // "type": "string" // } // }, // "type": "object" // }, // "RefreshToken": { // "description": "The credentials used to acquire new access tokens.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "ClientId", // "ClientSecret" // ], // "type": "object" // }, // "InforNexus": { // "properties": { // "AccessKeyId": { // "description": "The Access Key portion of the credentials.", // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // }, // "Datakey": { // "description": "The encryption keys used to encrypt data.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "SecretAccessKey": { // "description": "The secret key used to sign requests.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "UserId": { // "description": "The identi?er for the user.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "AccessKeyId", // "UserId", // "SecretAccessKey", // "Datakey" // ], // "type": "object" // }, // "Marketo": { // "properties": { // "AccessToken": { // "description": "The credentials used to access protected resources.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ClientId": { // "description": "The identi?er for the desired client.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ClientSecret": { // "description": "The client secret used by the oauth client to authenticate to the authorization server.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ConnectorOAuthRequest": { // "description": "The oauth needed to request security tokens from the connector endpoint.", // "properties": { // "AuthCode": { // "description": "The code provided by the connector when it has been authenticated via the connected app.", // "type": "string" // }, // "RedirectUri": { // "description": "The URL to which the authentication server redirects the browser after authorization has been\ngranted.", // "type": "string" // } // }, // "type": "object" // } // }, // "required": [ // "ClientId", // "ClientSecret" // ], // "type": "object" // }, // "Redshift": { // "properties": { // "Password": { // "description": "The password that corresponds to the username.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "Username": { // "description": "The name of the user.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "Username", // "Password" // ], // "type": "object" // }, // "SAPOData": { // "properties": { // "BasicAuthCredentials": { // "properties": { // "Password": { // "description": "The password that corresponds to the username.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "Username": { // "description": "The name of the user.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // } // }, // "type": "object" // }, // "OAuthCredentials": { // "properties": { // "AccessToken": { // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ClientId": { // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ClientSecret": { // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ConnectorOAuthRequest": { // "properties": { // "AuthCode": { // "description": "The code provided by the connector when it has been authenticated via the connected app.", // "type": "string" // }, // "RedirectUri": { // "description": "The URL to which the authentication server redirects the browser after authorization has been\ngranted.", // "type": "string" // } // }, // "type": "object" // }, // "RefreshToken": { // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // } // }, // "type": "object" // } // }, // "type": "object" // }, // "Salesforce": { // "properties": { // "AccessToken": { // "description": "The credentials used to access protected resources.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ClientCredentialsArn": { // "description": "The client credentials to fetch access token and refresh token.", // "maxLength": 2048, // "pattern": "arn:aws:secretsmanager:.*:[0-9]+:.*", // "type": "string" // }, // "ConnectorOAuthRequest": { // "description": "The oauth needed to request security tokens from the connector endpoint.", // "properties": { // "AuthCode": { // "description": "The code provided by the connector when it has been authenticated via the connected app.", // "type": "string" // }, // "RedirectUri": { // "description": "The URL to which the authentication server redirects the browser after authorization has been\ngranted.", // "type": "string" // } // }, // "type": "object" // }, // "RefreshToken": { // "description": "The credentials used to acquire new access tokens.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // } // }, // "type": "object" // }, // "ServiceNow": { // "properties": { // "Password": { // "description": "The password that corresponds to the username.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "Username": { // "description": "The name of the user.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "Username", // "Password" // ], // "type": "object" // }, // "Singular": { // "properties": { // "ApiKey": { // "description": "A unique alphanumeric identi?er used to authenticate a user, developer, or calling program to your API.", // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "ApiKey" // ], // "type": "object" // }, // "Slack": { // "properties": { // "AccessToken": { // "description": "The credentials used to access protected resources.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ClientId": { // "description": "The identi?er for the desired client.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ClientSecret": { // "description": "The client secret used by the oauth client to authenticate to the authorization server.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ConnectorOAuthRequest": { // "description": "The oauth needed to request security tokens from the connector endpoint.", // "properties": { // "AuthCode": { // "description": "The code provided by the connector when it has been authenticated via the connected app.", // "type": "string" // }, // "RedirectUri": { // "description": "The URL to which the authentication server redirects the browser after authorization has been\ngranted.", // "type": "string" // } // }, // "type": "object" // } // }, // "required": [ // "ClientId", // "ClientSecret" // ], // "type": "object" // }, // "Snowflake": { // "properties": { // "Password": { // "description": "The password that corresponds to the username.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "Username": { // "description": "The name of the user.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "Username", // "Password" // ], // "type": "object" // }, // "Trendmicro": { // "properties": { // "ApiSecretKey": { // "description": "The Secret Access Key portion of the credentials.", // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "ApiSecretKey" // ], // "type": "object" // }, // "Veeva": { // "properties": { // "Password": { // "description": "The password that corresponds to the username.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "Username": { // "description": "The name of the user.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "Username", // "Password" // ], // "type": "object" // }, // "Zendesk": { // "properties": { // "AccessToken": { // "description": "The credentials used to access protected resources.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ClientId": { // "description": "The identi?er for the desired client.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ClientSecret": { // "description": "The client secret used by the oauth client to authenticate to the authorization server.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ConnectorOAuthRequest": { // "description": "The oauth needed to request security tokens from the connector endpoint.", // "properties": { // "AuthCode": { // "description": "The code provided by the connector when it has been authenticated via the connected app.", // "type": "string" // }, // "RedirectUri": { // "description": "The URL to which the authentication server redirects the browser after authorization has been\ngranted.", // "type": "string" // } // }, // "type": "object" // } // }, // "required": [ // "ClientId", // "ClientSecret" // ], // "type": "object" // } // }, // "type": "object" // }, // "ConnectorProfileProperties": { // "description": "Connector specific properties needed to create connector profile - currently not needed for Amplitude, Trendmicro, Googleanalytics and Singular", // "properties": { // "Datadog": { // "properties": { // "InstanceUrl": { // "description": "The location of the Datadog resource", // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "InstanceUrl" // ], // "type": "object" // }, // "Dynatrace": { // "properties": { // "InstanceUrl": { // "description": "The location of the Dynatrace resource", // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "InstanceUrl" // ], // "type": "object" // }, // "InforNexus": { // "properties": { // "InstanceUrl": { // "description": "The location of the InforNexus resource", // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "InstanceUrl" // ], // "type": "object" // }, // "Marketo": { // "properties": { // "InstanceUrl": { // "description": "The location of the Marketo resource", // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "InstanceUrl" // ], // "type": "object" // }, // "Redshift": { // "properties": { // "BucketName": { // "description": "The name of the Amazon S3 bucket associated with Redshift.", // "maxLength": 63, // "minLength": 3, // "pattern": "\\S+", // "type": "string" // }, // "BucketPrefix": { // "description": "The object key for the destination bucket in which Amazon AppFlow will place the ?les.", // "maxLength": 128, // "type": "string" // }, // "DatabaseUrl": { // "description": "The JDBC URL of the Amazon Redshift cluster.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "RoleArn": { // "description": "The Amazon Resource Name (ARN) of the IAM role.", // "maxLength": 512, // "pattern": "arn:aws:iam:.*:[0-9]+:.*", // "type": "string" // } // }, // "required": [ // "DatabaseUrl", // "BucketName", // "RoleArn" // ], // "type": "object" // }, // "SAPOData": { // "properties": { // "ApplicationHostUrl": { // "maxLength": 256, // "pattern": "^(https?)://[-a-zA-Z0-9+\u0026amp;@#/%?=~_|!:,.;]*[-a-zA-Z0-9+\u0026amp;@#/%=~_|]", // "type": "string" // }, // "ApplicationServicePath": { // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "ClientNumber": { // "maxLength": 3, // "minLength": 3, // "pattern": "^\\d{3}$", // "type": "string" // }, // "LogonLanguage": { // "maxLength": 2, // "pattern": "^[a-zA-Z0-9_]*$", // "type": "string" // }, // "OAuthProperties": { // "properties": { // "AuthCodeUrl": { // "maxLength": 256, // "pattern": "^(https?)://[-a-zA-Z0-9+\u0026amp;@#/%?=~_|!:,.;]*[-a-zA-Z0-9+\u0026amp;@#/%=~_|]", // "type": "string" // }, // "OAuthScopes": { // "items": { // "maxLength": 128, // "pattern": "[/\\w]*", // "type": "string" // }, // "type": "array", // "uniqueItems": true // }, // "TokenUrl": { // "maxLength": 256, // "pattern": "^(https?)://[-a-zA-Z0-9+\u0026amp;@#/%?=~_|!:,.;]*[-a-zA-Z0-9+\u0026amp;@#/%=~_|]", // "type": "string" // } // }, // "type": "object" // }, // "PortNumber": { // "maximum": 65535, // "minimum": 1, // "type": "integer" // }, // "PrivateLinkServiceName": { // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // } // }, // "type": "object" // }, // "Salesforce": { // "properties": { // "InstanceUrl": { // "description": "The location of the Salesforce resource", // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // }, // "isSandboxEnvironment": { // "type": "boolean" // } // }, // "type": "object" // }, // "ServiceNow": { // "properties": { // "InstanceUrl": { // "description": "The location of the ServiceNow resource", // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "InstanceUrl" // ], // "type": "object" // }, // "Slack": { // "properties": { // "InstanceUrl": { // "description": "The location of the Slack resource", // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "InstanceUrl" // ], // "type": "object" // }, // "Snowflake": { // "properties": { // "AccountName": { // "description": "The name of the account.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "BucketName": { // "description": "The name of the Amazon S3 bucket associated with Snow?ake.", // "maxLength": 63, // "minLength": 3, // "pattern": "\\S+", // "type": "string" // }, // "BucketPrefix": { // "description": "The bucket prefix that refers to the Amazon S3 bucket associated with Snow?ake.", // "maxLength": 128, // "type": "string" // }, // "PrivateLinkServiceName": { // "description": "The Snow?ake Private Link service name to be used for private data transfers.", // "maxLength": 512, // "pattern": "\\S+", // "type": "string" // }, // "Region": { // "description": "The region of the Snow?ake account.", // "maxLength": 64, // "pattern": "\\S+", // "type": "string" // }, // "Stage": { // "description": "The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the\nSnow?ake account. This is written in the following format: \u003c Database\u003e\u003c Schema\u003e\u003cStage Name\u003e.", // "maxLength": 16, // "pattern": "\\S+", // "type": "string" // }, // "Warehouse": { // "description": "The name of the Snow?ake warehouse.", // "maxLength": 512, // "pattern": "[\\s\\w/!@#+=.-]*", // "type": "string" // } // }, // "required": [ // "Warehouse", // "Stage", // "BucketName" // ], // "type": "object" // }, // "Veeva": { // "properties": { // "InstanceUrl": { // "description": "The location of the Veeva resource", // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "InstanceUrl" // ], // "type": "object" // }, // "Zendesk": { // "properties": { // "InstanceUrl": { // "description": "The location of the Zendesk resource", // "maxLength": 256, // "pattern": "\\S+", // "type": "string" // } // }, // "required": [ // "InstanceUrl" // ], // "type": "object" // } // }, // "type": "object" // } // }, // "required": [ // "ConnectorProfileCredentials" // ], // "type": "object" // } Description: "Connector specific configurations needed to create connector profile", Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "connector_profile_credentials": { // Property: ConnectorProfileCredentials Description: "Connector specific configuration needed to create connector profile based on Authentication mechanism", Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "amplitude": { // Property: Amplitude Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "api_key": { // Property: ApiKey Description: "A unique alphanumeric identi?er used to authenticate a user, developer, or calling program to your API.", Type: types.StringType, Computed: true, }, "secret_key": { // Property: SecretKey Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "datadog": { // Property: Datadog Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "api_key": { // Property: ApiKey Description: "A unique alphanumeric identi?er used to authenticate a user, developer, or calling program to your API.", Type: types.StringType, Computed: true, }, "application_key": { // Property: ApplicationKey Description: "Application keys, in conjunction with your API key, give you full access to Datadog?s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "dynatrace": { // Property: Dynatrace Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "api_token": { // Property: ApiToken Description: "The API tokens used by Dynatrace API to authenticate various API calls.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "google_analytics": { // Property: GoogleAnalytics Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "access_token": { // Property: AccessToken Description: "The credentials used to access protected resources.", Type: types.StringType, Computed: true, }, "client_id": { // Property: ClientId Description: "The identi?er for the desired client.", Type: types.StringType, Computed: true, }, "client_secret": { // Property: ClientSecret Description: "The client secret used by the oauth client to authenticate to the authorization server.", Type: types.StringType, Computed: true, }, "connector_o_auth_request": { // Property: ConnectorOAuthRequest Description: "The oauth needed to request security tokens from the connector endpoint.", Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "auth_code": { // Property: AuthCode Description: "The code provided by the connector when it has been authenticated via the connected app.", Type: types.StringType, Computed: true, }, "redirect_uri": { // Property: RedirectUri Description: "The URL to which the authentication server redirects the browser after authorization has been\ngranted.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "refresh_token": { // Property: RefreshToken Description: "The credentials used to acquire new access tokens.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "infor_nexus": { // Property: InforNexus Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "access_key_id": { // Property: AccessKeyId Description: "The Access Key portion of the credentials.", Type: types.StringType, Computed: true, }, "datakey": { // Property: Datakey Description: "The encryption keys used to encrypt data.", Type: types.StringType, Computed: true, }, "secret_access_key": { // Property: SecretAccessKey Description: "The secret key used to sign requests.", Type: types.StringType, Computed: true, }, "user_id": { // Property: UserId Description: "The identi?er for the user.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "marketo": { // Property: Marketo Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "access_token": { // Property: AccessToken Description: "The credentials used to access protected resources.", Type: types.StringType, Computed: true, }, "client_id": { // Property: ClientId Description: "The identi?er for the desired client.", Type: types.StringType, Computed: true, }, "client_secret": { // Property: ClientSecret Description: "The client secret used by the oauth client to authenticate to the authorization server.", Type: types.StringType, Computed: true, }, "connector_o_auth_request": { // Property: ConnectorOAuthRequest Description: "The oauth needed to request security tokens from the connector endpoint.", Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "auth_code": { // Property: AuthCode Description: "The code provided by the connector when it has been authenticated via the connected app.", Type: types.StringType, Computed: true, }, "redirect_uri": { // Property: RedirectUri Description: "The URL to which the authentication server redirects the browser after authorization has been\ngranted.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, }, ), Computed: true, }, "redshift": { // Property: Redshift Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "password": { // Property: Password Description: "The password that corresponds to the username.", Type: types.StringType, Computed: true, }, "username": { // Property: Username Description: "The name of the user.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "sapo_data": { // Property: SAPOData Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "basic_auth_credentials": { // Property: BasicAuthCredentials Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "password": { // Property: Password Description: "The password that corresponds to the username.", Type: types.StringType, Computed: true, }, "username": { // Property: Username Description: "The name of the user.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "o_auth_credentials": { // Property: OAuthCredentials Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "access_token": { // Property: AccessToken Type: types.StringType, Computed: true, }, "client_id": { // Property: ClientId Type: types.StringType, Computed: true, }, "client_secret": { // Property: ClientSecret Type: types.StringType, Computed: true, }, "connector_o_auth_request": { // Property: ConnectorOAuthRequest Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "auth_code": { // Property: AuthCode Description: "The code provided by the connector when it has been authenticated via the connected app.", Type: types.StringType, Computed: true, }, "redirect_uri": { // Property: RedirectUri Description: "The URL to which the authentication server redirects the browser after authorization has been\ngranted.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "refresh_token": { // Property: RefreshToken Type: types.StringType, Computed: true, }, }, ), Computed: true, }, }, ), Computed: true, }, "salesforce": { // Property: Salesforce Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "access_token": { // Property: AccessToken Description: "The credentials used to access protected resources.", Type: types.StringType, Computed: true, }, "client_credentials_arn": { // Property: ClientCredentialsArn Description: "The client credentials to fetch access token and refresh token.", Type: types.StringType, Computed: true, }, "connector_o_auth_request": { // Property: ConnectorOAuthRequest Description: "The oauth needed to request security tokens from the connector endpoint.", Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "auth_code": { // Property: AuthCode Description: "The code provided by the connector when it has been authenticated via the connected app.", Type: types.StringType, Computed: true, }, "redirect_uri": { // Property: RedirectUri Description: "The URL to which the authentication server redirects the browser after authorization has been\ngranted.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "refresh_token": { // Property: RefreshToken Description: "The credentials used to acquire new access tokens.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "service_now": { // Property: ServiceNow Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "password": { // Property: Password Description: "The password that corresponds to the username.", Type: types.StringType, Computed: true, }, "username": { // Property: Username Description: "The name of the user.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "singular": { // Property: Singular Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "api_key": { // Property: ApiKey Description: "A unique alphanumeric identi?er used to authenticate a user, developer, or calling program to your API.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "slack": { // Property: Slack Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "access_token": { // Property: AccessToken Description: "The credentials used to access protected resources.", Type: types.StringType, Computed: true, }, "client_id": { // Property: ClientId Description: "The identi?er for the desired client.", Type: types.StringType, Computed: true, }, "client_secret": { // Property: ClientSecret Description: "The client secret used by the oauth client to authenticate to the authorization server.", Type: types.StringType, Computed: true, }, "connector_o_auth_request": { // Property: ConnectorOAuthRequest Description: "The oauth needed to request security tokens from the connector endpoint.", Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "auth_code": { // Property: AuthCode Description: "The code provided by the connector when it has been authenticated via the connected app.", Type: types.StringType, Computed: true, }, "redirect_uri": { // Property: RedirectUri Description: "The URL to which the authentication server redirects the browser after authorization has been\ngranted.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, }, ), Computed: true, }, "snowflake": { // Property: Snowflake Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "password": { // Property: Password Description: "The password that corresponds to the username.", Type: types.StringType, Computed: true, }, "username": { // Property: Username Description: "The name of the user.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "trendmicro": { // Property: Trendmicro Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "api_secret_key": { // Property: ApiSecretKey Description: "The Secret Access Key portion of the credentials.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "veeva": { // Property: Veeva Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "password": { // Property: Password Description: "The password that corresponds to the username.", Type: types.StringType, Computed: true, }, "username": { // Property: Username Description: "The name of the user.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "zendesk": { // Property: Zendesk Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "access_token": { // Property: AccessToken Description: "The credentials used to access protected resources.", Type: types.StringType, Computed: true, }, "client_id": { // Property: ClientId Description: "The identi?er for the desired client.", Type: types.StringType, Computed: true, }, "client_secret": { // Property: ClientSecret Description: "The client secret used by the oauth client to authenticate to the authorization server.", Type: types.StringType, Computed: true, }, "connector_o_auth_request": { // Property: ConnectorOAuthRequest Description: "The oauth needed to request security tokens from the connector endpoint.", Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "auth_code": { // Property: AuthCode Description: "The code provided by the connector when it has been authenticated via the connected app.", Type: types.StringType, Computed: true, }, "redirect_uri": { // Property: RedirectUri Description: "The URL to which the authentication server redirects the browser after authorization has been\ngranted.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, }, ), Computed: true, }, }, ), Computed: true, }, "connector_profile_properties": { // Property: ConnectorProfileProperties Description: "Connector specific properties needed to create connector profile - currently not needed for Amplitude, Trendmicro, Googleanalytics and Singular", Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "datadog": { // Property: Datadog Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "instance_url": { // Property: InstanceUrl Description: "The location of the Datadog resource", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "dynatrace": { // Property: Dynatrace Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "instance_url": { // Property: InstanceUrl Description: "The location of the Dynatrace resource", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "infor_nexus": { // Property: InforNexus Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "instance_url": { // Property: InstanceUrl Description: "The location of the InforNexus resource", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "marketo": { // Property: Marketo Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "instance_url": { // Property: InstanceUrl Description: "The location of the Marketo resource", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "redshift": { // Property: Redshift Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "bucket_name": { // Property: BucketName Description: "The name of the Amazon S3 bucket associated with Redshift.", Type: types.StringType, Computed: true, }, "bucket_prefix": { // Property: BucketPrefix Description: "The object key for the destination bucket in which Amazon AppFlow will place the ?les.", Type: types.StringType, Computed: true, }, "database_url": { // Property: DatabaseUrl Description: "The JDBC URL of the Amazon Redshift cluster.", Type: types.StringType, Computed: true, }, "role_arn": { // Property: RoleArn Description: "The Amazon Resource Name (ARN) of the IAM role.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "sapo_data": { // Property: SAPOData Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "application_host_url": { // Property: ApplicationHostUrl Type: types.StringType, Computed: true, }, "application_service_path": { // Property: ApplicationServicePath Type: types.StringType, Computed: true, }, "client_number": { // Property: ClientNumber Type: types.StringType, Computed: true, }, "logon_language": { // Property: LogonLanguage Type: types.StringType, Computed: true, }, "o_auth_properties": { // Property: OAuthProperties Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "auth_code_url": { // Property: AuthCodeUrl Type: types.StringType, Computed: true, }, "o_auth_scopes": { // Property: OAuthScopes Type: types.ListType{ElemType: types.StringType}, Computed: true, }, "token_url": { // Property: TokenUrl Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "port_number": { // Property: PortNumber Type: types.Int64Type, Computed: true, }, "private_link_service_name": { // Property: PrivateLinkServiceName Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "salesforce": { // Property: Salesforce Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "instance_url": { // Property: InstanceUrl Description: "The location of the Salesforce resource", Type: types.StringType, Computed: true, }, "is_sandbox_environment": { // Property: isSandboxEnvironment Type: types.BoolType, Computed: true, }, }, ), Computed: true, }, "service_now": { // Property: ServiceNow Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "instance_url": { // Property: InstanceUrl Description: "The location of the ServiceNow resource", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "slack": { // Property: Slack Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "instance_url": { // Property: InstanceUrl Description: "The location of the Slack resource", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "snowflake": { // Property: Snowflake Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "account_name": { // Property: AccountName Description: "The name of the account.", Type: types.StringType, Computed: true, }, "bucket_name": { // Property: BucketName Description: "The name of the Amazon S3 bucket associated with Snow?ake.", Type: types.StringType, Computed: true, }, "bucket_prefix": { // Property: BucketPrefix Description: "The bucket prefix that refers to the Amazon S3 bucket associated with Snow?ake.", Type: types.StringType, Computed: true, }, "private_link_service_name": { // Property: PrivateLinkServiceName Description: "The Snow?ake Private Link service name to be used for private data transfers.", Type: types.StringType, Computed: true, }, "region": { // Property: Region Description: "The region of the Snow?ake account.", Type: types.StringType, Computed: true, }, "stage": { // Property: Stage Description: "The name of the Amazon S3 stage that was created while setting up an Amazon S3 stage in the\nSnow?ake account. This is written in the following format: < Database>< Schema>.", Type: types.StringType, Computed: true, }, "warehouse": { // Property: Warehouse Description: "The name of the Snow?ake warehouse.", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "veeva": { // Property: Veeva Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "instance_url": { // Property: InstanceUrl Description: "The location of the Veeva resource", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, "zendesk": { // Property: Zendesk Attributes: tfsdk.SingleNestedAttributes( map[string]tfsdk.Attribute{ "instance_url": { // Property: InstanceUrl Description: "The location of the Zendesk resource", Type: types.StringType, Computed: true, }, }, ), Computed: true, }, }, ), Computed: true, }, }, ), Computed: true, }, "connector_profile_name": { // Property: ConnectorProfileName // CloudFormation resource type schema: // { // "description": "The maximum number of items to retrieve in a single batch.", // "maxLength": 256, // "pattern": "[\\w/!@#+=.-]+", // "type": "string" // } Description: "The maximum number of items to retrieve in a single batch.", Type: types.StringType, Computed: true, }, "connector_type": { // Property: ConnectorType // CloudFormation resource type schema: // { // "description": "List of Saas providers that need connector profile to be created", // "enum": [ // "Salesforce", // "Singular", // "Slack", // "Redshift", // "Marketo", // "Googleanalytics", // "Zendesk", // "Servicenow", // "SAPOData", // "Datadog", // "Trendmicro", // "Snowflake", // "Dynatrace", // "Infornexus", // "Amplitude", // "Veeva" // ], // "type": "string" // } Description: "List of Saas providers that need connector profile to be created", Type: types.StringType, Computed: true, }, "credentials_arn": { // Property: CredentialsArn // CloudFormation resource type schema: // { // "description": "A unique Arn for Connector-Profile resource", // "maxLength": 512, // "pattern": "arn:aws:.*:.*:[0-9]+:.*", // "type": "string" // } Description: "A unique Arn for Connector-Profile resource", Type: types.StringType, Computed: true, }, "kms_arn": { // Property: KMSArn // CloudFormation resource type schema: // { // "description": "The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment variables. If it's not provided, AWS Lambda uses a default service key.", // "maxLength": 2048, // "minLength": 20, // "pattern": "arn:aws:kms:.*:[0-9]+:.*", // "type": "string" // } Description: "The ARN of the AWS Key Management Service (AWS KMS) key that's used to encrypt your function's environment variables. If it's not provided, AWS Lambda uses a default service key.", Type: types.StringType, Computed: true, }, } attributes["id"] = tfsdk.Attribute{ Description: "Uniquely identifies the resource.", Type: types.StringType, Required: true, } schema := tfsdk.Schema{ Description: "Data Source schema for AWS::AppFlow::ConnectorProfile", Version: 1, Attributes: attributes, } var opts DataSourceTypeOptions opts = opts.WithCloudFormationTypeName("AWS::AppFlow::ConnectorProfile").WithTerraformTypeName("awscc_appflow_connector_profile") opts = opts.WithTerraformSchema(schema) opts = opts.WithAttributeNameMap(map[string]string{ "access_key_id": "AccessKeyId", "access_token": "AccessToken", "account_name": "AccountName", "amplitude": "Amplitude", "api_key": "ApiKey", "api_secret_key": "ApiSecretKey", "api_token": "ApiToken", "application_host_url": "ApplicationHostUrl", "application_key": "ApplicationKey", "application_service_path": "ApplicationServicePath", "auth_code": "AuthCode", "auth_code_url": "AuthCodeUrl", "basic_auth_credentials": "BasicAuthCredentials", "bucket_name": "BucketName", "bucket_prefix": "BucketPrefix", "client_credentials_arn": "ClientCredentialsArn", "client_id": "ClientId", "client_number": "ClientNumber", "client_secret": "ClientSecret", "connection_mode": "ConnectionMode", "connector_o_auth_request": "ConnectorOAuthRequest", "connector_profile_arn": "ConnectorProfileArn", "connector_profile_config": "ConnectorProfileConfig", "connector_profile_credentials": "ConnectorProfileCredentials", "connector_profile_name": "ConnectorProfileName", "connector_profile_properties": "ConnectorProfileProperties", "connector_type": "ConnectorType", "credentials_arn": "CredentialsArn", "database_url": "DatabaseUrl", "datadog": "Datadog", "datakey": "Datakey", "dynatrace": "Dynatrace", "google_analytics": "GoogleAnalytics", "infor_nexus": "InforNexus", "instance_url": "InstanceUrl", "is_sandbox_environment": "isSandboxEnvironment", "kms_arn": "KMSArn", "logon_language": "LogonLanguage", "marketo": "Marketo", "o_auth_credentials": "OAuthCredentials", "o_auth_properties": "OAuthProperties", "o_auth_scopes": "OAuthScopes", "password": "Password", "port_number": "PortNumber", "private_link_service_name": "PrivateLinkServiceName", "redirect_uri": "RedirectUri", "redshift": "Redshift", "refresh_token": "RefreshToken", "region": "Region", "role_arn": "RoleArn", "salesforce": "Salesforce", "sapo_data": "SAPOData", "secret_access_key": "SecretAccessKey", "secret_key": "SecretKey", "service_now": "ServiceNow", "singular": "Singular", "slack": "Slack", "snowflake": "Snowflake", "stage": "Stage", "token_url": "TokenUrl", "trendmicro": "Trendmicro", "user_id": "UserId", "username": "Username", "veeva": "Veeva", "warehouse": "Warehouse", "zendesk": "Zendesk", }) singularDataSourceType, err := NewSingularDataSourceType(ctx, opts...) if err != nil { return nil, err } return singularDataSourceType, nil }