diff --git a/clients/client-glue/src/commands/CreateScriptCommand.ts b/clients/client-glue/src/commands/CreateScriptCommand.ts index ae1225d201d3..d90bf1680183 100644 --- a/clients/client-glue/src/commands/CreateScriptCommand.ts +++ b/clients/client-glue/src/commands/CreateScriptCommand.ts @@ -14,8 +14,12 @@ import { } from "@aws-sdk/types"; import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { CreateScriptRequest, CreateScriptRequestFilterSensitiveLog } from "../models/models_0"; -import { CreateScriptResponse, CreateScriptResponseFilterSensitiveLog } from "../models/models_1"; +import { + CreateScriptRequest, + CreateScriptRequestFilterSensitiveLog, + CreateScriptResponse, + CreateScriptResponseFilterSensitiveLog, +} from "../models/models_1"; import { deserializeAws_json1_1CreateScriptCommand, serializeAws_json1_1CreateScriptCommand, diff --git a/clients/client-glue/src/commands/ListCrawlsCommand.ts b/clients/client-glue/src/commands/ListCrawlsCommand.ts index 43fcdfd64182..9d1af0145198 100644 --- a/clients/client-glue/src/commands/ListCrawlsCommand.ts +++ b/clients/client-glue/src/commands/ListCrawlsCommand.ts @@ -14,8 +14,12 @@ import { } from "@aws-sdk/types"; import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient"; -import { ListCrawlsRequest, ListCrawlsRequestFilterSensitiveLog } from "../models/models_1"; -import { ListCrawlsResponse, ListCrawlsResponseFilterSensitiveLog } from "../models/models_2"; +import { + ListCrawlsRequest, + ListCrawlsRequestFilterSensitiveLog, + ListCrawlsResponse, + ListCrawlsResponseFilterSensitiveLog, +} from "../models/models_2"; import { deserializeAws_json1_1ListCrawlsCommand, serializeAws_json1_1ListCrawlsCommand, diff --git a/clients/client-glue/src/endpoint/EndpointParameters.ts b/clients/client-glue/src/endpoint/EndpointParameters.ts index e92b1aa5269b..b1014fdfd622 100644 --- a/clients/client-glue/src/endpoint/EndpointParameters.ts +++ b/clients/client-glue/src/endpoint/EndpointParameters.ts @@ -24,7 +24,7 @@ export const resolveClientEndpointParameters = ( }; export interface EndpointParameters extends __EndpointParameters { - Region: string; + Region?: string; UseDualStack?: boolean; UseFIPS?: boolean; Endpoint?: string; diff --git a/clients/client-glue/src/endpoint/ruleset.ts b/clients/client-glue/src/endpoint/ruleset.ts index 0a49b8b67c4c..9d629a44adff 100644 --- a/clients/client-glue/src/endpoint/ruleset.ts +++ b/clients/client-glue/src/endpoint/ruleset.ts @@ -6,24 +6,25 @@ import { RuleSetObject } from "@aws-sdk/util-endpoints"; or see "smithy.rules#endpointRuleSet" in codegen/sdk-codegen/aws-models/glue.json */ -const q="fn", -r="argv", -s="ref"; -const a=true, -b=false, -c="String", -d="PartitionResult", -e="tree", -f="error", -g="endpoint", -h={"required":true,"default":false,"type":"Boolean"}, -i={[s]:"Endpoint"}, -j={[q]:"booleanEquals",[r]:[{[s]:"UseFIPS"},true]}, -k={[q]:"booleanEquals",[r]:[{[s]:"UseDualStack"},true]}, -l={}, -m={[q]:"booleanEquals",[r]:[true,{[q]:"getAttr",[r]:[{[s]:d},"supportsFIPS"]}]}, -n={[q]:"booleanEquals",[r]:[true,{[q]:"getAttr",[r]:[{[s]:d},"supportsDualStack"]}]}, +const q="required", +r="fn", +s="argv", +t="ref"; +const a="isSet", +b="tree", +c="error", +d="endpoint", +e="PartitionResult", +f={[q]:false,"type":"String"}, +g={[q]:true,"default":false,"type":"Boolean"}, +h={[t]:"Endpoint"}, +i={[r]:"booleanEquals",[s]:[{[t]:"UseFIPS"},true]}, +j={[r]:"booleanEquals",[s]:[{[t]:"UseDualStack"},true]}, +k={}, +l={[r]:"booleanEquals",[s]:[true,{[r]:"getAttr",[s]:[{[t]:e},"supportsFIPS"]}]}, +m={[r]:"booleanEquals",[s]:[true,{[r]:"getAttr",[s]:[{[t]:e},"supportsDualStack"]}]}, +n=[i], o=[j], -p=[k]; -const _data={version:"1.0",parameters:{Region:{required:a,type:c},UseDualStack:h,UseFIPS:h,Endpoint:{required:b,type:c}},rules:[{conditions:[{[q]:"aws.partition",[r]:[{[s]:"Region"}],assign:d}],type:e,rules:[{conditions:[{[q]:"isSet",[r]:[i]}],type:e,rules:[{conditions:o,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:f},{type:e,rules:[{conditions:p,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:f},{endpoint:{url:i,properties:l,headers:l},type:g}]}]},{conditions:[j,k],type:e,rules:[{conditions:[m,n],type:e,rules:[{type:e,rules:[{endpoint:{url:"https://glue-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:l,headers:l},type:g}]}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:f}]},{conditions:o,type:e,rules:[{conditions:[m],type:e,rules:[{type:e,rules:[{endpoint:{url:"https://glue-fips.{Region}.{PartitionResult#dnsSuffix}",properties:l,headers:l},type:g}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:f}]},{conditions:p,type:e,rules:[{conditions:[n],type:e,rules:[{type:e,rules:[{endpoint:{url:"https://glue.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:l,headers:l},type:g}]}]},{error:"DualStack is enabled but this partition does not support DualStack",type:f}]},{type:e,rules:[{endpoint:{url:"https://glue.{Region}.{PartitionResult#dnsSuffix}",properties:l,headers:l},type:g}]}]}]}; +p=[{[t]:"Region"}]; +const _data={version:"1.0",parameters:{Region:f,UseDualStack:g,UseFIPS:g,Endpoint:f},rules:[{conditions:[{[r]:a,[s]:[h]}],type:b,rules:[{conditions:n,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:c},{type:b,rules:[{conditions:o,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:c},{endpoint:{url:h,properties:k,headers:k},type:d}]}]},{type:b,rules:[{conditions:[{[r]:a,[s]:p}],type:b,rules:[{conditions:[{[r]:"aws.partition",[s]:p,assign:e}],type:b,rules:[{conditions:[i,j],type:b,rules:[{conditions:[l,m],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://glue-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:c}]},{conditions:n,type:b,rules:[{conditions:[l],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://glue-fips.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:c}]},{conditions:o,type:b,rules:[{conditions:[m],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://glue.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"DualStack is enabled but this partition does not support DualStack",type:c}]},{type:b,rules:[{endpoint:{url:"https://glue.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]}]},{error:"Invalid Configuration: Missing Region",type:c}]}]}; export const ruleSet: RuleSetObject = _data; diff --git a/clients/client-glue/src/models/models_0.ts b/clients/client-glue/src/models/models_0.ts index d0b80311c5b2..dc31516dda52 100644 --- a/clients/client-glue/src/models/models_0.ts +++ b/clients/client-glue/src/models/models_0.ts @@ -2339,6 +2339,49 @@ export interface CustomCode { OutputSchemas?: GlueSchema[]; } +export enum JDBCConnectionType { + mysql = "mysql", + oracle = "oracle", + postgresql = "postgresql", + redshift = "redshift", + sqlserver = "sqlserver", +} + +/** + *

Specifies the direct JDBC source connection.

+ */ +export interface DirectJDBCSource { + /** + *

The name of the JDBC source connection.

+ */ + Name: string | undefined; + + /** + *

The database of the JDBC source connection.

+ */ + Database: string | undefined; + + /** + *

The table of the JDBC source connection.

+ */ + Table: string | undefined; + + /** + *

The connection name of the JDBC source.

+ */ + ConnectionName: string | undefined; + + /** + *

The connection type of the JDBC source.

+ */ + ConnectionType: JDBCConnectionType | string | undefined; + + /** + *

The temp directory of the JDBC Redshift source.

+ */ + RedshiftTmpDir?: string; +} + /** *

Specifies an Apache Kafka data store.

*/ @@ -7122,28 +7165,6 @@ export interface CodeGenNode { LineNumber?: number; } -export enum Language { - PYTHON = "PYTHON", - SCALA = "SCALA", -} - -export interface CreateScriptRequest { - /** - *

A list of the nodes in the DAG.

- */ - DagNodes?: CodeGenNode[]; - - /** - *

A list of the edges in the DAG.

- */ - DagEdges?: CodeGenEdge[]; - - /** - *

The programming language of the resulting code from the DAG.

- */ - Language?: Language | string; -} - /** * @internal */ @@ -7655,6 +7676,13 @@ export const CustomCodeFilterSensitiveLog = (obj: CustomCode): any => ({ ...obj, }); +/** + * @internal + */ +export const DirectJDBCSourceFilterSensitiveLog = (obj: DirectJDBCSource): any => ({ + ...obj, +}); + /** * @internal */ @@ -8770,10 +8798,3 @@ export const CodeGenNodeArgFilterSensitiveLog = (obj: CodeGenNodeArg): any => ({ export const CodeGenNodeFilterSensitiveLog = (obj: CodeGenNode): any => ({ ...obj, }); - -/** - * @internal - */ -export const CreateScriptRequestFilterSensitiveLog = (obj: CreateScriptRequest): any => ({ - ...obj, -}); diff --git a/clients/client-glue/src/models/models_1.ts b/clients/client-glue/src/models/models_1.ts index 33917a4a95d3..f6726c99c8a6 100644 --- a/clients/client-glue/src/models/models_1.ts +++ b/clients/client-glue/src/models/models_1.ts @@ -25,7 +25,6 @@ import { EventBatchingCondition, GlueTable, JobRun, - Language, Partition, PartitionIndex, PartitionValueList, @@ -48,6 +47,28 @@ import { WorkflowRun, } from "./models_0"; +export enum Language { + PYTHON = "PYTHON", + SCALA = "SCALA", +} + +export interface CreateScriptRequest { + /** + *

A list of the nodes in the DAG.

+ */ + DagNodes?: CodeGenNode[]; + + /** + *

A list of the edges in the DAG.

+ */ + DagEdges?: CodeGenEdge[]; + + /** + *

The programming language of the resulting code from the DAG.

+ */ + Language?: Language | string; +} + export interface CreateScriptResponse { /** *

The Python script generated from the DAG.

@@ -5812,90 +5833,11 @@ export enum FilterOperator { } /** - *

A list of fields, comparators and value that you can use to filter the crawler runs for a specified crawler.

+ * @internal */ -export interface CrawlsFilter { - /** - *

A key used to filter the crawler runs for a specified crawler. Valid values for each of the field names are:

- * - */ - FieldName?: FieldName | string; - - /** - *

A defined comparator that operates on the value. The available operators are:

- * - */ - FilterOperator?: FilterOperator | string; - - /** - *

The value provided for comparison on the crawl field.

- */ - FieldValue?: string; -} - -export interface ListCrawlsRequest { - /** - *

The name of the crawler whose runs you want to retrieve.

- */ - CrawlerName: string | undefined; - - /** - *

The maximum number of results to return. The default is 20, and maximum is 100.

- */ - MaxResults?: number; - - /** - *

Filters the crawls by the criteria you specify in a list of CrawlsFilter objects.

- */ - Filters?: CrawlsFilter[]; - - /** - *

A continuation token, if this is a continuation call.

- */ - NextToken?: string; -} +export const CreateScriptRequestFilterSensitiveLog = (obj: CreateScriptRequest): any => ({ + ...obj, +}); /** * @internal @@ -7828,17 +7770,3 @@ export const ListCrawlersRequestFilterSensitiveLog = (obj: ListCrawlersRequest): export const ListCrawlersResponseFilterSensitiveLog = (obj: ListCrawlersResponse): any => ({ ...obj, }); - -/** - * @internal - */ -export const CrawlsFilterFilterSensitiveLog = (obj: CrawlsFilter): any => ({ - ...obj, -}); - -/** - * @internal - */ -export const ListCrawlsRequestFilterSensitiveLog = (obj: ListCrawlsRequest): any => ({ - ...obj, -}); diff --git a/clients/client-glue/src/models/models_2.ts b/clients/client-glue/src/models/models_2.ts index e10a256a47f9..301eddbca080 100644 --- a/clients/client-glue/src/models/models_2.ts +++ b/clients/client-glue/src/models/models_2.ts @@ -21,6 +21,7 @@ import { DatabaseInput, DataQualityTargetTable, DataSource, + DirectJDBCSource, DirectKafkaSource, DirectKinesisSource, DropDuplicates, @@ -97,6 +98,8 @@ import { ColumnStatistics, DataCatalogEncryptionSettings, DataQualityEvaluationRunAdditionalRunOptions, + FieldName, + FilterOperator, JobBookmarkEntry, RegistryStatus, ResourceShareType, @@ -110,6 +113,92 @@ import { UserDefinedFunctionInput, } from "./models_1"; +/** + *

A list of fields, comparators and value that you can use to filter the crawler runs for a specified crawler.

+ */ +export interface CrawlsFilter { + /** + *

A key used to filter the crawler runs for a specified crawler. Valid values for each of the field names are:

+ * + */ + FieldName?: FieldName | string; + + /** + *

A defined comparator that operates on the value. The available operators are:

+ * + */ + FilterOperator?: FilterOperator | string; + + /** + *

The value provided for comparison on the crawl field.

+ */ + FieldValue?: string; +} + +export interface ListCrawlsRequest { + /** + *

The name of the crawler whose runs you want to retrieve.

+ */ + CrawlerName: string | undefined; + + /** + *

The maximum number of results to return. The default is 20, and maximum is 100.

+ */ + MaxResults?: number; + + /** + *

Filters the crawls by the criteria you specify in a list of CrawlsFilter objects.

+ */ + Filters?: CrawlsFilter[]; + + /** + *

A continuation token, if this is a continuation call.

+ */ + NextToken?: string; +} + export enum CrawlerHistoryState { COMPLETED = "COMPLETED", FAILED = "FAILED", @@ -3548,6 +3637,11 @@ export interface CodeGenConfigurationNode { *

Specifies a target that writes to a Hudi data source in Amazon S3.

*/ S3HudiDirectTarget?: S3HudiDirectTarget; + + /** + *

Specifies the direct JDBC source connection.

+ */ + DirectJDBCSource?: DirectJDBCSource; } export interface CreateJobRequest { @@ -4088,6 +4182,20 @@ export interface GetJobsResponse { NextToken?: string; } +/** + * @internal + */ +export const CrawlsFilterFilterSensitiveLog = (obj: CrawlsFilter): any => ({ + ...obj, +}); + +/** + * @internal + */ +export const ListCrawlsRequestFilterSensitiveLog = (obj: ListCrawlsRequest): any => ({ + ...obj, +}); + /** * @internal */ diff --git a/clients/client-glue/src/protocols/Aws_json1_1.ts b/clients/client-glue/src/protocols/Aws_json1_1.ts index 39c443837274..d5fabf73235b 100644 --- a/clients/client-glue/src/protocols/Aws_json1_1.ts +++ b/clients/client-glue/src/protocols/Aws_json1_1.ts @@ -547,7 +547,6 @@ import { CreateRegistryResponse, CreateSchemaInput, CreateSchemaResponse, - CreateScriptRequest, CreateXMLClassifierRequest, CustomCode, CustomEntityType, @@ -561,6 +560,7 @@ import { Datatype, DeltaTarget, DevEndpoint, + DirectJDBCSource, DirectKafkaSource, DirectKinesisSource, DirectSchemaChangePolicy, @@ -716,7 +716,7 @@ import { ConnectionPasswordEncryption, CrawlerMetrics, CrawlerRunningException, - CrawlsFilter, + CreateScriptRequest, CreateScriptResponse, CreateSecurityConfigurationRequest, CreateSecurityConfigurationResponse, @@ -938,7 +938,6 @@ import { ListBlueprintsResponse, ListCrawlersRequest, ListCrawlersResponse, - ListCrawlsRequest, Location, LongColumnStatisticsData, MappingEntry, @@ -984,6 +983,7 @@ import { CrawlerHistory, CrawlerNotRunningException, CrawlerStoppingException, + CrawlsFilter, CreateJobRequest, DataQualityResultDescription, DataQualityResultFilterCriteria, @@ -1000,6 +1000,7 @@ import { IllegalWorkflowStateException, Job, JobUpdate, + ListCrawlsRequest, ListCrawlsResponse, ListCustomEntityTypesRequest, ListCustomEntityTypesResponse, @@ -15146,6 +15147,9 @@ const serializeAws_json1_1CodeGenConfigurationNode = ( CatalogTarget: serializeAws_json1_1BasicCatalogTarget(input.CatalogTarget, context), }), ...(input.CustomCode != null && { CustomCode: serializeAws_json1_1CustomCode(input.CustomCode, context) }), + ...(input.DirectJDBCSource != null && { + DirectJDBCSource: serializeAws_json1_1DirectJDBCSource(input.DirectJDBCSource, context), + }), ...(input.DirectKafkaSource != null && { DirectKafkaSource: serializeAws_json1_1DirectKafkaSource(input.DirectKafkaSource, context), }), @@ -16394,6 +16398,17 @@ const serializeAws_json1_1DevEndpointNames = (input: string[], context: __SerdeC }); }; +const serializeAws_json1_1DirectJDBCSource = (input: DirectJDBCSource, context: __SerdeContext): any => { + return { + ...(input.ConnectionName != null && { ConnectionName: input.ConnectionName }), + ...(input.ConnectionType != null && { ConnectionType: input.ConnectionType }), + ...(input.Database != null && { Database: input.Database }), + ...(input.Name != null && { Name: input.Name }), + ...(input.RedshiftTmpDir != null && { RedshiftTmpDir: input.RedshiftTmpDir }), + ...(input.Table != null && { Table: input.Table }), + }; +}; + const serializeAws_json1_1DirectKafkaSource = (input: DirectKafkaSource, context: __SerdeContext): any => { return { ...(input.DataPreviewOptions != null && { @@ -20574,6 +20589,10 @@ const deserializeAws_json1_1CodeGenConfigurationNode = ( ? deserializeAws_json1_1BasicCatalogTarget(output.CatalogTarget, context) : undefined, CustomCode: output.CustomCode != null ? deserializeAws_json1_1CustomCode(output.CustomCode, context) : undefined, + DirectJDBCSource: + output.DirectJDBCSource != null + ? deserializeAws_json1_1DirectJDBCSource(output.DirectJDBCSource, context) + : undefined, DirectKafkaSource: output.DirectKafkaSource != null ? deserializeAws_json1_1DirectKafkaSource(output.DirectKafkaSource, context) @@ -22208,6 +22227,17 @@ const deserializeAws_json1_1DevEndpointNames = (output: any, context: __SerdeCon return retVal; }; +const deserializeAws_json1_1DirectJDBCSource = (output: any, context: __SerdeContext): DirectJDBCSource => { + return { + ConnectionName: __expectString(output.ConnectionName), + ConnectionType: __expectString(output.ConnectionType), + Database: __expectString(output.Database), + Name: __expectString(output.Name), + RedshiftTmpDir: __expectString(output.RedshiftTmpDir), + Table: __expectString(output.Table), + } as any; +}; + const deserializeAws_json1_1DirectKafkaSource = (output: any, context: __SerdeContext): DirectKafkaSource => { return { DataPreviewOptions: diff --git a/codegen/sdk-codegen/aws-models/glue.json b/codegen/sdk-codegen/aws-models/glue.json index 97a59ce460d1..dd66a9b5f508 100644 --- a/codegen/sdk-codegen/aws-models/glue.json +++ b/codegen/sdk-codegen/aws-models/glue.json @@ -659,7 +659,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -688,13 +688,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -702,14 +701,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -718,67 +723,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -787,154 +767,215 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://glue-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://glue-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://glue-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, { "conditions": [], - "endpoint": { - "url": "https://glue-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true ] } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://glue.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], "type": "tree", @@ -942,7 +983,7 @@ { "conditions": [], "endpoint": { - "url": "https://glue.{Region}.{PartitionResult#dualStackDnsSuffix}", + "url": "https://glue.{Region}.{PartitionResult#dnsSuffix}", "properties": {}, "headers": {} }, @@ -951,28 +992,13 @@ ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://glue.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } @@ -989,8 +1015,8 @@ }, "params": { "Region": "af-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1002,8 +1028,8 @@ }, "params": { "Region": "ap-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1015,8 +1041,8 @@ }, "params": { "Region": "ap-northeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1028,8 +1054,8 @@ }, "params": { "Region": "ap-northeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1041,8 +1067,8 @@ }, "params": { "Region": "ap-northeast-3", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1054,8 +1080,8 @@ }, "params": { "Region": "ap-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1067,8 +1093,8 @@ }, "params": { "Region": "ap-southeast-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1080,8 +1106,8 @@ }, "params": { "Region": "ap-southeast-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1093,8 +1119,8 @@ }, "params": { "Region": "ca-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1106,8 +1132,8 @@ }, "params": { "Region": "eu-central-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1119,8 +1145,8 @@ }, "params": { "Region": "eu-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1132,8 +1158,8 @@ }, "params": { "Region": "eu-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1145,8 +1171,8 @@ }, "params": { "Region": "eu-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1158,8 +1184,8 @@ }, "params": { "Region": "eu-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1171,8 +1197,8 @@ }, "params": { "Region": "eu-west-3", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1184,8 +1210,8 @@ }, "params": { "Region": "me-south-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1197,8 +1223,8 @@ }, "params": { "Region": "sa-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1210,8 +1236,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1223,8 +1249,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1236,8 +1262,8 @@ }, "params": { "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1249,8 +1275,8 @@ }, "params": { "Region": "us-east-2", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1262,8 +1288,8 @@ }, "params": { "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1275,8 +1301,8 @@ }, "params": { "Region": "us-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1288,8 +1314,8 @@ }, "params": { "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1301,8 +1327,8 @@ }, "params": { "Region": "us-west-2", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1314,8 +1340,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1327,8 +1353,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -1340,8 +1366,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1353,8 +1379,8 @@ }, "params": { "Region": "cn-northwest-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1366,8 +1392,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1379,8 +1405,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1392,8 +1418,8 @@ }, "params": { "Region": "cn-north-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -1405,8 +1431,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1418,8 +1444,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1431,8 +1457,8 @@ }, "params": { "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1444,8 +1470,8 @@ }, "params": { "Region": "us-gov-west-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1457,8 +1483,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": true } }, { @@ -1470,8 +1496,8 @@ }, "params": { "Region": "us-gov-east-1", - "UseDualStack": true, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": true } }, { @@ -1483,8 +1509,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1496,8 +1522,8 @@ }, "params": { "Region": "us-iso-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { @@ -1509,8 +1535,8 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": true + "UseFIPS": true, + "UseDualStack": false } }, { @@ -1522,12 +1548,12 @@ }, "params": { "Region": "us-isob-east-1", - "UseDualStack": false, - "UseFIPS": false + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" @@ -1535,8 +1561,21 @@ }, "params": { "Region": "us-east-1", + "UseFIPS": false, "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { "UseFIPS": false, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1547,8 +1586,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": false, "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -1559,8 +1598,8 @@ }, "params": { "Region": "us-east-1", - "UseDualStack": true, "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } } @@ -4847,6 +4886,9 @@ "traits": { "smithy.api#documentation": "

Specifies a target that writes to a Hudi data source in Amazon S3.

" } + }, + "DirectJDBCSource": { + "target": "com.amazonaws.glue#DirectJDBCSource" } }, "traits": { @@ -11968,6 +12010,55 @@ } } }, + "com.amazonaws.glue#DirectJDBCSource": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.glue#NodeName", + "traits": { + "smithy.api#documentation": "

The name of the JDBC source connection.

", + "smithy.api#required": {} + } + }, + "Database": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The database of the JDBC source connection.

", + "smithy.api#required": {} + } + }, + "Table": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The table of the JDBC source connection.

", + "smithy.api#required": {} + } + }, + "ConnectionName": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The connection name of the JDBC source.

", + "smithy.api#required": {} + } + }, + "ConnectionType": { + "target": "com.amazonaws.glue#JDBCConnectionType", + "traits": { + "smithy.api#documentation": "

The connection type of the JDBC source.

", + "smithy.api#required": {} + } + }, + "RedshiftTmpDir": { + "target": "com.amazonaws.glue#EnclosedInStringProperty", + "traits": { + "smithy.api#documentation": "

The temp directory of the JDBC Redshift source.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the direct JDBC source connection.

" + } + }, "com.amazonaws.glue#DirectKafkaSource": { "type": "structure", "members": { @@ -19054,6 +19145,41 @@ "smithy.api#default": false } }, + "com.amazonaws.glue#JDBCConnectionType": { + "type": "enum", + "members": { + "sqlserver": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sqlserver" + } + }, + "mysql": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "mysql" + } + }, + "oracle": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "oracle" + } + }, + "postgresql": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "postgresql" + } + }, + "redshift": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "redshift" + } + } + } + }, "com.amazonaws.glue#JDBCConnectorOptions": { "type": "structure", "members": {