Class: Aws::Appflow::Types::CreateConnectorProfileRequest

Inherits:
Struct
  • Object
show all
Defined in:
gems/aws-sdk-appflow/lib/aws-sdk-appflow/types.rb

Overview

Note:

When making an API call, you may pass CreateConnectorProfileRequest data as a hash:

{
  connector_profile_name: "ConnectorProfileName", # required
  kms_arn: "KMSArn",
  connector_type: "Salesforce", # required, accepts Salesforce, Singular, Slack, Redshift, S3, Marketo, Googleanalytics, Zendesk, Servicenow, Datadog, Trendmicro, Snowflake, Dynatrace, Infornexus, Amplitude, Veeva, EventBridge, LookoutMetrics, Upsolver, Honeycode, CustomerProfiles, SAPOData, CustomConnector
  connector_label: "ConnectorLabel",
  connection_mode: "Public", # required, accepts Public, Private
  connector_profile_config: { # required
    connector_profile_properties: { # required
      amplitude: {
      },
      datadog: {
        instance_url: "InstanceUrl", # required
      },
      dynatrace: {
        instance_url: "InstanceUrl", # required
      },
      google_analytics: {
      },
      honeycode: {
      },
      infor_nexus: {
        instance_url: "InstanceUrl", # required
      },
      marketo: {
        instance_url: "InstanceUrl", # required
      },
      redshift: {
        database_url: "DatabaseUrl", # required
        bucket_name: "BucketName", # required
        bucket_prefix: "BucketPrefix",
        role_arn: "RoleArn", # required
      },
      salesforce: {
        instance_url: "InstanceUrl",
        is_sandbox_environment: false,
      },
      service_now: {
        instance_url: "InstanceUrl", # required
      },
      singular: {
      },
      slack: {
        instance_url: "InstanceUrl", # required
      },
      snowflake: {
        warehouse: "Warehouse", # required
        stage: "Stage", # required
        bucket_name: "BucketName", # required
        bucket_prefix: "BucketPrefix",
        private_link_service_name: "PrivateLinkServiceName",
        account_name: "AccountName",
        region: "Region",
      },
      trendmicro: {
      },
      veeva: {
        instance_url: "InstanceUrl", # required
      },
      zendesk: {
        instance_url: "InstanceUrl", # required
      },
      sapo_data: {
        application_host_url: "ApplicationHostUrl", # required
        application_service_path: "ApplicationServicePath", # required
        port_number: 1, # required
        client_number: "ClientNumber", # required
        logon_language: "LogonLanguage",
        private_link_service_name: "PrivateLinkServiceName",
        o_auth_properties: {
          token_url: "TokenUrl", # required
          auth_code_url: "AuthCodeUrl", # required
          o_auth_scopes: ["OAuthScope"], # required
        },
      },
      custom_connector: {
        profile_properties: {
          "ProfilePropertyKey" => "ProfilePropertyValue",
        },
        o_auth_2_properties: {
          token_url: "TokenUrl", # required
          o_auth_2_grant_type: "CLIENT_CREDENTIALS", # required, accepts CLIENT_CREDENTIALS, AUTHORIZATION_CODE
          token_url_custom_properties: {
            "CustomPropertyKey" => "CustomPropertyValue",
          },
        },
      },
    },
    connector_profile_credentials: { # required
      amplitude: {
        api_key: "ApiKey", # required
        secret_key: "SecretKey", # required
      },
      datadog: {
        api_key: "ApiKey", # required
        application_key: "ApplicationKey", # required
      },
      dynatrace: {
        api_token: "ApiToken", # required
      },
      google_analytics: {
        client_id: "ClientId", # required
        client_secret: "ClientSecret", # required
        access_token: "AccessToken",
        refresh_token: "RefreshToken",
        o_auth_request: {
          auth_code: "AuthCode",
          redirect_uri: "RedirectUri",
        },
      },
      honeycode: {
        access_token: "AccessToken",
        refresh_token: "RefreshToken",
        o_auth_request: {
          auth_code: "AuthCode",
          redirect_uri: "RedirectUri",
        },
      },
      infor_nexus: {
        access_key_id: "AccessKeyId", # required
        user_id: "Username", # required
        secret_access_key: "Key", # required
        datakey: "Key", # required
      },
      marketo: {
        client_id: "ClientId", # required
        client_secret: "ClientSecret", # required
        access_token: "AccessToken",
        o_auth_request: {
          auth_code: "AuthCode",
          redirect_uri: "RedirectUri",
        },
      },
      redshift: {
        username: "Username", # required
        password: "Password", # required
      },
      salesforce: {
        access_token: "AccessToken",
        refresh_token: "RefreshToken",
        o_auth_request: {
          auth_code: "AuthCode",
          redirect_uri: "RedirectUri",
        },
        client_credentials_arn: "ClientCredentialsArn",
      },
      service_now: {
        username: "Username", # required
        password: "Password", # required
      },
      singular: {
        api_key: "ApiKey", # required
      },
      slack: {
        client_id: "ClientId", # required
        client_secret: "ClientSecret", # required
        access_token: "AccessToken",
        o_auth_request: {
          auth_code: "AuthCode",
          redirect_uri: "RedirectUri",
        },
      },
      snowflake: {
        username: "Username", # required
        password: "Password", # required
      },
      trendmicro: {
        api_secret_key: "ApiSecretKey", # required
      },
      veeva: {
        username: "Username", # required
        password: "Password", # required
      },
      zendesk: {
        client_id: "ClientId", # required
        client_secret: "ClientSecret", # required
        access_token: "AccessToken",
        o_auth_request: {
          auth_code: "AuthCode",
          redirect_uri: "RedirectUri",
        },
      },
      sapo_data: {
        basic_auth_credentials: {
          username: "Username", # required
          password: "Password", # required
        },
        o_auth_credentials: {
          client_id: "ClientId", # required
          client_secret: "ClientSecret", # required
          access_token: "AccessToken",
          refresh_token: "RefreshToken",
          o_auth_request: {
            auth_code: "AuthCode",
            redirect_uri: "RedirectUri",
          },
        },
      },
      custom_connector: {
        authentication_type: "OAUTH2", # required, accepts OAUTH2, APIKEY, BASIC, CUSTOM
        basic: {
          username: "Username", # required
          password: "Password", # required
        },
        oauth2: {
          client_id: "ClientId",
          client_secret: "ClientSecret",
          access_token: "AccessToken",
          refresh_token: "RefreshToken",
          o_auth_request: {
            auth_code: "AuthCode",
            redirect_uri: "RedirectUri",
          },
        },
        api_key: {
          api_key: "ApiKey", # required
          api_secret_key: "ApiSecretKey",
        },
        custom: {
          custom_authentication_type: "CustomAuthenticationType", # required
          credentials_map: {
            "CredentialsMapKey" => "CredentialsMapValue",
          },
        },
      },
    },
  },
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#connection_modeString

Indicates the connection mode and specifies whether it is public or private. Private flows use Amazon Web Services PrivateLink to route data over Amazon Web Services infrastructure without exposing it to the public internet.

Returns:

  • (String)


1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
# File 'gems/aws-sdk-appflow/lib/aws-sdk-appflow/types.rb', line 1944

class CreateConnectorProfileRequest < Struct.new(
  :connector_profile_name,
  :kms_arn,
  :connector_type,
  :connector_label,
  :connection_mode,
  :connector_profile_config)
  SENSITIVE = []
  include Aws::Structure
end

#connector_labelString

The label of the connector. The label is unique for each ConnectorRegistration in your Amazon Web Services account. Only needed if calling for CUSTOMCONNECTOR connector type/.

Returns:

  • (String)


1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
# File 'gems/aws-sdk-appflow/lib/aws-sdk-appflow/types.rb', line 1944

class CreateConnectorProfileRequest < Struct.new(
  :connector_profile_name,
  :kms_arn,
  :connector_type,
  :connector_label,
  :connection_mode,
  :connector_profile_config)
  SENSITIVE = []
  include Aws::Structure
end

#connector_profile_configTypes::ConnectorProfileConfig

Defines the connector-specific configuration and credentials.



1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
# File 'gems/aws-sdk-appflow/lib/aws-sdk-appflow/types.rb', line 1944

class CreateConnectorProfileRequest < Struct.new(
  :connector_profile_name,
  :kms_arn,
  :connector_type,
  :connector_label,
  :connection_mode,
  :connector_profile_config)
  SENSITIVE = []
  include Aws::Structure
end

#connector_profile_nameString

The name of the connector profile. The name is unique for each ConnectorProfile in your Amazon Web Services account.

Returns:

  • (String)


1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
# File 'gems/aws-sdk-appflow/lib/aws-sdk-appflow/types.rb', line 1944

class CreateConnectorProfileRequest < Struct.new(
  :connector_profile_name,
  :kms_arn,
  :connector_type,
  :connector_label,
  :connection_mode,
  :connector_profile_config)
  SENSITIVE = []
  include Aws::Structure
end

#connector_typeString

The type of connector, such as Salesforce, Amplitude, and so on.

Returns:

  • (String)


1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
# File 'gems/aws-sdk-appflow/lib/aws-sdk-appflow/types.rb', line 1944

class CreateConnectorProfileRequest < Struct.new(
  :connector_profile_name,
  :kms_arn,
  :connector_type,
  :connector_label,
  :connection_mode,
  :connector_profile_config)
  SENSITIVE = []
  include Aws::Structure
end

#kms_arnString

The ARN (Amazon Resource Name) of the Key Management Service (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.

Returns:

  • (String)


1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
# File 'gems/aws-sdk-appflow/lib/aws-sdk-appflow/types.rb', line 1944

class CreateConnectorProfileRequest < Struct.new(
  :connector_profile_name,
  :kms_arn,
  :connector_type,
  :connector_label,
  :connection_mode,
  :connector_profile_config)
  SENSITIVE = []
  include Aws::Structure
end