Class: Aws::Appflow::Types::CreateFlowRequest

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 CreateFlowRequest data as a hash:

{
  flow_name: "FlowName", # required
  description: "FlowDescription",
  kms_arn: "KMSArn",
  trigger_config: { # required
    trigger_type: "Scheduled", # required, accepts Scheduled, Event, OnDemand
    trigger_properties: {
      scheduled: {
        schedule_expression: "ScheduleExpression", # required
        data_pull_mode: "Incremental", # accepts Incremental, Complete
        schedule_start_time: Time.now,
        schedule_end_time: Time.now,
        timezone: "Timezone",
        schedule_offset: 1,
        first_execution_from: Time.now,
        flow_error_deactivation_threshold: 1,
      },
    },
  },
  source_flow_config: { # required
    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
    api_version: "ApiVersion",
    connector_profile_name: "ConnectorProfileName",
    source_connector_properties: { # required
      amplitude: {
        object: "Object", # required
      },
      datadog: {
        object: "Object", # required
      },
      dynatrace: {
        object: "Object", # required
      },
      google_analytics: {
        object: "Object", # required
      },
      infor_nexus: {
        object: "Object", # required
      },
      marketo: {
        object: "Object", # required
      },
      s3: {
        bucket_name: "BucketName", # required
        bucket_prefix: "BucketPrefix",
        s3_input_format_config: {
          s3_input_file_type: "CSV", # accepts CSV, JSON
        },
      },
      salesforce: {
        object: "Object", # required
        enable_dynamic_field_update: false,
        include_deleted_records: false,
      },
      service_now: {
        object: "Object", # required
      },
      singular: {
        object: "Object", # required
      },
      slack: {
        object: "Object", # required
      },
      trendmicro: {
        object: "Object", # required
      },
      veeva: {
        object: "Object", # required
        document_type: "DocumentType",
        include_source_files: false,
        include_renditions: false,
        include_all_versions: false,
      },
      zendesk: {
        object: "Object", # required
      },
      sapo_data: {
        object_path: "Object",
      },
      custom_connector: {
        entity_name: "EntityName", # required
        custom_properties: {
          "CustomPropertyKey" => "CustomPropertyValue",
        },
      },
    },
    incremental_pull_config: {
      datetime_type_field_name: "DatetimeTypeFieldName",
    },
  },
  destination_flow_config_list: [ # required
    {
      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
      api_version: "ApiVersion",
      connector_profile_name: "ConnectorProfileName",
      destination_connector_properties: { # required
        redshift: {
          object: "Object", # required
          intermediate_bucket_name: "BucketName", # required
          bucket_prefix: "BucketPrefix",
          error_handling_config: {
            fail_on_first_destination_error: false,
            bucket_prefix: "BucketPrefix",
            bucket_name: "BucketName",
          },
        },
        s3: {
          bucket_name: "BucketName", # required
          bucket_prefix: "BucketPrefix",
          s3_output_format_config: {
            file_type: "CSV", # accepts CSV, JSON, PARQUET
            prefix_config: {
              prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
              prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
            },
            aggregation_config: {
              aggregation_type: "None", # accepts None, SingleFile
            },
            preserve_source_data_typing: false,
          },
        },
        salesforce: {
          object: "Object", # required
          id_field_names: ["Name"],
          error_handling_config: {
            fail_on_first_destination_error: false,
            bucket_prefix: "BucketPrefix",
            bucket_name: "BucketName",
          },
          write_operation_type: "INSERT", # accepts INSERT, UPSERT, UPDATE, DELETE
        },
        snowflake: {
          object: "Object", # required
          intermediate_bucket_name: "BucketName", # required
          bucket_prefix: "BucketPrefix",
          error_handling_config: {
            fail_on_first_destination_error: false,
            bucket_prefix: "BucketPrefix",
            bucket_name: "BucketName",
          },
        },
        event_bridge: {
          object: "Object", # required
          error_handling_config: {
            fail_on_first_destination_error: false,
            bucket_prefix: "BucketPrefix",
            bucket_name: "BucketName",
          },
        },
        lookout_metrics: {
        },
        upsolver: {
          bucket_name: "UpsolverBucketName", # required
          bucket_prefix: "BucketPrefix",
          s3_output_format_config: { # required
            file_type: "CSV", # accepts CSV, JSON, PARQUET
            prefix_config: { # required
              prefix_type: "FILENAME", # accepts FILENAME, PATH, PATH_AND_FILENAME
              prefix_format: "YEAR", # accepts YEAR, MONTH, DAY, HOUR, MINUTE
            },
            aggregation_config: {
              aggregation_type: "None", # accepts None, SingleFile
            },
          },
        },
        honeycode: {
          object: "Object", # required
          error_handling_config: {
            fail_on_first_destination_error: false,
            bucket_prefix: "BucketPrefix",
            bucket_name: "BucketName",
          },
        },
        customer_profiles: {
          domain_name: "DomainName", # required
          object_type_name: "ObjectTypeName",
        },
        zendesk: {
          object: "Object", # required
          id_field_names: ["Name"],
          error_handling_config: {
            fail_on_first_destination_error: false,
            bucket_prefix: "BucketPrefix",
            bucket_name: "BucketName",
          },
          write_operation_type: "INSERT", # accepts INSERT, UPSERT, UPDATE, DELETE
        },
        marketo: {
          object: "Object", # required
          error_handling_config: {
            fail_on_first_destination_error: false,
            bucket_prefix: "BucketPrefix",
            bucket_name: "BucketName",
          },
        },
        custom_connector: {
          entity_name: "EntityName", # required
          error_handling_config: {
            fail_on_first_destination_error: false,
            bucket_prefix: "BucketPrefix",
            bucket_name: "BucketName",
          },
          write_operation_type: "INSERT", # accepts INSERT, UPSERT, UPDATE, DELETE
          id_field_names: ["Name"],
          custom_properties: {
            "CustomPropertyKey" => "CustomPropertyValue",
          },
        },
        sapo_data: {
          object_path: "Object", # required
          success_response_handling_config: {
            bucket_prefix: "BucketPrefix",
            bucket_name: "BucketName",
          },
          id_field_names: ["Name"],
          error_handling_config: {
            fail_on_first_destination_error: false,
            bucket_prefix: "BucketPrefix",
            bucket_name: "BucketName",
          },
          write_operation_type: "INSERT", # accepts INSERT, UPSERT, UPDATE, DELETE
        },
      },
    },
  ],
  tasks: [ # required
    {
      source_fields: ["String"], # required
      connector_operator: {
        amplitude: "BETWEEN", # accepts BETWEEN
        datadog: "PROJECTION", # accepts PROJECTION, BETWEEN, EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
        dynatrace: "PROJECTION", # accepts PROJECTION, BETWEEN, EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
        google_analytics: "PROJECTION", # accepts PROJECTION, BETWEEN
        infor_nexus: "PROJECTION", # accepts PROJECTION, BETWEEN, EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
        marketo: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
        s3: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
        salesforce: "PROJECTION", # accepts PROJECTION, LESS_THAN, CONTAINS, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
        service_now: "PROJECTION", # accepts PROJECTION, CONTAINS, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
        singular: "PROJECTION", # accepts PROJECTION, EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
        slack: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
        trendmicro: "PROJECTION", # accepts PROJECTION, EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
        veeva: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, CONTAINS, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
        zendesk: "PROJECTION", # accepts PROJECTION, GREATER_THAN, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
        sapo_data: "PROJECTION", # accepts PROJECTION, LESS_THAN, CONTAINS, GREATER_THAN, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
        custom_connector: "PROJECTION", # accepts PROJECTION, LESS_THAN, GREATER_THAN, CONTAINS, BETWEEN, LESS_THAN_OR_EQUAL_TO, GREATER_THAN_OR_EQUAL_TO, EQUAL_TO, NOT_EQUAL_TO, ADDITION, MULTIPLICATION, DIVISION, SUBTRACTION, MASK_ALL, MASK_FIRST_N, MASK_LAST_N, VALIDATE_NON_NULL, VALIDATE_NON_ZERO, VALIDATE_NON_NEGATIVE, VALIDATE_NUMERIC, NO_OP
      },
      destination_field: "DestinationField",
      task_type: "Arithmetic", # required, accepts Arithmetic, Filter, Map, Map_all, Mask, Merge, Passthrough, Truncate, Validate
      task_properties: {
        "VALUE" => "Property",
      },
    },
  ],
  tags: {
    "TagKey" => "TagValue",
  },
}

