Class: Aws::Glue::Types::CreateJobRequest

Inherits:
Struct
  • Object
show all
Includes:
Structure
Defined in:
lib/aws-sdk-glue/types.rb

Overview

Note:

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

{
  name: "NameString", # required
  description: "DescriptionString",
  log_uri: "UriString",
  role: "RoleString", # required
  execution_property: {
    max_concurrent_runs: 1,
  },
  command: { # required
    name: "GenericString",
    script_location: "ScriptLocationString",
    python_version: "PythonVersionString",
  },
  default_arguments: {
    "GenericString" => "GenericString",
  },
  non_overridable_arguments: {
    "GenericString" => "GenericString",
  },
  connections: {
    connections: ["GenericString"],
  },
  max_retries: 1,
  allocated_capacity: 1,
  timeout: 1,
  max_capacity: 1.0,
  security_configuration: "NameString",
  tags: {
    "TagKey" => "TagValue",
  },
  notification_property: {
    notify_delay_after: 1,
  },
  glue_version: "GlueVersionString",
  number_of_workers: 1,
  worker_type: "Standard", # accepts Standard, G.1X, G.2X, G.025X
  code_gen_configuration_nodes: {
    "NodeId" => {
      athena_connector_source: {
        name: "NodeName", # required
        connection_name: "EnclosedInStringProperty", # required
        connector_name: "EnclosedInStringProperty", # required
        connection_type: "EnclosedInStringProperty", # required
        connection_table: "EnclosedInStringPropertyWithQuote",
        schema_name: "EnclosedInStringProperty", # required
        output_schemas: [
          {
            columns: [
              {
                name: "GlueStudioColumnNameString", # required
                type: "ColumnTypeString",
              },
            ],
          },
        ],
      },
      jdbc_connector_source: {
        name: "NodeName", # required
        connection_name: "EnclosedInStringProperty", # required
        connector_name: "EnclosedInStringProperty", # required
        connection_type: "EnclosedInStringProperty", # required
        additional_options: {
          filter_predicate: "EnclosedInStringProperty",
          partition_column: "EnclosedInStringProperty",
          lower_bound: 1,
          upper_bound: 1,
          num_partitions: 1,
          job_bookmark_keys: ["EnclosedInStringProperty"],
          job_bookmark_keys_sort_order: "EnclosedInStringProperty",
          data_type_mapping: {
            "ARRAY" => "DATE", # accepts DATE, STRING, TIMESTAMP, INT, FLOAT, LONG, BIGDECIMAL, BYTE, SHORT, DOUBLE
          },
        },
        connection_table: "EnclosedInStringPropertyWithQuote",
        query: "SqlQuery",
        output_schemas: [
          {
            columns: [
              {
                name: "GlueStudioColumnNameString", # required
                type: "ColumnTypeString",
              },
            ],
          },
        ],
      },
      spark_connector_source: {
        name: "NodeName", # required
        connection_name: "EnclosedInStringProperty", # required
        connector_name: "EnclosedInStringProperty", # required
        connection_type: "EnclosedInStringProperty", # required
        additional_options: {
          "EnclosedInStringProperty" => "EnclosedInStringProperty",
        },
        output_schemas: [
          {
            columns: [
              {
                name: "GlueStudioColumnNameString", # required
                type: "ColumnTypeString",
              },
            ],
          },
        ],
      },
      catalog_source: {
        name: "NodeName", # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
      },
      redshift_source: {
        name: "NodeName", # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
        redshift_tmp_dir: "EnclosedInStringProperty",
        tmp_dir_iam_role: "EnclosedInStringProperty",
      },
      s3_catalog_source: {
        name: "NodeName", # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
        partition_predicate: "EnclosedInStringProperty",
        additional_options: {
          bounded_size: 1,
          bounded_files: 1,
        },
      },
      s3_csv_source: {
        name: "NodeName", # required
        paths: ["EnclosedInStringProperty"], # required
        compression_type: "gzip", # accepts gzip, bzip2
        exclusions: ["EnclosedInStringProperty"],
        group_size: "EnclosedInStringProperty",
        group_files: "EnclosedInStringProperty",
        recurse: false,
        max_band: 1,
        max_files_in_band: 1,
        additional_options: {
          bounded_size: 1,
          bounded_files: 1,
          enable_sample_path: false,
          sample_path: "EnclosedInStringProperty",
        },
        separator: "comma", # required, accepts comma, ctrla, pipe, semicolon, tab
        escaper: "EnclosedInStringPropertyWithQuote",
        quote_char: "quote", # required, accepts quote, quillemet, single_quote, disabled
        multiline: false,
        with_header: false,
        write_header: false,
        skip_first: false,
        optimize_performance: false,
        output_schemas: [
          {
            columns: [
              {
                name: "GlueStudioColumnNameString", # required
                type: "ColumnTypeString",
              },
            ],
          },
        ],
      },
      s3_json_source: {
        name: "NodeName", # required
        paths: ["EnclosedInStringProperty"], # required
        compression_type: "gzip", # accepts gzip, bzip2
        exclusions: ["EnclosedInStringProperty"],
        group_size: "EnclosedInStringProperty",
        group_files: "EnclosedInStringProperty",
        recurse: false,
        max_band: 1,
        max_files_in_band: 1,
        additional_options: {
          bounded_size: 1,
          bounded_files: 1,
          enable_sample_path: false,
          sample_path: "EnclosedInStringProperty",
        },
        json_path: "EnclosedInStringProperty",
        multiline: false,
        output_schemas: [
          {
            columns: [
              {
                name: "GlueStudioColumnNameString", # required
                type: "ColumnTypeString",
              },
            ],
          },
        ],
      },
      s3_parquet_source: {
        name: "NodeName", # required
        paths: ["EnclosedInStringProperty"], # required
        compression_type: "snappy", # accepts snappy, lzo, gzip, uncompressed, none
        exclusions: ["EnclosedInStringProperty"],
        group_size: "EnclosedInStringProperty",
        group_files: "EnclosedInStringProperty",
        recurse: false,
        max_band: 1,
        max_files_in_band: 1,
        additional_options: {
          bounded_size: 1,
          bounded_files: 1,
          enable_sample_path: false,
          sample_path: "EnclosedInStringProperty",
        },
        output_schemas: [
          {
            columns: [
              {
                name: "GlueStudioColumnNameString", # required
                type: "ColumnTypeString",
              },
            ],
          },
        ],
      },
      relational_catalog_source: {
        name: "NodeName", # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
      },
      dynamo_db_catalog_source: {
        name: "NodeName", # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
      },
      jdbc_connector_target: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        connection_name: "EnclosedInStringProperty", # required
        connection_table: "EnclosedInStringPropertyWithQuote", # required
        connector_name: "EnclosedInStringProperty", # required
        connection_type: "EnclosedInStringProperty", # required
        additional_options: {
          "EnclosedInStringProperty" => "EnclosedInStringProperty",
        },
        output_schemas: [
          {
            columns: [
              {
                name: "GlueStudioColumnNameString", # required
                type: "ColumnTypeString",
              },
            ],
          },
        ],
      },
      spark_connector_target: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        connection_name: "EnclosedInStringProperty", # required
        connector_name: "EnclosedInStringProperty", # required
        connection_type: "EnclosedInStringProperty", # required
        additional_options: {
          "EnclosedInStringProperty" => "EnclosedInStringProperty",
        },
        output_schemas: [
          {
            columns: [
              {
                name: "GlueStudioColumnNameString", # required
                type: "ColumnTypeString",
              },
            ],
          },
        ],
      },
      catalog_target: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
      },
      redshift_target: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
        redshift_tmp_dir: "EnclosedInStringProperty",
        tmp_dir_iam_role: "EnclosedInStringProperty",
        upsert_redshift_options: {
          table_location: "EnclosedInStringProperty",
          connection_name: "EnclosedInStringProperty",
          upsert_keys: ["EnclosedInStringProperty"],
        },
      },
      s3_catalog_target: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        partition_keys: [
          ["EnclosedInStringProperty"],
        ],
        table: "EnclosedInStringProperty", # required
        database: "EnclosedInStringProperty", # required
        schema_change_policy: {
          enable_update_catalog: false,
          update_behavior: "UPDATE_IN_DATABASE", # accepts UPDATE_IN_DATABASE, LOG
        },
      },
      s3_glue_parquet_target: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        partition_keys: [
          ["EnclosedInStringProperty"],
        ],
        path: "EnclosedInStringProperty", # required
        compression: "snappy", # accepts snappy, lzo, gzip, uncompressed, none
        schema_change_policy: {
          enable_update_catalog: false,
          update_behavior: "UPDATE_IN_DATABASE", # accepts UPDATE_IN_DATABASE, LOG
          table: "EnclosedInStringProperty",
          database: "EnclosedInStringProperty",
        },
      },
      s3_direct_target: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        partition_keys: [
          ["EnclosedInStringProperty"],
        ],
        path: "EnclosedInStringProperty", # required
        compression: "EnclosedInStringProperty",
        format: "json", # required, accepts json, csv, avro, orc, parquet
        schema_change_policy: {
          enable_update_catalog: false,
          update_behavior: "UPDATE_IN_DATABASE", # accepts UPDATE_IN_DATABASE, LOG
          table: "EnclosedInStringProperty",
          database: "EnclosedInStringProperty",
        },
      },
      apply_mapping: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        mapping: [ # required
          {
            to_key: "EnclosedInStringProperty",
            from_path: ["EnclosedInStringProperty"],
            from_type: "EnclosedInStringProperty",
            to_type: "EnclosedInStringProperty",
            dropped: false,
            children: {
              # recursive Mappings
            },
          },
        ],
      },
      select_fields: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        paths: [ # required
          ["EnclosedInStringProperty"],
        ],
      },
      drop_fields: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        paths: [ # required
          ["EnclosedInStringProperty"],
        ],
      },
      rename_field: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        source_path: ["EnclosedInStringProperty"], # required
        target_path: ["EnclosedInStringProperty"], # required
      },
      spigot: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        path: "EnclosedInStringProperty", # required
        topk: 1,
        prob: 1.0,
      },
      join: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        join_type: "equijoin", # required, accepts equijoin, left, right, outer, leftsemi, leftanti
        columns: [ # required
          {
            from: "EnclosedInStringProperty", # required
            keys: [ # required
              ["EnclosedInStringProperty"],
            ],
          },
        ],
      },
      split_fields: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        paths: [ # required
          ["EnclosedInStringProperty"],
        ],
      },
      select_from_collection: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        index: 1, # required
      },
      fill_missing_values: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        imputed_path: "EnclosedInStringProperty", # required
        filled_path: "EnclosedInStringProperty",
      },
      filter: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        logical_operator: "AND", # required, accepts AND, OR
        filters: [ # required
          {
            operation: "EQ", # required, accepts EQ, LT, GT, LTE, GTE, REGEX, ISNULL
            negated: false,
            values: [ # required
              {
                type: "COLUMNEXTRACTED", # required, accepts COLUMNEXTRACTED, CONSTANT
                value: ["EnclosedInStringProperty"], # required
              },
            ],
          },
        ],
      },
      custom_code: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        code: "ExtendedString", # required
        class_name: "EnclosedInStringProperty", # required
        output_schemas: [
          {
            columns: [
              {
                name: "GlueStudioColumnNameString", # required
                type: "ColumnTypeString",
              },
            ],
          },
        ],
      },
      spark_sql: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        sql_query: "SqlQuery", # required
        sql_aliases: [ # required
          {
            from: "NodeId", # required
            alias: "EnclosedInStringPropertyWithQuote", # required
          },
        ],
        output_schemas: [
          {
            columns: [
              {
                name: "GlueStudioColumnNameString", # required
                type: "ColumnTypeString",
              },
            ],
          },
        ],
      },
      direct_kinesis_source: {
        name: "NodeName", # required
        window_size: 1,
        detect_schema: false,
        streaming_options: {
          endpoint_url: "EnclosedInStringProperty",
          stream_name: "EnclosedInStringProperty",
          classification: "EnclosedInStringProperty",
          delimiter: "EnclosedInStringProperty",
          starting_position: "latest", # accepts latest, trim_horizon, earliest
          max_fetch_time_in_ms: 1,
          max_fetch_records_per_shard: 1,
          max_record_per_read: 1,
          add_idle_time_between_reads: false,
          idle_time_between_reads_in_ms: 1,
          describe_shard_interval: 1,
          num_retries: 1,
          retry_interval_ms: 1,
          max_retry_interval_ms: 1,
          avoid_empty_batches: false,
          stream_arn: "EnclosedInStringProperty",
          role_arn: "EnclosedInStringProperty",
          role_session_name: "EnclosedInStringProperty",
        },
        data_preview_options: {
          polling_time: 1,
          record_polling_limit: 1,
        },
      },
      direct_kafka_source: {
        name: "NodeName", # required
        streaming_options: {
          bootstrap_servers: "EnclosedInStringProperty",
          security_protocol: "EnclosedInStringProperty",
          connection_name: "EnclosedInStringProperty",
          topic_name: "EnclosedInStringProperty",
          assign: "EnclosedInStringProperty",
          subscribe_pattern: "EnclosedInStringProperty",
          classification: "EnclosedInStringProperty",
          delimiter: "EnclosedInStringProperty",
          starting_offsets: "EnclosedInStringProperty",
          ending_offsets: "EnclosedInStringProperty",
          poll_timeout_ms: 1,
          num_retries: 1,
          retry_interval_ms: 1,
          max_offsets_per_trigger: 1,
          min_partitions: 1,
        },
        window_size: 1,
        detect_schema: false,
        data_preview_options: {
          polling_time: 1,
          record_polling_limit: 1,
        },
      },
      catalog_kinesis_source: {
        name: "NodeName", # required
        window_size: 1,
        detect_schema: false,
        table: "EnclosedInStringProperty", # required
        database: "EnclosedInStringProperty", # required
        streaming_options: {
          endpoint_url: "EnclosedInStringProperty",
          stream_name: "EnclosedInStringProperty",
          classification: "EnclosedInStringProperty",
          delimiter: "EnclosedInStringProperty",
          starting_position: "latest", # accepts latest, trim_horizon, earliest
          max_fetch_time_in_ms: 1,
          max_fetch_records_per_shard: 1,
          max_record_per_read: 1,
          add_idle_time_between_reads: false,
          idle_time_between_reads_in_ms: 1,
          describe_shard_interval: 1,
          num_retries: 1,
          retry_interval_ms: 1,
          max_retry_interval_ms: 1,
          avoid_empty_batches: false,
          stream_arn: "EnclosedInStringProperty",
          role_arn: "EnclosedInStringProperty",
          role_session_name: "EnclosedInStringProperty",
        },
        data_preview_options: {
          polling_time: 1,
          record_polling_limit: 1,
        },
      },
      catalog_kafka_source: {
        name: "NodeName", # required
        window_size: 1,
        detect_schema: false,
        table: "EnclosedInStringProperty", # required
        database: "EnclosedInStringProperty", # required
        streaming_options: {
          bootstrap_servers: "EnclosedInStringProperty",
          security_protocol: "EnclosedInStringProperty",
          connection_name: "EnclosedInStringProperty",
          topic_name: "EnclosedInStringProperty",
          assign: "EnclosedInStringProperty",
          subscribe_pattern: "EnclosedInStringProperty",
          classification: "EnclosedInStringProperty",
          delimiter: "EnclosedInStringProperty",
          starting_offsets: "EnclosedInStringProperty",
          ending_offsets: "EnclosedInStringProperty",
          poll_timeout_ms: 1,
          num_retries: 1,
          retry_interval_ms: 1,
          max_offsets_per_trigger: 1,
          min_partitions: 1,
        },
        data_preview_options: {
          polling_time: 1,
          record_polling_limit: 1,
        },
      },
      drop_null_fields: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        null_check_box_list: {
          is_empty: false,
          is_null_string: false,
          is_neg_one: false,
        },
        null_text_list: [
          {
            value: "EnclosedInStringProperty", # required
            datatype: { # required
              id: "GenericLimitedString", # required
              label: "GenericLimitedString", # required
            },
          },
        ],
      },
      merge: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        source: "NodeId", # required
        primary_keys: [ # required
          ["EnclosedInStringProperty"],
        ],
      },
      union: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        union_type: "ALL", # required, accepts ALL, DISTINCT
      },
      pii_detection: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        pii_type: "RowAudit", # required, accepts RowAudit, RowMasking, ColumnAudit, ColumnMasking
        entity_types_to_detect: ["EnclosedInStringProperty"], # required
        output_column_name: "EnclosedInStringProperty",
        sample_fraction: 1.0,
        threshold_fraction: 1.0,
        mask_value: "MaskValue",
      },
      aggregate: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        groups: [ # required
          ["EnclosedInStringProperty"],
        ],
        aggs: [ # required
          {
            column: ["EnclosedInStringProperty"], # required
            agg_func: "avg", # required, accepts avg, countDistinct, count, first, last, kurtosis, max, min, skewness, stddev_samp, stddev_pop, sum, sumDistinct, var_samp, var_pop
          },
        ],
      },
      drop_duplicates: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        columns: [
          ["GenericLimitedString"],
        ],
      },
      governed_catalog_target: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        partition_keys: [
          ["EnclosedInStringProperty"],
        ],
        table: "EnclosedInStringProperty", # required
        database: "EnclosedInStringProperty", # required
        schema_change_policy: {
          enable_update_catalog: false,
          update_behavior: "UPDATE_IN_DATABASE", # accepts UPDATE_IN_DATABASE, LOG
        },
      },
      governed_catalog_source: {
        name: "NodeName", # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
        partition_predicate: "EnclosedInStringProperty",
        additional_options: {
          bounded_size: 1,
          bounded_files: 1,
        },
      },
      microsoft_sql_server_catalog_source: {
        name: "NodeName", # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
      },
      my_sql_catalog_source: {
        name: "NodeName", # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
      },
      oracle_sql_catalog_source: {
        name: "NodeName", # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
      },
      postgre_sql_catalog_source: {
        name: "NodeName", # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
      },
      microsoft_sql_server_catalog_target: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
      },
      my_sql_catalog_target: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
      },
      oracle_sql_catalog_target: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
      },
      postgre_sql_catalog_target: {
        name: "NodeName", # required
        inputs: ["NodeId"], # required
        database: "EnclosedInStringProperty", # required
        table: "EnclosedInStringProperty", # required
      },
    },
  },
  execution_class: "FLEX", # accepts FLEX, STANDARD
  source_control_details: {
    provider: "GITHUB", # accepts GITHUB, AWS_CODE_COMMIT
    repository: "Generic512CharString",
    owner: "Generic512CharString",
    branch: "Generic512CharString",
    folder: "Generic512CharString",
    last_commit_id: "Generic512CharString",
    auth_strategy: "PERSONAL_ACCESS_TOKEN", # accepts PERSONAL_ACCESS_TOKEN, AWS_SECRETS_MANAGER
    auth_token: "Generic512CharString",
  },
}

