---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.13.0
  name: jobs.glue.aws.crossplane.io
spec:
  group: glue.aws.crossplane.io
  names:
    categories:
    - crossplane
    - managed
    - aws
    kind: Job
    listKind: JobList
    plural: jobs
    singular: job
  scope: Cluster
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.conditions[?(@.type=='Ready')].status
      name: READY
      type: string
    - jsonPath: .status.conditions[?(@.type=='Synced')].status
      name: SYNCED
      type: string
    - jsonPath: .metadata.annotations.crossplane\.io/external-name
      name: EXTERNAL-NAME
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: AGE
      type: date
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: Job is the Schema for the Jobs API
        properties:
          apiVersion:
            description: 'APIVersion defines the versioned schema of this representation
              of an object. Servers should convert recognized schemas to the latest
              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
            type: string
          kind:
            description: 'Kind is a string value representing the REST resource this
              object represents. Servers may infer this from the endpoint the client
              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
            type: string
          metadata:
            type: object
          spec:
            description: JobSpec defines the desired state of Job
            properties:
              deletionPolicy:
                default: Delete
                description: 'DeletionPolicy specifies what will happen to the underlying
                  external when this managed resource is deleted - either "Delete"
                  or "Orphan" the external resource. This field is planned to be deprecated
                  in favor of the ManagementPolicies field in a future release. Currently,
                  both could be set independently and non-default values would be
                  honored if the feature flag is enabled. See the design doc for more
                  information: https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223'
                enum:
                - Orphan
                - Delete
                type: string
              forProvider:
                description: JobParameters defines the desired state of Job
                properties:
                  allocatedCapacity:
                    description: "This parameter is deprecated. Use MaxCapacity instead.
                      \n 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 (https://aws.amazon.com/glue/pricing/)."
                    format: int64
                    type: integer
                  codeGenConfigurationNodes:
                    additionalProperties:
                      properties:
                        aggregate:
                          description: Specifies a transform that groups rows by chosen
                            fields and computes the aggregated value by specified
                            function.
                          properties:
                            aggs:
                              items:
                                properties:
                                  aggFunc:
                                    type: string
                                  column:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              type: array
                            groups:
                              items:
                                items:
                                  type: string
                                type: array
                              type: array
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                          type: object
                        amazonRedshiftSource:
                          description: Specifies an Amazon Redshift source.
                          properties:
                            data:
                              description: Specifies an Amazon Redshift node.
                              properties:
                                accessType:
                                  type: string
                                action:
                                  type: string
                                advancedOptions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      value:
                                        type: string
                                    type: object
                                  type: array
                                catalogDatabase:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                catalogRedshiftSchema:
                                  type: string
                                catalogRedshiftTable:
                                  type: string
                                catalogTable:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                connection:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                crawlerConnection:
                                  type: string
                                iamRole:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                mergeAction:
                                  type: string
                                mergeClause:
                                  type: string
                                mergeWhenMatched:
                                  type: string
                                mergeWhenNotMatched:
                                  type: string
                                postAction:
                                  type: string
                                preAction:
                                  type: string
                                sampleQuery:
                                  type: string
                                schema:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                selectedColumns:
                                  items:
                                    properties:
                                      description:
                                        type: string
                                      label:
                                        type: string
                                      value:
                                        type: string
                                    type: object
                                  type: array
                                sourceType:
                                  type: string
                                stagingTable:
                                  type: string
                                table:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                tablePrefix:
                                  type: string
                                tableSchema:
                                  items:
                                    properties:
                                      description:
                                        type: string
                                      label:
                                        type: string
                                      value:
                                        type: string
                                    type: object
                                  type: array
                                tempDir:
                                  type: string
                                upsert:
                                  type: boolean
                              type: object
                            name:
                              type: string
                          type: object
                        amazonRedshiftTarget:
                          description: Specifies an Amazon Redshift target.
                          properties:
                            data:
                              description: Specifies an Amazon Redshift node.
                              properties:
                                accessType:
                                  type: string
                                action:
                                  type: string
                                advancedOptions:
                                  items:
                                    properties:
                                      key:
                                        type: string
                                      value:
                                        type: string
                                    type: object
                                  type: array
                                catalogDatabase:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                catalogRedshiftSchema:
                                  type: string
                                catalogRedshiftTable:
                                  type: string
                                catalogTable:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                connection:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                crawlerConnection:
                                  type: string
                                iamRole:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                mergeAction:
                                  type: string
                                mergeClause:
                                  type: string
                                mergeWhenMatched:
                                  type: string
                                mergeWhenNotMatched:
                                  type: string
                                postAction:
                                  type: string
                                preAction:
                                  type: string
                                sampleQuery:
                                  type: string
                                schema:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                selectedColumns:
                                  items:
                                    properties:
                                      description:
                                        type: string
                                      label:
                                        type: string
                                      value:
                                        type: string
                                    type: object
                                  type: array
                                sourceType:
                                  type: string
                                stagingTable:
                                  type: string
                                table:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                tablePrefix:
                                  type: string
                                tableSchema:
                                  items:
                                    properties:
                                      description:
                                        type: string
                                      label:
                                        type: string
                                      value:
                                        type: string
                                    type: object
                                  type: array
                                tempDir:
                                  type: string
                                upsert:
                                  type: boolean
                              type: object
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                          type: object
                        applyMapping:
                          description: Specifies a transform that maps data property
                            keys in the data source to data property keys in the data
                            target. You can rename keys, modify the data types for
                            keys, and choose which keys to drop from the dataset.
                          properties:
                            inputs:
                              items:
                                type: string
                              type: array
                            mapping:
                              items:
                                properties:
                                  dropped:
                                    type: boolean
                                  fromPath:
                                    items:
                                      type: string
                                    type: array
                                  fromType:
                                    type: string
                                  toKey:
                                    type: string
                                  toType:
                                    type: string
                                type: object
                              type: array
                            name:
                              type: string
                          type: object
                        athenaConnectorSource:
                          description: Specifies a connector to an Amazon Athena data
                            source.
                          properties:
                            connectionName:
                              type: string
                            connectionTable:
                              type: string
                            connectionType:
                              type: string
                            connectorName:
                              type: string
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                            schemaName:
                              type: string
                          type: object
                        catalogDeltaSource:
                          description: Specifies a Delta Lake data source that is
                            registered in the Glue Data Catalog.
                          properties:
                            additionalDeltaOptions:
                              additionalProperties:
                                type: string
                              type: object
                            database:
                              type: string
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                            table:
                              type: string
                          type: object
                        catalogHudiSource:
                          description: Specifies a Hudi data source that is registered
                            in the Glue Data Catalog.
                          properties:
                            additionalHudiOptions:
                              additionalProperties:
                                type: string
                              type: object
                            database:
                              type: string
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                            table:
                              type: string
                          type: object
                        catalogKafkaSource:
                          description: Specifies an Apache Kafka data store in the
                            Data Catalog.
                          properties:
                            dataPreviewOptions:
                              description: Specifies options related to data preview
                                for viewing a sample of your data.
                              properties:
                                pollingTime:
                                  format: int64
                                  type: integer
                                recordPollingLimit:
                                  format: int64
                                  type: integer
                              type: object
                            database:
                              type: string
                            detectSchema:
                              type: boolean
                            name:
                              type: string
                            streamingOptions:
                              description: Additional options for streaming.
                              properties:
                                addRecordTimestamp:
                                  type: string
                                assign:
                                  type: string
                                bootstrapServers:
                                  type: string
                                classification:
                                  type: string
                                connectionName:
                                  type: string
                                delimiter:
                                  type: string
                                emitConsumerLagMetrics:
                                  type: string
                                endingOffsets:
                                  type: string
                                includeHeaders:
                                  type: boolean
                                maxOffsetsPerTrigger:
                                  format: int64
                                  type: integer
                                minPartitions:
                                  format: int64
                                  type: integer
                                numRetries:
                                  format: int64
                                  type: integer
                                pollTimeoutMs:
                                  format: int64
                                  type: integer
                                retryIntervalMs:
                                  format: int64
                                  type: integer
                                securityProtocol:
                                  type: string
                                startingOffsets:
                                  type: string
                                startingTimestamp:
                                  format: date-time
                                  type: string
                                subscribePattern:
                                  type: string
                                topicName:
                                  type: string
                              type: object
                            table:
                              type: string
                            windowSize:
                              format: int64
                              type: integer
                          type: object
                        catalogKinesisSource:
                          description: Specifies a Kinesis data source in the Glue
                            Data Catalog.
                          properties:
                            dataPreviewOptions:
                              description: Specifies options related to data preview
                                for viewing a sample of your data.
                              properties:
                                pollingTime:
                                  format: int64
                                  type: integer
                                recordPollingLimit:
                                  format: int64
                                  type: integer
                              type: object
                            database:
                              type: string
                            detectSchema:
                              type: boolean
                            name:
                              type: string
                            streamingOptions:
                              description: Additional options for the Amazon Kinesis
                                streaming data source.
                              properties:
                                addIdleTimeBetweenReads:
                                  type: boolean
                                addRecordTimestamp:
                                  type: string
                                avoidEmptyBatches:
                                  type: boolean
                                classification:
                                  type: string
                                delimiter:
                                  type: string
                                describeShardInterval:
                                  format: int64
                                  type: integer
                                emitConsumerLagMetrics:
                                  type: string
                                endpointURL:
                                  type: string
                                idleTimeBetweenReadsInMs:
                                  format: int64
                                  type: integer
                                maxFetchRecordsPerShard:
                                  format: int64
                                  type: integer
                                maxFetchTimeInMs:
                                  format: int64
                                  type: integer
                                maxRecordPerRead:
                                  format: int64
                                  type: integer
                                maxRetryIntervalMs:
                                  format: int64
                                  type: integer
                                numRetries:
                                  format: int64
                                  type: integer
                                retryIntervalMs:
                                  format: int64
                                  type: integer
                                roleARN:
                                  type: string
                                roleSessionName:
                                  type: string
                                startingPosition:
                                  type: string
                                startingTimestamp:
                                  format: date-time
                                  type: string
                                streamARN:
                                  type: string
                                streamName:
                                  type: string
                              type: object
                            table:
                              type: string
                            windowSize:
                              format: int64
                              type: integer
                          type: object
                        catalogSource:
                          description: Specifies a data store in the Glue Data Catalog.
                          properties:
                            database:
                              type: string
                            name:
                              type: string
                            table:
                              type: string
                          type: object
                        catalogTarget:
                          description: Specifies a target that uses a Glue Data Catalog
                            table.
                          properties:
                            database:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            table:
                              type: string
                          type: object
                        customCode:
                          description: Specifies a transform that uses custom code
                            you provide to perform the data transformation. The output
                            is a collection of DynamicFrames.
                          properties:
                            className:
                              type: string
                            code:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                          type: object
                        directJDBCSource:
                          description: Specifies the direct JDBC source connection.
                          properties:
                            connectionName:
                              type: string
                            connectionType:
                              type: string
                            database:
                              type: string
                            name:
                              type: string
                            redshiftTmpDir:
                              type: string
                            table:
                              type: string
                          type: object
                        directKafkaSource:
                          description: Specifies an Apache Kafka data store.
                          properties:
                            dataPreviewOptions:
                              description: Specifies options related to data preview
                                for viewing a sample of your data.
                              properties:
                                pollingTime:
                                  format: int64
                                  type: integer
                                recordPollingLimit:
                                  format: int64
                                  type: integer
                              type: object
                            detectSchema:
                              type: boolean
                            name:
                              type: string
                            streamingOptions:
                              description: Additional options for streaming.
                              properties:
                                addRecordTimestamp:
                                  type: string
                                assign:
                                  type: string
                                bootstrapServers:
                                  type: string
                                classification:
                                  type: string
                                connectionName:
                                  type: string
                                delimiter:
                                  type: string
                                emitConsumerLagMetrics:
                                  type: string
                                endingOffsets:
                                  type: string
                                includeHeaders:
                                  type: boolean
                                maxOffsetsPerTrigger:
                                  format: int64
                                  type: integer
                                minPartitions:
                                  format: int64
                                  type: integer
                                numRetries:
                                  format: int64
                                  type: integer
                                pollTimeoutMs:
                                  format: int64
                                  type: integer
                                retryIntervalMs:
                                  format: int64
                                  type: integer
                                securityProtocol:
                                  type: string
                                startingOffsets:
                                  type: string
                                startingTimestamp:
                                  format: date-time
                                  type: string
                                subscribePattern:
                                  type: string
                                topicName:
                                  type: string
                              type: object
                            windowSize:
                              format: int64
                              type: integer
                          type: object
                        directKinesisSource:
                          description: Specifies a direct Amazon Kinesis data source.
                          properties:
                            dataPreviewOptions:
                              description: Specifies options related to data preview
                                for viewing a sample of your data.
                              properties:
                                pollingTime:
                                  format: int64
                                  type: integer
                                recordPollingLimit:
                                  format: int64
                                  type: integer
                              type: object
                            detectSchema:
                              type: boolean
                            name:
                              type: string
                            streamingOptions:
                              description: Additional options for the Amazon Kinesis
                                streaming data source.
                              properties:
                                addIdleTimeBetweenReads:
                                  type: boolean
                                addRecordTimestamp:
                                  type: string
                                avoidEmptyBatches:
                                  type: boolean
                                classification:
                                  type: string
                                delimiter:
                                  type: string
                                describeShardInterval:
                                  format: int64
                                  type: integer
                                emitConsumerLagMetrics:
                                  type: string
                                endpointURL:
                                  type: string
                                idleTimeBetweenReadsInMs:
                                  format: int64
                                  type: integer
                                maxFetchRecordsPerShard:
                                  format: int64
                                  type: integer
                                maxFetchTimeInMs:
                                  format: int64
                                  type: integer
                                maxRecordPerRead:
                                  format: int64
                                  type: integer
                                maxRetryIntervalMs:
                                  format: int64
                                  type: integer
                                numRetries:
                                  format: int64
                                  type: integer
                                retryIntervalMs:
                                  format: int64
                                  type: integer
                                roleARN:
                                  type: string
                                roleSessionName:
                                  type: string
                                startingPosition:
                                  type: string
                                startingTimestamp:
                                  format: date-time
                                  type: string
                                streamARN:
                                  type: string
                                streamName:
                                  type: string
                              type: object
                            windowSize:
                              format: int64
                              type: integer
                          type: object
                        dropDuplicates:
                          description: Specifies a transform that removes rows of
                            repeating data from a data set.
                          properties:
                            columns:
                              items:
                                items:
                                  type: string
                                type: array
                              type: array
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                          type: object
                        dropFields:
                          description: Specifies a transform that chooses the data
                            property keys that you want to drop.
                          properties:
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            paths:
                              items:
                                items:
                                  type: string
                                type: array
                              type: array
                          type: object
                        dropNullFields:
                          description: Specifies a transform that removes columns
                            from the dataset if all values in the column are 'null'.
                            By default, Glue Studio will recognize null objects, but
                            some values such as empty strings, strings that are "null",
                            -1 integers or other placeholders such as zeros, are not
                            automatically recognized as nulls.
                          properties:
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            nullCheckBoxList:
                              description: Represents whether certain values are recognized
                                as null values for removal.
                              properties:
                                isEmpty:
                                  type: boolean
                                isNegOne:
                                  type: boolean
                                isNullString:
                                  type: boolean
                              type: object
                            nullTextList:
                              items:
                                properties:
                                  datatype:
                                    description: A structure representing the datatype
                                      of the value.
                                    properties:
                                      id:
                                        type: string
                                      label:
                                        type: string
                                    type: object
                                  value:
                                    type: string
                                type: object
                              type: array
                          type: object
                        dynamicTransform:
                          description: Specifies the set of parameters needed to perform
                            the dynamic transform.
                          properties:
                            functionName:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                            parameters:
                              items:
                                properties:
                                  isOptional:
                                    type: boolean
                                  listType:
                                    type: string
                                  name:
                                    type: string
                                  type_:
                                    type: string
                                  validationMessage:
                                    type: string
                                  validationRule:
                                    type: string
                                  value:
                                    items:
                                      type: string
                                    type: array
                                type: object
                              type: array
                            path:
                              type: string
                            transformName:
                              type: string
                            version:
                              type: string
                          type: object
                        dynamoDBCatalogSource:
                          description: Specifies a DynamoDB data source in the Glue
                            Data Catalog.
                          properties:
                            database:
                              type: string
                            name:
                              type: string
                            table:
                              type: string
                          type: object
                        evaluateDataQuality:
                          description: Specifies your data quality evaluation criteria.
                          properties:
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            output:
                              type: string
                            publishingOptions:
                              description: Options to configure how your data quality
                                evaluation results are published.
                              properties:
                                cloudWatchMetricsEnabled:
                                  type: boolean
                                evaluationContext:
                                  type: string
                                resultsPublishingEnabled:
                                  type: boolean
                                resultsS3Prefix:
                                  type: string
                              type: object
                            ruleset:
                              type: string
                            stopJobOnFailureOptions:
                              description: Options to configure how your job will
                                stop if your data quality evaluation fails.
                              properties:
                                stopJobOnFailureTiming:
                                  type: string
                              type: object
                          type: object
                        evaluateDataQualityMultiFrame:
                          description: Specifies your data quality evaluation criteria.
                          properties:
                            additionalDataSources:
                              additionalProperties:
                                type: string
                              type: object
                            additionalOptions:
                              additionalProperties:
                                type: string
                              type: object
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            publishingOptions:
                              description: Options to configure how your data quality
                                evaluation results are published.
                              properties:
                                cloudWatchMetricsEnabled:
                                  type: boolean
                                evaluationContext:
                                  type: string
                                resultsPublishingEnabled:
                                  type: boolean
                                resultsS3Prefix:
                                  type: string
                              type: object
                            ruleset:
                              type: string
                            stopJobOnFailureOptions:
                              description: Options to configure how your job will
                                stop if your data quality evaluation fails.
                              properties:
                                stopJobOnFailureTiming:
                                  type: string
                              type: object
                          type: object
                        fillMissingValues:
                          description: Specifies a transform that locates records
                            in the dataset that have missing values and adds a new
                            field with a value determined by imputation. The input
                            data set is used to train the machine learning model that
                            determines what the missing value should be.
                          properties:
                            filledPath:
                              type: string
                            imputedPath:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                          type: object
                        filter:
                          description: Specifies a transform that splits a dataset
                            into two, based on a filter condition.
                          properties:
                            filters:
                              items:
                                properties:
                                  negated:
                                    type: boolean
                                  operation:
                                    type: string
                                  values:
                                    items:
                                      properties:
                                        type_:
                                          type: string
                                        value:
                                          items:
                                            type: string
                                          type: array
                                      type: object
                                    type: array
                                type: object
                              type: array
                            inputs:
                              items:
                                type: string
                              type: array
                            logicalOperator:
                              type: string
                            name:
                              type: string
                          type: object
                        governedCatalogSource:
                          description: Specifies the data store in the governed Glue
                            Data Catalog.
                          properties:
                            additionalOptions:
                              description: Specifies additional connection options
                                for the Amazon S3 data store.
                              properties:
                                boundedFiles:
                                  format: int64
                                  type: integer
                                boundedSize:
                                  format: int64
                                  type: integer
                              type: object
                            database:
                              type: string
                            name:
                              type: string
                            partitionPredicate:
                              type: string
                            table:
                              type: string
                          type: object
                        governedCatalogTarget:
                          description: Specifies a data target that writes to Amazon
                            S3 using the Glue Data Catalog.
                          properties:
                            database:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            partitionKeys:
                              items:
                                items:
                                  type: string
                                type: array
                              type: array
                            schemaChangePolicy:
                              description: A policy that specifies update behavior
                                for the crawler.
                              properties:
                                enableUpdateCatalog:
                                  type: boolean
                                updateBehavior:
                                  type: string
                              type: object
                            table:
                              type: string
                          type: object
                        jDBCConnectorSource:
                          description: Specifies a connector to a JDBC data source.
                          properties:
                            additionalOptions:
                              description: Additional connection options for the connector.
                              properties:
                                dataTypeMapping:
                                  additionalProperties:
                                    type: string
                                  type: object
                                filterPredicate:
                                  type: string
                                jobBookmarkKeys:
                                  items:
                                    type: string
                                  type: array
                                jobBookmarkKeysSortOrder:
                                  type: string
                                lowerBound:
                                  format: int64
                                  type: integer
                                numPartitions:
                                  format: int64
                                  type: integer
                                partitionColumn:
                                  type: string
                                upperBound:
                                  format: int64
                                  type: integer
                              type: object
                            connectionName:
                              type: string
                            connectionTable:
                              type: string
                            connectionType:
                              type: string
                            connectorName:
                              type: string
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                            query:
                              type: string
                          type: object
                        jDBCConnectorTarget:
                          description: Specifies a data target that writes to Amazon
                            S3 in Apache Parquet columnar storage.
                          properties:
                            additionalOptions:
                              additionalProperties:
                                type: string
                              type: object
                            connectionName:
                              type: string
                            connectionTable:
                              type: string
                            connectionType:
                              type: string
                            connectorName:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                          type: object
                        join:
                          description: Specifies a transform that joins two datasets
                            into one dataset using a comparison phrase on the specified
                            data property keys. You can use inner, outer, left, right,
                            left semi, and left anti joins.
                          properties:
                            columns:
                              items:
                                properties:
                                  from:
                                    type: string
                                  keys:
                                    items:
                                      items:
                                        type: string
                                      type: array
                                    type: array
                                type: object
                              type: array
                            inputs:
                              items:
                                type: string
                              type: array
                            joinType:
                              type: string
                            name:
                              type: string
                          type: object
                        merge:
                          description: Specifies a transform that merges a DynamicFrame
                            with a staging DynamicFrame based on the specified primary
                            keys to identify records. Duplicate records (records with
                            the same primary keys) are not de-duplicated.
                          properties:
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            primaryKeys:
                              items:
                                items:
                                  type: string
                                type: array
                              type: array
                            source:
                              type: string
                          type: object
                        microsoftSQLServerCatalogSource:
                          description: Specifies a Microsoft SQL server data source
                            in the Glue Data Catalog.
                          properties:
                            database:
                              type: string
                            name:
                              type: string
                            table:
                              type: string
                          type: object
                        microsoftSQLServerCatalogTarget:
                          description: Specifies a target that uses Microsoft SQL.
                          properties:
                            database:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            table:
                              type: string
                          type: object
                        mySQLCatalogSource:
                          description: Specifies a MySQL data source in the Glue Data
                            Catalog.
                          properties:
                            database:
                              type: string
                            name:
                              type: string
                            table:
                              type: string
                          type: object
                        mySQLCatalogTarget:
                          description: Specifies a target that uses MySQL.
                          properties:
                            database:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            table:
                              type: string
                          type: object
                        oracleSQLCatalogSource:
                          description: Specifies an Oracle data source in the Glue
                            Data Catalog.
                          properties:
                            database:
                              type: string
                            name:
                              type: string
                            table:
                              type: string
                          type: object
                        oracleSQLCatalogTarget:
                          description: Specifies a target that uses Oracle SQL.
                          properties:
                            database:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            table:
                              type: string
                          type: object
                        pIIDetection:
                          description: Specifies a transform that identifies, removes
                            or masks PII data.
                          properties:
                            entityTypesToDetect:
                              items:
                                type: string
                              type: array
                            inputs:
                              items:
                                type: string
                              type: array
                            maskValue:
                              type: string
                            name:
                              type: string
                            outputColumnName:
                              type: string
                            piiType:
                              type: string
                            sampleFraction:
                              type: number
                            thresholdFraction:
                              type: number
                          type: object
                        postgreSQLCatalogSource:
                          description: Specifies a PostgresSQL data source in the
                            Glue Data Catalog.
                          properties:
                            database:
                              type: string
                            name:
                              type: string
                            table:
                              type: string
                          type: object
                        postgreSQLCatalogTarget:
                          description: Specifies a target that uses Postgres SQL.
                          properties:
                            database:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            table:
                              type: string
                          type: object
                        recipe:
                          description: A Glue Studio node that uses a Glue DataBrew
                            recipe in Glue jobs.
                          properties:
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            recipeReference:
                              description: A reference to a Glue DataBrew recipe.
                              properties:
                                recipeARN:
                                  type: string
                                recipeVersion:
                                  type: string
                              type: object
                          type: object
                        redshiftSource:
                          description: Specifies an Amazon Redshift data store.
                          properties:
                            database:
                              type: string
                            name:
                              type: string
                            redshiftTmpDir:
                              type: string
                            table:
                              type: string
                            tmpDirIAMRole:
                              type: string
                          type: object
                        redshiftTarget:
                          description: Specifies a target that uses Amazon Redshift.
                          properties:
                            database:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            redshiftTmpDir:
                              type: string
                            table:
                              type: string
                            tmpDirIAMRole:
                              type: string
                            upsertRedshiftOptions:
                              description: The options to configure an upsert operation
                                when writing to a Redshift target .
                              properties:
                                connectionName:
                                  type: string
                                tableLocation:
                                  type: string
                                upsertKeys:
                                  items:
                                    type: string
                                  type: array
                              type: object
                          type: object
                        relationalCatalogSource:
                          description: Specifies a Relational database data source
                            in the Glue Data Catalog.
                          properties:
                            database:
                              type: string
                            name:
                              type: string
                            table:
                              type: string
                          type: object
                        renameField:
                          description: Specifies a transform that renames a single
                            data property key.
                          properties:
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            sourcePath:
                              items:
                                type: string
                              type: array
                            targetPath:
                              items:
                                type: string
                              type: array
                          type: object
                        s3CatalogDeltaSource:
                          description: Specifies a Delta Lake data source that is
                            registered in the Glue Data Catalog. The data source must
                            be stored in Amazon S3.
                          properties:
                            additionalDeltaOptions:
                              additionalProperties:
                                type: string
                              type: object
                            database:
                              type: string
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                            table:
                              type: string
                          type: object
                        s3CatalogHudiSource:
                          description: Specifies a Hudi data source that is registered
                            in the Glue Data Catalog. The Hudi data source must be
                            stored in Amazon S3.
                          properties:
                            additionalHudiOptions:
                              additionalProperties:
                                type: string
                              type: object
                            database:
                              type: string
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                            table:
                              type: string
                          type: object
                        s3CatalogSource:
                          description: Specifies an Amazon S3 data store in the Glue
                            Data Catalog.
                          properties:
                            additionalOptions:
                              description: Specifies additional connection options
                                for the Amazon S3 data store.
                              properties:
                                boundedFiles:
                                  format: int64
                                  type: integer
                                boundedSize:
                                  format: int64
                                  type: integer
                              type: object
                            database:
                              type: string
                            name:
                              type: string
                            partitionPredicate:
                              type: string
                            table:
                              type: string
                          type: object
                        s3CatalogTarget:
                          description: Specifies a data target that writes to Amazon
                            S3 using the Glue Data Catalog.
                          properties:
                            database:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            partitionKeys:
                              items:
                                items:
                                  type: string
                                type: array
                              type: array
                            schemaChangePolicy:
                              description: A policy that specifies update behavior
                                for the crawler.
                              properties:
                                enableUpdateCatalog:
                                  type: boolean
                                updateBehavior:
                                  type: string
                              type: object
                            table:
                              type: string
                          type: object
                        s3CsvSource:
                          description: Specifies a command-separated value (CSV) data
                            store stored in Amazon S3.
                          properties:
                            additionalOptions:
                              description: Specifies additional connection options
                                for the Amazon S3 data store.
                              properties:
                                boundedFiles:
                                  format: int64
                                  type: integer
                                boundedSize:
                                  format: int64
                                  type: integer
                                enableSamplePath:
                                  type: boolean
                                samplePath:
                                  type: string
                              type: object
                            compressionType:
                              type: string
                            escaper:
                              type: string
                            exclusions:
                              items:
                                type: string
                              type: array
                            groupFiles:
                              type: string
                            groupSize:
                              type: string
                            maxBand:
                              format: int64
                              type: integer
                            maxFilesInBand:
                              format: int64
                              type: integer
                            multiline:
                              type: boolean
                            name:
                              type: string
                            optimizePerformance:
                              type: boolean
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                            paths:
                              items:
                                type: string
                              type: array
                            quoteChar:
                              type: string
                            recurse:
                              type: boolean
                            separator:
                              type: string
                            skipFirst:
                              type: boolean
                            withHeader:
                              type: boolean
                            writeHeader:
                              type: boolean
                          type: object
                        s3DeltaCatalogTarget:
                          description: Specifies a target that writes to a Delta Lake
                            data source in the Glue Data Catalog.
                          properties:
                            additionalOptions:
                              additionalProperties:
                                type: string
                              type: object
                            database:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            partitionKeys:
                              items:
                                items:
                                  type: string
                                type: array
                              type: array
                            schemaChangePolicy:
                              description: A policy that specifies update behavior
                                for the crawler.
                              properties:
                                enableUpdateCatalog:
                                  type: boolean
                                updateBehavior:
                                  type: string
                              type: object
                            table:
                              type: string
                          type: object
                        s3DeltaDirectTarget:
                          description: Specifies a target that writes to a Delta Lake
                            data source in Amazon S3.
                          properties:
                            additionalOptions:
                              additionalProperties:
                                type: string
                              type: object
                            compression:
                              type: string
                            format:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            partitionKeys:
                              items:
                                items:
                                  type: string
                                type: array
                              type: array
                            path:
                              type: string
                            schemaChangePolicy:
                              description: A policy that specifies update behavior
                                for the crawler.
                              properties:
                                database:
                                  type: string
                                enableUpdateCatalog:
                                  type: boolean
                                table:
                                  type: string
                                updateBehavior:
                                  type: string
                              type: object
                          type: object
                        s3DeltaSource:
                          description: Specifies a Delta Lake data source stored in
                            Amazon S3.
                          properties:
                            additionalDeltaOptions:
                              additionalProperties:
                                type: string
                              type: object
                            additionalOptions:
                              description: Specifies additional connection options
                                for the Amazon S3 data store.
                              properties:
                                boundedFiles:
                                  format: int64
                                  type: integer
                                boundedSize:
                                  format: int64
                                  type: integer
                                enableSamplePath:
                                  type: boolean
                                samplePath:
                                  type: string
                              type: object
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                            paths:
                              items:
                                type: string
                              type: array
                          type: object
                        s3DirectTarget:
                          description: Specifies a data target that writes to Amazon
                            S3.
                          properties:
                            compression:
                              type: string
                            format:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            partitionKeys:
                              items:
                                items:
                                  type: string
                                type: array
                              type: array
                            path:
                              type: string
                            schemaChangePolicy:
                              description: A policy that specifies update behavior
                                for the crawler.
                              properties:
                                database:
                                  type: string
                                enableUpdateCatalog:
                                  type: boolean
                                table:
                                  type: string
                                updateBehavior:
                                  type: string
                              type: object
                          type: object
                        s3GlueParquetTarget:
                          description: Specifies a data target that writes to Amazon
                            S3 in Apache Parquet columnar storage.
                          properties:
                            compression:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            partitionKeys:
                              items:
                                items:
                                  type: string
                                type: array
                              type: array
                            path:
                              type: string
                            schemaChangePolicy:
                              description: A policy that specifies update behavior
                                for the crawler.
                              properties:
                                database:
                                  type: string
                                enableUpdateCatalog:
                                  type: boolean
                                table:
                                  type: string
                                updateBehavior:
                                  type: string
                              type: object
                          type: object
                        s3HudiCatalogTarget:
                          description: Specifies a target that writes to a Hudi data
                            source in the Glue Data Catalog.
                          properties:
                            additionalOptions:
                              additionalProperties:
                                type: string
                              type: object
                            database:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            partitionKeys:
                              items:
                                items:
                                  type: string
                                type: array
                              type: array
                            schemaChangePolicy:
                              description: A policy that specifies update behavior
                                for the crawler.
                              properties:
                                enableUpdateCatalog:
                                  type: boolean
                                updateBehavior:
                                  type: string
                              type: object
                            table:
                              type: string
                          type: object
                        s3HudiDirectTarget:
                          description: Specifies a target that writes to a Hudi data
                            source in Amazon S3.
                          properties:
                            additionalOptions:
                              additionalProperties:
                                type: string
                              type: object
                            compression:
                              type: string
                            format:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            partitionKeys:
                              items:
                                items:
                                  type: string
                                type: array
                              type: array
                            path:
                              type: string
                            schemaChangePolicy:
                              description: A policy that specifies update behavior
                                for the crawler.
                              properties:
                                database:
                                  type: string
                                enableUpdateCatalog:
                                  type: boolean
                                table:
                                  type: string
                                updateBehavior:
                                  type: string
                              type: object
                          type: object
                        s3HudiSource:
                          description: Specifies a Hudi data source stored in Amazon
                            S3.
                          properties:
                            additionalHudiOptions:
                              additionalProperties:
                                type: string
                              type: object
                            additionalOptions:
                              description: Specifies additional connection options
                                for the Amazon S3 data store.
                              properties:
                                boundedFiles:
                                  format: int64
                                  type: integer
                                boundedSize:
                                  format: int64
                                  type: integer
                                enableSamplePath:
                                  type: boolean
                                samplePath:
                                  type: string
                              type: object
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                            paths:
                              items:
                                type: string
                              type: array
                          type: object
                        s3JSONSource:
                          description: Specifies a JSON data store stored in Amazon
                            S3.
                          properties:
                            additionalOptions:
                              description: Specifies additional connection options
                                for the Amazon S3 data store.
                              properties:
                                boundedFiles:
                                  format: int64
                                  type: integer
                                boundedSize:
                                  format: int64
                                  type: integer
                                enableSamplePath:
                                  type: boolean
                                samplePath:
                                  type: string
                              type: object
                            compressionType:
                              type: string
                            exclusions:
                              items:
                                type: string
                              type: array
                            groupFiles:
                              type: string
                            groupSize:
                              type: string
                            jsonPath:
                              type: string
                            maxBand:
                              format: int64
                              type: integer
                            maxFilesInBand:
                              format: int64
                              type: integer
                            multiline:
                              type: boolean
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                            paths:
                              items:
                                type: string
                              type: array
                            recurse:
                              type: boolean
                          type: object
                        s3ParquetSource:
                          description: Specifies an Apache Parquet data store stored
                            in Amazon S3.
                          properties:
                            additionalOptions:
                              description: Specifies additional connection options
                                for the Amazon S3 data store.
                              properties:
                                boundedFiles:
                                  format: int64
                                  type: integer
                                boundedSize:
                                  format: int64
                                  type: integer
                                enableSamplePath:
                                  type: boolean
                                samplePath:
                                  type: string
                              type: object
                            compressionType:
                              type: string
                            exclusions:
                              items:
                                type: string
                              type: array
                            groupFiles:
                              type: string
                            groupSize:
                              type: string
                            maxBand:
                              format: int64
                              type: integer
                            maxFilesInBand:
                              format: int64
                              type: integer
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                            paths:
                              items:
                                type: string
                              type: array
                            recurse:
                              type: boolean
                          type: object
                        selectFields:
                          description: Specifies a transform that chooses the data
                            property keys that you want to keep.
                          properties:
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            paths:
                              items:
                                items:
                                  type: string
                                type: array
                              type: array
                          type: object
                        selectFromCollection:
                          description: Specifies a transform that chooses one DynamicFrame
                            from a collection of DynamicFrames. The output is the
                            selected DynamicFrame
                          properties:
                            index:
                              format: int64
                              type: integer
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                          type: object
                        snowflakeSource:
                          description: Specifies a Snowflake data source.
                          properties:
                            data:
                              description: Specifies configuration for Snowflake nodes
                                in Glue Studio.
                              properties:
                                action:
                                  type: string
                                additionalOptions:
                                  additionalProperties:
                                    type: string
                                  type: object
                                autoPushdown:
                                  type: boolean
                                connection:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                database:
                                  type: string
                                iamRole:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                mergeAction:
                                  type: string
                                mergeClause:
                                  type: string
                                mergeWhenMatched:
                                  type: string
                                mergeWhenNotMatched:
                                  type: string
                                postAction:
                                  type: string
                                preAction:
                                  type: string
                                sampleQuery:
                                  type: string
                                schema:
                                  type: string
                                selectedColumns:
                                  items:
                                    properties:
                                      description:
                                        type: string
                                      label:
                                        type: string
                                      value:
                                        type: string
                                    type: object
                                  type: array
                                sourceType:
                                  type: string
                                stagingTable:
                                  type: string
                                table:
                                  type: string
                                tableSchema:
                                  items:
                                    properties:
                                      description:
                                        type: string
                                      label:
                                        type: string
                                      value:
                                        type: string
                                    type: object
                                  type: array
                                tempDir:
                                  type: string
                                upsert:
                                  type: boolean
                              type: object
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                          type: object
                        snowflakeTarget:
                          description: Specifies a Snowflake target.
                          properties:
                            data:
                              description: Specifies configuration for Snowflake nodes
                                in Glue Studio.
                              properties:
                                action:
                                  type: string
                                additionalOptions:
                                  additionalProperties:
                                    type: string
                                  type: object
                                autoPushdown:
                                  type: boolean
                                connection:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                database:
                                  type: string
                                iamRole:
                                  description: Specifies an option value.
                                  properties:
                                    description:
                                      type: string
                                    label:
                                      type: string
                                    value:
                                      type: string
                                  type: object
                                mergeAction:
                                  type: string
                                mergeClause:
                                  type: string
                                mergeWhenMatched:
                                  type: string
                                mergeWhenNotMatched:
                                  type: string
                                postAction:
                                  type: string
                                preAction:
                                  type: string
                                sampleQuery:
                                  type: string
                                schema:
                                  type: string
                                selectedColumns:
                                  items:
                                    properties:
                                      description:
                                        type: string
                                      label:
                                        type: string
                                      value:
                                        type: string
                                    type: object
                                  type: array
                                sourceType:
                                  type: string
                                stagingTable:
                                  type: string
                                table:
                                  type: string
                                tableSchema:
                                  items:
                                    properties:
                                      description:
                                        type: string
                                      label:
                                        type: string
                                      value:
                                        type: string
                                    type: object
                                  type: array
                                tempDir:
                                  type: string
                                upsert:
                                  type: boolean
                              type: object
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                          type: object
                        sparkConnectorSource:
                          description: Specifies a connector to an Apache Spark data
                            source.
                          properties:
                            additionalOptions:
                              additionalProperties:
                                type: string
                              type: object
                            connectionName:
                              type: string
                            connectionType:
                              type: string
                            connectorName:
                              type: string
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                          type: object
                        sparkConnectorTarget:
                          description: Specifies a target that uses an Apache Spark
                            connector.
                          properties:
                            additionalOptions:
                              additionalProperties:
                                type: string
                              type: object
                            connectionName:
                              type: string
                            connectionType:
                              type: string
                            connectorName:
                              type: string
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                          type: object
                        sparkSQL:
                          description: Specifies a transform where you enter a SQL
                            query using Spark SQL syntax to transform the data. The
                            output is a single DynamicFrame.
                          properties:
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            outputSchemas:
                              items:
                                properties:
                                  columns:
                                    items:
                                      properties:
                                        name:
                                          type: string
                                        type_:
                                          type: string
                                      type: object
                                    type: array
                                type: object
                              type: array
                            sqlAliases:
                              items:
                                properties:
                                  alias:
                                    type: string
                                  from:
                                    type: string
                                type: object
                              type: array
                            sqlQuery:
                              type: string
                          type: object
                        spigot:
                          description: Specifies a transform that writes samples of
                            the data to an Amazon S3 bucket.
                          properties:
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            path:
                              type: string
                            prob:
                              type: number
                            topk:
                              format: int64
                              type: integer
                          type: object
                        splitFields:
                          description: 'Specifies a transform that splits data property
                            keys into two DynamicFrames. The output is a collection
                            of DynamicFrames: one with selected data property keys,
                            and one with the remaining data property keys.'
                          properties:
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            paths:
                              items:
                                items:
                                  type: string
                                type: array
                              type: array
                          type: object
                        union:
                          description: Specifies a transform that combines the rows
                            from two or more datasets into a single result.
                          properties:
                            inputs:
                              items:
                                type: string
                              type: array
                            name:
                              type: string
                            unionType:
                              type: string
                          type: object
                      type: object
                    description: The representation of a directed acyclic graph on
                      which both the Glue Studio visual component and Glue Studio
                      code generation is based.
                    type: object
                  command:
                    description: The JobCommand that runs this job.
                    properties:
                      name:
                        type: string
                      pythonVersion:
                        type: string
                      runtime:
                        type: string
                      scriptLocation:
                        type: string
                    type: object
                  connectionRefs:
                    description: ConnectionRefs is a list of references to Connections
                      used to set the Connections.
                    items:
                      description: A Reference to a named object.
                      properties:
                        name:
                          description: Name of the referenced object.
                          type: string
                        policy:
                          description: Policies for referencing.
                          properties:
                            resolution:
                              default: Required
                              description: Resolution specifies whether resolution
                                of this reference is required. The default is 'Required',
                                which means the reconcile will fail if the reference
                                cannot be resolved. 'Optional' means this reference
                                will be a no-op if it cannot be resolved.
                              enum:
                              - Required
                              - Optional
                              type: string
                            resolve:
                              description: Resolve specifies when this reference should
                                be resolved. The default is 'IfNotPresent', which
                                will attempt to resolve the reference only when the
                                corresponding field is not present. Use 'Always' to
                                resolve the reference on every reconcile.
                              enum:
                              - Always
                              - IfNotPresent
                              type: string
                          type: object
                      required:
                      - name
                      type: object
                    type: array
                  connectionSelector:
                    description: ConnectionsSelector selects references to Connections
                      used to set the Connections.
                    properties:
                      matchControllerRef:
                        description: MatchControllerRef ensures an object with the
                          same controller reference as the selecting object is selected.
                        type: boolean
                      matchLabels:
                        additionalProperties:
                          type: string
                        description: MatchLabels ensures an object with matching labels
                          is selected.
                        type: object
                      policy:
                        description: Policies for selection.
                        properties:
                          resolution:
                            default: Required
                            description: Resolution specifies whether resolution of
                              this reference is required. The default is 'Required',
                              which means the reconcile will fail if the reference
                              cannot be resolved. 'Optional' means this reference
                              will be a no-op if it cannot be resolved.
                            enum:
                            - Required
                            - Optional
                            type: string
                          resolve:
                            description: Resolve specifies when this reference should
                              be resolved. The default is 'IfNotPresent', which will
                              attempt to resolve the reference only when the corresponding
                              field is not present. Use 'Always' to resolve the reference
                              on every reconcile.
                            enum:
                            - Always
                            - IfNotPresent
                            type: string
                        type: object
                    type: object
                  connections:
                    description: The connections used for this job.
                    items:
                      type: string
                    type: array
                  defaultArguments:
                    additionalProperties:
                      type: string
                    description: "The default arguments for every run of this job,
                      specified as name-value pairs. \n You can specify arguments
                      here that your own job-execution script consumes, as well as
                      arguments that Glue itself consumes. \n 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.
                      \n For information about how to specify and consume your own
                      Job arguments, see the Calling Glue APIs in Python (https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html)
                      topic in the developer guide. \n For information about the arguments
                      you can provide to this field when configuring Spark jobs, see
                      the Special Parameters Used by Glue (https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)
                      topic in the developer guide. \n For information about the arguments
                      you can provide to this field when configuring Ray jobs, see
                      Using job parameters in Ray jobs (https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html)
                      in the developer guide."
                    type: object
                  description:
                    description: Description of the job being defined.
                    type: string
                  executionClass:
                    description: "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. \n The flexible execution class is
                      appropriate for time-insensitive jobs whose start and completion
                      times may vary. \n 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."
                    type: string
                  executionProperty:
                    description: An ExecutionProperty specifying the maximum number
                      of concurrent runs allowed for this job.
                    properties:
                      maxConcurrentRuns:
                        format: int64
                        type: integer
                    type: object
                  glueVersion:
                    description: "In Spark jobs, GlueVersion determines the versions
                      of Apache Spark and Python that Glue available in a job. The
                      Python version indicates the version supported for jobs of type
                      Spark. \n Ray jobs should set GlueVersion to 4.0 or greater.
                      However, the versions of Ray, Python and additional libraries
                      available in your Ray job are determined by the Runtime parameter
                      of the Job command. \n For more information about the available
                      Glue versions and corresponding Spark and Python versions, see
                      Glue version (https://docs.aws.amazon.com/glue/latest/dg/add-job.html)
                      in the developer guide. \n Jobs that are created without specifying
                      a Glue version default to Glue 0.9."
                    type: string
                  logURI:
                    description: This field is reserved for future use.
                    type: string
                  maxCapacity:
                    description: "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 (https://aws.amazon.com/glue/pricing/).
                      \n For Glue version 2.0+ jobs, you cannot specify a Maximum
                      capacity. Instead, you should specify a Worker type and the
                      Number of workers. \n Do not set MaxCapacity if using WorkerType
                      and NumberOfWorkers. \n The value that can be allocated for
                      MaxCapacity depends on whether you are running a Python shell
                      job, an Apache Spark ETL job, or an Apache Spark streaming ETL
                      job: \n * 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. \n * When you specify an Apache Spark ETL job (JobCommand.Name=\"glueetl\")
                      or Apache Spark streaming ETL job (JobCommand.Name=\"gluestreaming\"),
                      you can allocate from 2 to 100 DPUs. The default is 10 DPUs.
                      This job type cannot have a fractional DPU allocation."
                    type: number
                  maxRetries:
                    description: The maximum number of times to retry this job if
                      it fails.
                    format: int64
                    type: integer
                  nonOverridableArguments:
                    additionalProperties:
                      type: string
                    description: Arguments for this job that are not overridden when
                      providing job arguments in a job run, specified as name-value
                      pairs.
                    type: object
                  notificationProperty:
                    description: Specifies configuration properties of a job notification.
                    properties:
                      notifyDelayAfter:
                        format: int64
                        type: integer
                    type: object
                  numberOfWorkers:
                    description: The number of workers of a defined workerType that
                      are allocated when a job runs.
                    format: int64
                    type: integer
                  region:
                    description: Region is which region the Job will be created.
                    type: string
                  role:
                    description: The name or Amazon Resource Name (ARN) of the IAM
                      role associated with this job. Role is a required field
                    type: string
                  roleRef:
                    description: RoleRef is a reference to an IAMRole used to set
                      the Role.
                    properties:
                      name:
                        description: Name of the referenced object.
                        type: string
                      policy:
                        description: Policies for referencing.
                        properties:
                          resolution:
                            default: Required
                            description: Resolution specifies whether resolution of
                              this reference is required. The default is 'Required',
                              which means the reconcile will fail if the reference
                              cannot be resolved. 'Optional' means this reference
                              will be a no-op if it cannot be resolved.
                            enum:
                            - Required
                            - Optional
                            type: string
                          resolve:
                            description: Resolve specifies when this reference should
                              be resolved. The default is 'IfNotPresent', which will
                              attempt to resolve the reference only when the corresponding
                              field is not present. Use 'Always' to resolve the reference
                              on every reconcile.
                            enum:
                            - Always
                            - IfNotPresent
                            type: string
                        type: object
                    required:
                    - name
                    type: object
                  roleSelector:
                    description: RoleSelector selects references to IAMRole used to
                      set the Role.
                    properties:
                      matchControllerRef:
                        description: MatchControllerRef ensures an object with the
                          same controller reference as the selecting object is selected.
                        type: boolean
                      matchLabels:
                        additionalProperties:
                          type: string
                        description: MatchLabels ensures an object with matching labels
                          is selected.
                        type: object
                      policy:
                        description: Policies for selection.
                        properties:
                          resolution:
                            default: Required
                            description: Resolution specifies whether resolution of
                              this reference is required. The default is 'Required',
                              which means the reconcile will fail if the reference
                              cannot be resolved. 'Optional' means this reference
                              will be a no-op if it cannot be resolved.
                            enum:
                            - Required
                            - Optional
                            type: string
                          resolve:
                            description: Resolve specifies when this reference should
                              be resolved. The default is 'IfNotPresent', which will
                              attempt to resolve the reference only when the corresponding
                              field is not present. Use 'Always' to resolve the reference
                              on every reconcile.
                            enum:
                            - Always
                            - IfNotPresent
                            type: string
                        type: object
                    type: object
                  securityConfiguration:
                    description: The name of the SecurityConfiguration structure to
                      be used with this job.
                    type: string
                  securityConfigurationRef:
                    description: SecurityConfigurationRef is a reference to an SecurityConfiguration
                      used to set the SecurityConfiguration.
                    properties:
                      name:
                        description: Name of the referenced object.
                        type: string
                      policy:
                        description: Policies for referencing.
                        properties:
                          resolution:
                            default: Required
                            description: Resolution specifies whether resolution of
                              this reference is required. The default is 'Required',
                              which means the reconcile will fail if the reference
                              cannot be resolved. 'Optional' means this reference
                              will be a no-op if it cannot be resolved.
                            enum:
                            - Required
                            - Optional
                            type: string
                          resolve:
                            description: Resolve specifies when this reference should
                              be resolved. The default is 'IfNotPresent', which will
                              attempt to resolve the reference only when the corresponding
                              field is not present. Use 'Always' to resolve the reference
                              on every reconcile.
                            enum:
                            - Always
                            - IfNotPresent
                            type: string
                        type: object
                    required:
                    - name
                    type: object
                  securityConfigurationSelector:
                    description: SecurityConfigurationSelector selects references
                      to SecurityConfiguration used to set the SecurityConfiguration.
                    properties:
                      matchControllerRef:
                        description: MatchControllerRef ensures an object with the
                          same controller reference as the selecting object is selected.
                        type: boolean
                      matchLabels:
                        additionalProperties:
                          type: string
                        description: MatchLabels ensures an object with matching labels
                          is selected.
                        type: object
                      policy:
                        description: Policies for selection.
                        properties:
                          resolution:
                            default: Required
                            description: Resolution specifies whether resolution of
                              this reference is required. The default is 'Required',
                              which means the reconcile will fail if the reference
                              cannot be resolved. 'Optional' means this reference
                              will be a no-op if it cannot be resolved.
                            enum:
                            - Required
                            - Optional
                            type: string
                          resolve:
                            description: Resolve specifies when this reference should
                              be resolved. The default is 'IfNotPresent', which will
                              attempt to resolve the reference only when the corresponding
                              field is not present. Use 'Always' to resolve the reference
                              on every reconcile.
                            enum:
                            - Always
                            - IfNotPresent
                            type: string
                        type: object
                    type: object
                  sourceControlDetails:
                    description: The details for a source control configuration for
                      a job, allowing synchronization of job artifacts to or from
                      a remote repository.
                    properties:
                      authStrategy:
                        type: string
                      authToken:
                        type: string
                      branch:
                        type: string
                      folder:
                        type: string
                      lastCommitID:
                        type: string
                      owner:
                        type: string
                      provider:
                        type: string
                      repository:
                        type: string
                    type: object
                  tags:
                    additionalProperties:
                      type: string
                    description: 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 (https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html)
                      in the developer guide.
                    type: object
                  timeout:
                    description: 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).
                    format: int64
                    type: integer
                  workerType:
                    description: "The type of predefined worker that is allocated
                      when a job runs. Accepts a value of G.1X, G.2X, G.4X, G.8X or
                      G.025X for Spark jobs. Accepts the value Z.2X for Ray jobs.
                      \n * For the G.1X worker type, each worker maps to 1 DPU (4
                      vCPUs, 16 GB of memory) with 84GB disk (approximately 34GB free),
                      and provides 1 executor per worker. We recommend this worker
                      type for workloads such as data transforms, joins, and queries,
                      to offers a scalable and cost effective way to run most jobs.
                      \n * For the G.2X worker type, each worker maps to 2 DPU (8
                      vCPUs, 32 GB of memory) with 128GB disk (approximately 77GB
                      free), and provides 1 executor per worker. We recommend this
                      worker type for workloads such as data transforms, joins, and
                      queries, to offers a scalable and cost effective way to run
                      most jobs. \n * For the G.4X worker type, each worker maps to
                      4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk (approximately
                      235GB free), and provides 1 executor per worker. We recommend
                      this worker type for jobs whose workloads contain your most
                      demanding transforms, aggregations, joins, and queries. This
                      worker type is available only for Glue version 3.0 or later
                      Spark ETL jobs in the following Amazon Web Services Regions:
                      US East (Ohio), US East (N. Virginia), US West (Oregon), Asia
                      Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo),
                      Canada (Central), Europe (Frankfurt), Europe (Ireland), and
                      Europe (Stockholm). \n * For the G.8X worker type, each worker
                      maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk (approximately
                      487GB free), and provides 1 executor per worker. We recommend
                      this worker type for jobs whose workloads contain your most
                      demanding transforms, aggregations, joins, and queries. This
                      worker type is available only for Glue version 3.0 or later
                      Spark ETL jobs, in the same Amazon Web Services Regions as supported
                      for the G.4X worker type. \n * For the G.025X worker type, each
                      worker maps to 0.25 DPU (2 vCPUs, 4 GB of memory) with 84GB
                      disk (approximately 34GB free), 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. \n * For the Z.2X worker type, each worker maps
                      to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk (approximately
                      120GB free), and provides up to 8 Ray workers based on the autoscaler."
                    type: string
                required:
                - command
                - region
                type: object
              managementPolicies:
                default:
                - '*'
                description: 'THIS IS A BETA FIELD. It is on by default but can be
                  opted out through a Crossplane feature flag. ManagementPolicies
                  specify the array of actions Crossplane is allowed to take on the
                  managed and external resources. This field is planned to replace
                  the DeletionPolicy field in a future release. Currently, both could
                  be set independently and non-default values would be honored if
                  the feature flag is enabled. If both are custom, the DeletionPolicy
                  field will be ignored. See the design doc for more information:
                  https://github.com/crossplane/crossplane/blob/499895a25d1a1a0ba1604944ef98ac7a1a71f197/design/design-doc-observe-only-resources.md?plain=1#L223
                  and this one: https://github.com/crossplane/crossplane/blob/444267e84783136daa93568b364a5f01228cacbe/design/one-pager-ignore-changes.md'
                items:
                  description: A ManagementAction represents an action that the Crossplane
                    controllers can take on an external resource.
                  enum:
                  - Observe
                  - Create
                  - Update
                  - Delete
                  - LateInitialize
                  - '*'
                  type: string
                type: array
              providerConfigRef:
                default:
                  name: default
                description: ProviderConfigReference specifies how the provider that
                  will be used to create, observe, update, and delete this managed
                  resource should be configured.
                properties:
                  name:
                    description: Name of the referenced object.
                    type: string
                  policy:
                    description: Policies for referencing.
                    properties:
                      resolution:
                        default: Required
                        description: Resolution specifies whether resolution of this
                          reference is required. The default is 'Required', which
                          means the reconcile will fail if the reference cannot be
                          resolved. 'Optional' means this reference will be a no-op
                          if it cannot be resolved.
                        enum:
                        - Required
                        - Optional
                        type: string
                      resolve:
                        description: Resolve specifies when this reference should
                          be resolved. The default is 'IfNotPresent', which will attempt
                          to resolve the reference only when the corresponding field
                          is not present. Use 'Always' to resolve the reference on
                          every reconcile.
                        enum:
                        - Always
                        - IfNotPresent
                        type: string
                    type: object
                required:
                - name
                type: object
              publishConnectionDetailsTo:
                description: PublishConnectionDetailsTo specifies the connection secret
                  config which contains a name, metadata and a reference to secret
                  store config to which any connection details for this managed resource
                  should be written. Connection details frequently include the endpoint,
                  username, and password required to connect to the managed resource.
                properties:
                  configRef:
                    default:
                      name: default
                    description: SecretStoreConfigRef specifies which secret store
                      config should be used for this ConnectionSecret.
                    properties:
                      name:
                        description: Name of the referenced object.
                        type: string
                      policy:
                        description: Policies for referencing.
                        properties:
                          resolution:
                            default: Required
                            description: Resolution specifies whether resolution of
                              this reference is required. The default is 'Required',
                              which means the reconcile will fail if the reference
                              cannot be resolved. 'Optional' means this reference
                              will be a no-op if it cannot be resolved.
                            enum:
                            - Required
                            - Optional
                            type: string
                          resolve:
                            description: Resolve specifies when this reference should
                              be resolved. The default is 'IfNotPresent', which will
                              attempt to resolve the reference only when the corresponding
                              field is not present. Use 'Always' to resolve the reference
                              on every reconcile.
                            enum:
                            - Always
                            - IfNotPresent
                            type: string
                        type: object
                    required:
                    - name
                    type: object
                  metadata:
                    description: Metadata is the metadata for connection secret.
                    properties:
                      annotations:
                        additionalProperties:
                          type: string
                        description: Annotations are the annotations to be added to
                          connection secret. - For Kubernetes secrets, this will be
                          used as "metadata.annotations". - It is up to Secret Store
                          implementation for others store types.
                        type: object
                      labels:
                        additionalProperties:
                          type: string
                        description: Labels are the labels/tags to be added to connection
                          secret. - For Kubernetes secrets, this will be used as "metadata.labels".
                          - It is up to Secret Store implementation for others store
                          types.
                        type: object
                      type:
                        description: Type is the SecretType for the connection secret.
                          - Only valid for Kubernetes Secret Stores.
                        type: string
                    type: object
                  name:
                    description: Name is the name of the connection secret.
                    type: string
                required:
                - name
                type: object
              writeConnectionSecretToRef:
                description: WriteConnectionSecretToReference specifies the namespace
                  and name of a Secret to which any connection details for this managed
                  resource should be written. Connection details frequently include
                  the endpoint, username, and password required to connect to the
                  managed resource. This field is planned to be replaced in a future
                  release in favor of PublishConnectionDetailsTo. Currently, both
                  could be set independently and connection details would be published
                  to both without affecting each other.
                properties:
                  name:
                    description: Name of the secret.
                    type: string
                  namespace:
                    description: Namespace of the secret.
                    type: string
                required:
                - name
                - namespace
                type: object
            required:
            - forProvider
            type: object
          status:
            description: JobStatus defines the observed state of Job.
            properties:
              atProvider:
                description: JobObservation defines the observed state of Job
                properties:
                  createdOn:
                    description: The time and date that this job definition was created.
                    format: date-time
                    type: string
                  lastModifiedOn:
                    description: The last point in time when this job definition was
                      modified.
                    format: date-time
                    type: string
                  name:
                    description: The unique name that was provided for this job definition.
                    type: string
                type: object
              conditions:
                description: Conditions of the resource.
                items:
                  description: A Condition that may apply to a resource.
                  properties:
                    lastTransitionTime:
                      description: LastTransitionTime is the last time this condition
                        transitioned from one status to another.
                      format: date-time
                      type: string
                    message:
                      description: A Message containing details about this condition's
                        last transition from one status to another, if any.
                      type: string
                    reason:
                      description: A Reason for this condition's last transition from
                        one status to another.
                      type: string
                    status:
                      description: Status of this condition; is it currently True,
                        False, or Unknown?
                      type: string
                    type:
                      description: Type of this condition. At most one of each condition
                        type may apply to a resource at any point in time.
                      type: string
                  required:
                  - lastTransitionTime
                  - reason
                  - status
                  - type
                  type: object
                type: array
                x-kubernetes-list-map-keys:
                - type
                x-kubernetes-list-type: map
            type: object
        required:
        - spec
        type: object
    served: true
    storage: true
    subresources:
      status: {}
