connector_profiles
Creates, updates, deletes or gets a connector_profile
resource or lists connector_profiles
in a region
Overview
Name | connector_profiles |
Type | Resource |
Description | Resource Type definition for AWS::AppFlow::ConnectorProfile |
Id | aws.appflow.connector_profiles |
Fields
Name | Datatype | Description |
---|---|---|
connector_profile_arn | string | Unique identifier for connector profile resources |
connector_label | string | The label of the connector. The label is unique for each ConnectorRegistration in your AWS account. Only needed if calling for CUSTOMCONNECTOR connector type/. |
connector_profile_name | string | The maximum number of items to retrieve in a single batch. |
kms_arn | string | 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. |
connector_type | string | List of Saas providers that need connector profile to be created |
connection_mode | string | Mode in which data transfer should be enabled. Private connection mode is currently enabled for Salesforce, Snowflake, Trendmicro and Singular |
connector_profile_config | object | Connector specific configurations needed to create connector profile |
credentials_arn | string | A unique Arn for Connector-Profile resource |
region | string | AWS region. |
Methods
Name | Accessible by | Required Params |
---|---|---|
create_resource | INSERT | ConnectorProfileName, ConnectionMode, ConnectorType, region |
delete_resource | DELETE | data__Identifier, region |
update_resource | UPDATE | data__Identifier, data__PatchDocument, region |
list_resources | SELECT | region |
get_resource | SELECT | data__Identifier, region |
SELECT
examples
Gets all connector_profiles
in a region.
SELECT
region,
connector_profile_arn,
connector_label,
connector_profile_name,
kms_arn,
connector_type,
connection_mode,
connector_profile_config,
credentials_arn
FROM aws.appflow.connector_profiles
WHERE region = 'us-east-1';
Gets all properties from an individual connector_profile
.
SELECT
region,
connector_profile_arn,
connector_label,
connector_profile_name,
kms_arn,
connector_type,
connection_mode,
connector_profile_config,
credentials_arn
FROM aws.appflow.connector_profiles
WHERE region = 'us-east-1' AND data__Identifier = '<ConnectorProfileName>';
INSERT
example
Use the following StackQL query and manifest file to create a new connector_profile
resource, using stack-deploy
.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO aws.appflow.connector_profiles (
ConnectorProfileName,
ConnectorType,
ConnectionMode,
region
)
SELECT
'{{ ConnectorProfileName }}',
'{{ ConnectorType }}',
'{{ ConnectionMode }}',
'{{ region }}';
/*+ create */
INSERT INTO aws.appflow.connector_profiles (
ConnectorLabel,
ConnectorProfileName,
KMSArn,
ConnectorType,
ConnectionMode,
ConnectorProfileConfig,
region
)
SELECT
'{{ ConnectorLabel }}',
'{{ ConnectorProfileName }}',
'{{ KMSArn }}',
'{{ ConnectorType }}',
'{{ ConnectionMode }}',
'{{ ConnectorProfileConfig }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: connector_profile
props:
- name: ConnectorLabel
value: '{{ ConnectorLabel }}'
- name: ConnectorProfileName
value: '{{ ConnectorProfileName }}'
- name: KMSArn
value: '{{ KMSArn }}'
- name: ConnectorType
value: '{{ ConnectorType }}'
- name: ConnectionMode
value: '{{ ConnectionMode }}'
- name: ConnectorProfileConfig
value:
ConnectorProfileProperties:
Datadog:
InstanceUrl: '{{ InstanceUrl }}'
Dynatrace:
InstanceUrl: null
InforNexus:
InstanceUrl: null
Marketo:
InstanceUrl: null
Redshift:
DatabaseUrl: '{{ DatabaseUrl }}'
BucketName: '{{ BucketName }}'
BucketPrefix: '{{ BucketPrefix }}'
RoleArn: '{{ RoleArn }}'
IsRedshiftServerless: '{{ IsRedshiftServerless }}'
DataApiRoleArn: '{{ DataApiRoleArn }}'
ClusterIdentifier: '{{ ClusterIdentifier }}'
WorkgroupName: '{{ WorkgroupName }}'
DatabaseName: '{{ DatabaseName }}'
SAPOData:
ApplicationHostUrl: '{{ ApplicationHostUrl }}'
ApplicationServicePath: '{{ ApplicationServicePath }}'
PortNumber: '{{ PortNumber }}'
ClientNumber: '{{ ClientNumber }}'
LogonLanguage: '{{ LogonLanguage }}'
PrivateLinkServiceName: '{{ PrivateLinkServiceName }}'
OAuthProperties:
AuthCodeUrl: '{{ AuthCodeUrl }}'
TokenUrl: '{{ TokenUrl }}'
OAuthScopes:
- '{{ OAuthScopes[0] }}'
DisableSSO: '{{ DisableSSO }}'
Salesforce:
InstanceUrl: null
isSandboxEnvironment: '{{ isSandboxEnvironment }}'
usePrivateLinkForMetadataAndAuthorization: '{{ usePrivateLinkForMetadataAndAuthorization }}'
Pardot:
InstanceUrl: null
IsSandboxEnvironment: '{{ IsSandboxEnvironment }}'
BusinessUnitId: '{{ BusinessUnitId }}'
ServiceNow:
InstanceUrl: null
Slack:
InstanceUrl: null
Snowflake:
Warehouse: '{{ Warehouse }}'
Stage: '{{ Stage }}'
BucketName: null
BucketPrefix: null
PrivateLinkServiceName: null
AccountName: '{{ AccountName }}'
Region: '{{ Region }}'
Veeva:
InstanceUrl: null
Zendesk:
InstanceUrl: null
CustomConnector:
ProfileProperties: {}
OAuth2Properties:
TokenUrl: '{{ TokenUrl }}'
OAuth2GrantType: '{{ OAuth2GrantType }}'
TokenUrlCustomProperties: {}
ConnectorProfileCredentials:
Amplitude:
ApiKey: '{{ ApiKey }}'
SecretKey: '{{ SecretKey }}'
Datadog:
ApiKey: null
ApplicationKey: '{{ ApplicationKey }}'
Dynatrace:
ApiToken: '{{ ApiToken }}'
GoogleAnalytics:
ClientId: '{{ ClientId }}'
ClientSecret: '{{ ClientSecret }}'
AccessToken: '{{ AccessToken }}'
RefreshToken: '{{ RefreshToken }}'
ConnectorOAuthRequest:
AuthCode: '{{ AuthCode }}'
RedirectUri: '{{ RedirectUri }}'
InforNexus:
AccessKeyId: '{{ AccessKeyId }}'
UserId: '{{ UserId }}'
SecretAccessKey: '{{ SecretAccessKey }}'
Datakey: null
Marketo:
ClientId: null
ClientSecret: null
AccessToken: null
ConnectorOAuthRequest: null
Redshift:
Username: null
Password: '{{ Password }}'
SAPOData:
BasicAuthCredentials:
Username: null
Password: null
OAuthCredentials:
AccessToken: null
RefreshToken: null
ConnectorOAuthRequest: null
ClientId: null
ClientSecret: null
Salesforce:
AccessToken: null
RefreshToken: null
ConnectorOAuthRequest: null
ClientCredentialsArn: '{{ ClientCredentialsArn }}'
OAuth2GrantType: null
JwtToken: '{{ JwtToken }}'
Pardot:
AccessToken: null
RefreshToken: null
ConnectorOAuthRequest: null
ClientCredentialsArn: null
ServiceNow:
Username: null
Password: null
OAuth2Credentials:
ClientId: null
ClientSecret: null
AccessToken: null
RefreshToken: null
OAuthRequest: null
Singular:
ApiKey: null
Slack:
ClientId: null
ClientSecret: null
AccessToken: null
ConnectorOAuthRequest: null
Snowflake:
Username: null
Password: null
Trendmicro:
ApiSecretKey: '{{ ApiSecretKey }}'
Veeva:
Username: null
Password: null
Zendesk:
ClientId: null
ClientSecret: null
AccessToken: null
ConnectorOAuthRequest: null
CustomConnector:
AuthenticationType: '{{ AuthenticationType }}'
Basic: null
Oauth2: null
ApiKey:
ApiKey: null
ApiSecretKey: null
Custom:
CustomAuthenticationType: '{{ CustomAuthenticationType }}'
CredentialsMap: {}
DELETE
example
/*+ delete */
DELETE FROM aws.appflow.connector_profiles
WHERE data__Identifier = '<ConnectorProfileName>'
AND region = 'us-east-1';
Permissions
To operate on the connector_profiles
resource, the following permissions are required:
Create
appflow:CreateConnectorProfile,
kms:ListKeys,
kms:DescribeKey,
kms:ListAliases,
kms:CreateGrant,
kms:ListGrants,
iam:PassRole,
secretsmanager:CreateSecret,
secretsmanager:GetSecretValue,
secretsmanager:PutResourcePolicy
Delete
appflow:DeleteConnectorProfile
List
appflow:DescribeConnectorProfiles
Read
appflow:DescribeConnectorProfiles
Update
appflow:UpdateConnectorProfile,
kms:ListKeys,
kms:DescribeKey,
kms:ListAliases,
kms:CreateGrant,
kms:ListGrants,
iam:PassRole,
secretsmanager:CreateSecret,
secretsmanager:GetSecretValue,
secretsmanager:PutResourcePolicy