Constant Summary collapse

SENSITIVE =
[:code_gen_configuration_nodes]

Instance Attribute Summary collapse

Instance Attribute Details

#allocated_capacityInteger

This parameter is deprecated. Use `MaxCapacity` instead.

The number of Glue data processing units (DPUs) to allocate to this Job. You can allocate a minimum of 2 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the [Glue pricing page].

[1]: aws.amazon.com/glue/pricing/

Returns:

  • (Integer)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#code_gen_configuration_nodesHash<String,Types::CodeGenConfigurationNode>

The representation of a directed acyclic graph on which both the Glue Studio visual component and Glue Studio code generation is based.

Returns:



6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#commandTypes::JobCommand

The `JobCommand` that runs this job.

Returns:



6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#connectionsTypes::ConnectionsList

The connections used for this job.



6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#default_argumentsHash<String,String>

The default arguments for this job.

You can specify arguments here that your own job-execution script consumes, as well as arguments that Glue itself consumes.

Job arguments may be logged. Do not pass plaintext secrets as arguments. Retrieve secrets from a Glue Connection, Secrets Manager or other secret management mechanism if you intend to keep them within the Job.

For information about how to specify and consume your own Job arguments, see the [Calling Glue APIs in Python] topic in the developer guide.

For information about the key-value pairs that Glue consumes to set up your job, see the [Special Parameters Used by Glue] topic in the developer guide.