Constant Summary collapse

SENSITIVE =
[]

Instance Attribute Summary collapse

Instance Attribute Details

#descriptionString

A description of the flow you want to create.

Returns:

  • (String)


2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
# File 'gems/aws-sdk-appflow/lib/aws-sdk-appflow/types.rb', line 2270

class CreateFlowRequest < Struct.new(
  :flow_name,
  :description,
  :kms_arn,
  :trigger_config,
  :source_flow_config,
  :destination_flow_config_list,
  :tasks,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#destination_flow_config_listArray<Types::DestinationFlowConfig>

The configuration that controls how Amazon AppFlow places data in the destination connector.

Returns:



2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
# File 'gems/aws-sdk-appflow/lib/aws-sdk-appflow/types.rb', line 2270

class CreateFlowRequest < Struct.new(
  :flow_name,
  :description,
  :kms_arn,
  :trigger_config,
  :source_flow_config,
  :destination_flow_config_list,
  :tasks,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#flow_nameString

The specified name of the flow. Spaces are not allowed. Use underscores (_) or hyphens (-) only.

Returns:

  • (String)


2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
# File 'gems/aws-sdk-appflow/lib/aws-sdk-appflow/types.rb', line 2270

class CreateFlowRequest < Struct.new(
  :flow_name,
  :description,
  :kms_arn,
  :trigger_config,
  :source_flow_config,
  :destination_flow_config_list,
  :tasks,
  :tags)
  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)


2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
# File 'gems/aws-sdk-appflow/lib/aws-sdk-appflow/types.rb', line 2270

class CreateFlowRequest < Struct.new(
  :flow_name,
  :description,
  :kms_arn,
  :trigger_config,
  :source_flow_config,
  :destination_flow_config_list,
  :tasks,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#source_flow_configTypes::SourceFlowConfig

The configuration that controls how Amazon AppFlow retrieves data from the source connector.



2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
# File 'gems/aws-sdk-appflow/lib/aws-sdk-appflow/types.rb', line 2270

class CreateFlowRequest < Struct.new(
  :flow_name,
  :description,
  :kms_arn,
  :trigger_config,
  :source_flow_config,
  :destination_flow_config_list,
  :tasks,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#tagsHash<String,String>

The tags used to organize, track, or control access for your flow.

Returns:

  • (Hash<String,String>)


2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
# File 'gems/aws-sdk-appflow/lib/aws-sdk-appflow/types.rb', line 2270

class CreateFlowRequest < Struct.new(
  :flow_name,
  :description,
  :kms_arn,
  :trigger_config,
  :source_flow_config,
  :destination_flow_config_list,
  :tasks,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#tasksArray<Types::Task>

A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.

Returns:



2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
# File 'gems/aws-sdk-appflow/lib/aws-sdk-appflow/types.rb', line 2270

class CreateFlowRequest < Struct.new(
  :flow_name,
  :description,
  :kms_arn,
  :trigger_config,
  :source_flow_config,
  :destination_flow_config_list,
  :tasks,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end

#trigger_configTypes::TriggerConfig

The trigger settings that determine how and when the flow runs.



2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
# File 'gems/aws-sdk-appflow/lib/aws-sdk-appflow/types.rb', line 2270

class CreateFlowRequest < Struct.new(
  :flow_name,
  :description,
  :kms_arn,
  :trigger_config,
  :source_flow_config,
  :destination_flow_config_list,
  :tasks,
  :tags)
  SENSITIVE = []
  include Aws::Structure
end