[1]: docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html [2]: docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html

Returns:

  • (Hash<String,String>)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#descriptionString

Description of the job being defined.

Returns:

  • (String)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#execution_classString

Indicates whether the job is run with a standard or flexible execution class. The standard execution-class is ideal for time-sensitive workloads that require fast job startup and dedicated resources.

The flexible execution class is appropriate for time-insensitive jobs whose start and completion times may vary.

Only jobs with Glue version 3.0 and above and command type `glueetl` will be allowed to set `ExecutionClass` to `FLEX`. The flexible execution class is available for Spark jobs.

Returns:

  • (String)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#execution_propertyTypes::ExecutionProperty

An `ExecutionProperty` specifying the maximum number of concurrent runs allowed for this job.



6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#glue_versionString

Glue version determines the versions of Apache Spark and Python that Glue supports. The Python version indicates the version supported for jobs of type Spark.

For more information about the available Glue versions and corresponding Spark and Python versions, see [Glue version] in the developer guide.

Jobs that are created without specifying a Glue version default to Glue 0.9.

[1]: docs.aws.amazon.com/glue/latest/dg/add-job.html

Returns:

  • (String)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#log_uriString

This field is reserved for future use.

Returns:

  • (String)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#max_capacityFloat

For Glue version 1.0 or earlier jobs, using the standard worker type, the number of Glue data processing units (DPUs) that can be allocated when this job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the [Glue pricing page].

Do not set `Max Capacity` if using `WorkerType` and `NumberOfWorkers`.

The value that can be allocated for `MaxCapacity` depends on whether you are running a Python shell job or an Apache Spark ETL job:

  • When you specify a Python shell job (`JobCommand.Name`=“pythonshell”), you can allocate either 0.0625 or 1 DPU. The default is 0.0625 DPU.

  • When you specify an Apache Spark ETL job (`JobCommand.Name`=“glueetl”) or Apache Spark streaming ETL job (`JobCommand.Name`=“gluestreaming”), you can allocate a minimum of 2 DPUs. The default is 10 DPUs. This job type cannot have a fractional DPU allocation.

For Glue version 2.0 jobs, you cannot instead specify a `Maximum capacity`. Instead, you should specify a `Worker type` and the `Number of workers`.

[1]: aws.amazon.com/glue/pricing/

Returns:

  • (Float)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#max_retriesInteger

The maximum number of times to retry this job if it fails.

Returns:

  • (Integer)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#nameString

The name you assign to this job definition. It must be unique in your account.

Returns:

  • (String)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#non_overridable_argumentsHash<String,String>

Non-overridable arguments for this job, specified as name-value pairs.

Returns:

  • (Hash<String,String>)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#notification_propertyTypes::NotificationProperty

Specifies configuration properties of a job notification.



6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#number_of_workersInteger

The number of workers of a defined `workerType` that are allocated when a job runs.

Returns:

  • (Integer)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#roleString

The name or Amazon Resource Name (ARN) of the IAM role associated with this job.

Returns:

  • (String)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#security_configurationString

The name of the `SecurityConfiguration` structure to be used with this job.

Returns:

  • (String)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#source_control_detailsTypes::SourceControlDetails

The details for a source control configuration for a job, allowing synchronization of job artifacts to or from a remote repository.



6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#tagsHash<String,String>

The tags to use with this job. You may use tags to limit access to the job. For more information about tags in Glue, see [Amazon Web Services Tags in Glue] in the developer guide.

[1]: docs.aws.amazon.com/glue/latest/dg/monitor-tags.html

Returns:

  • (Hash<String,String>)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#timeoutInteger

The job timeout in minutes. This is the maximum time that a job run can consume resources before it is terminated and enters `TIMEOUT` status. The default is 2,880 minutes (48 hours).

Returns:

  • (Integer)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end

#worker_typeString

The type of predefined worker that is allocated when a job runs. Accepts a value of Standard, G.1X, G.2X, or G.025X.

  • For the `Standard` worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.

  • For the `G.1X` worker type, each worker maps to 1 DPU (4 vCPU, 16 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

  • For the `G.2X` worker type, each worker maps to 2 DPU (8 vCPU, 32 GB of memory, 128 GB disk), and provides 1 executor per worker. We recommend this worker type for memory-intensive jobs.

  • For the `G.025X` worker type, each worker maps to 0.25 DPU (2 vCPU, 4 GB of memory, 64 GB disk), and provides 1 executor per worker. We recommend this worker type for low volume streaming jobs. This worker type is only available for Glue version 3.0 streaming jobs.

Returns:

  • (String)


6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
# File 'lib/aws-sdk-glue/types.rb', line 6345

class CreateJobRequest < Struct.new(
  :name,
  :description,
  :log_uri,
  :role,
  :execution_property,
  :command,
  :default_arguments,
  :non_overridable_arguments,
  :connections,
  :max_retries,
  :allocated_capacity,
  :timeout,
  :max_capacity,
  :security_configuration,
  :tags,
  :notification_property,
  :glue_version,
  :number_of_workers,
  :worker_type,
  :code_gen_configuration_nodes,
  :execution_class,
  :source_control_details)
  SENSITIVE = [:code_gen_configuration_nodes]
  include Aws::Structure
end