From 66bfa6bc57fbc58dee3eb8e74b7dec44102d1a56 Mon Sep 17 00:00:00 2001 From: aws-sdk-go-automation <43143561+aws-sdk-go-automation@users.noreply.github.com> Date: Wed, 19 Jun 2024 14:32:37 -0400 Subject: [PATCH] Release v1.54.5 (2024-06-19) (#5291) Release v1.54.5 (2024-06-19) === ### Service Client Updates * `service/artifact`: Updates service API, documentation, waiters, and examples * `service/athena`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. * `service/cur`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. * `service/directconnect`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. * `service/elastictranscoder`: Updates service API * Add v2 smoke tests and smithy smokeTests trait for SDK testing. * `service/opensearch`: Updates service API and documentation --- CHANGELOG.md | 15 + aws/endpoints/defaults.go | 56 +++ aws/version.go | 2 +- models/apis/artifact/2018-05-10/api-2.json | 84 ++-- models/apis/artifact/2018-05-10/docs-2.json | 33 +- .../apis/artifact/2018-05-10/examples-1.json | 113 +++++ models/apis/artifact/2018-05-10/smoke.json | 6 + .../apis/artifact/2018-05-10/waiters-2.json | 5 + models/apis/athena/2017-05-18/api-2.json | 3 +- models/apis/athena/2017-05-18/smoke-2.json | 16 + models/apis/cur/2017-01-06/api-2.json | 4 +- models/apis/cur/2017-01-06/smoke-2.json | 16 + .../apis/directconnect/2012-10-25/api-2.json | 4 +- .../2012-10-25/endpoint-rule-set-1.json | 366 +++++++--------- .../directconnect/2012-10-25/smoke-2.json | 29 ++ .../elastictranscoder/2012-09-25/api-2.json | 4 +- .../2012-09-25/endpoint-rule-set-1.json | 314 ++++++++++++++ .../2012-09-25/endpoint-tests-1.json | 405 ++++++++++++++++++ .../elastictranscoder/2012-09-25/smoke-2.json | 16 + models/apis/opensearch/2021-01-01/api-2.json | 33 +- models/apis/opensearch/2021-01-01/docs-2.json | 34 +- models/endpoints/endpoints.json | 38 ++ service/artifact/api.go | 9 + service/artifact/examples_test.go | 271 ++++++++++++ service/opensearchservice/api.go | 164 ++++++- 25 files changed, 1772 insertions(+), 268 deletions(-) create mode 100644 models/apis/artifact/2018-05-10/smoke.json create mode 100644 models/apis/artifact/2018-05-10/waiters-2.json create mode 100644 models/apis/athena/2017-05-18/smoke-2.json create mode 100644 models/apis/cur/2017-01-06/smoke-2.json create mode 100644 models/apis/directconnect/2012-10-25/smoke-2.json create mode 100644 models/apis/elastictranscoder/2012-09-25/endpoint-rule-set-1.json create mode 100644 models/apis/elastictranscoder/2012-09-25/endpoint-tests-1.json create mode 100644 models/apis/elastictranscoder/2012-09-25/smoke-2.json create mode 100644 service/artifact/examples_test.go diff --git a/CHANGELOG.md b/CHANGELOG.md index 15ae075ed1a..7fc7b8acc23 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +Release v1.54.5 (2024-06-19) +=== + +### Service Client Updates +* `service/artifact`: Updates service API, documentation, waiters, and examples +* `service/athena`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* `service/cur`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* `service/directconnect`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* `service/elastictranscoder`: Updates service API + * Add v2 smoke tests and smithy smokeTests trait for SDK testing. +* `service/opensearch`: Updates service API and documentation + Release v1.54.4 (2024-06-18) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 54a93239e61..59ced8fa158 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -41977,6 +41977,62 @@ var awsusgovPartition = partition{ }: endpoint{}, }, }, + "kinesisvideo": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "fips-us-gov-east-1", + }: endpoint{ + Hostname: "kinesisvideo-fips.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "fips-us-gov-west-1", + }: endpoint{ + Hostname: "kinesisvideo-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + Deprecated: boxedTrue, + }, + endpointKey{ + Region: "us-gov-east-1", + }: endpoint{ + Hostname: "kinesisvideo-fips.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + endpointKey{ + Region: "us-gov-east-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "kinesisvideo-fips.us-gov-east-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-east-1", + }, + }, + endpointKey{ + Region: "us-gov-west-1", + }: endpoint{ + Hostname: "kinesisvideo-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + endpointKey{ + Region: "us-gov-west-1", + Variant: fipsVariant, + }: endpoint{ + Hostname: "kinesisvideo-fips.us-gov-west-1.amazonaws.com", + CredentialScope: credentialScope{ + Region: "us-gov-west-1", + }, + }, + }, + }, "kms": service{ Endpoints: serviceEndpoints{ endpointKey{ diff --git a/aws/version.go b/aws/version.go index 4e3a191fa47..994800f978a 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.54.4" +const SDKVersion = "1.54.5" diff --git a/models/apis/artifact/2018-05-10/api-2.json b/models/apis/artifact/2018-05-10/api-2.json index 38c6a17d5d4..72153884b1f 100644 --- a/models/apis/artifact/2018-05-10/api-2.json +++ b/models/apis/artifact/2018-05-10/api-2.json @@ -2,9 +2,10 @@ "version":"2.0", "metadata":{ "apiVersion":"2018-05-10", + "auth":["aws.auth#sigv4"], "endpointPrefix":"artifact", - "jsonVersion":"1.1", "protocol":"rest-json", + "protocols":["rest-json"], "serviceFullName":"AWS Artifact", "serviceId":"Artifact", "signatureVersion":"v4", @@ -304,15 +305,15 @@ "ListReportsResponse":{ "type":"structure", "members":{ - "nextToken":{"shape":"NextTokenAttribute"}, - "reports":{"shape":"ReportsList"} + "reports":{"shape":"ReportsList"}, + "nextToken":{"shape":"NextTokenAttribute"} } }, "LongStringAttribute":{ "type":"string", "max":1024, "min":1, - "pattern":"^[^<>]*$" + "pattern":"[^<>]*" }, "MaxResultsAttribute":{ "type":"integer", @@ -354,49 +355,50 @@ "ReportDetail":{ "type":"structure", "members":{ - "acceptanceType":{"shape":"AcceptanceType"}, - "arn":{"shape":"LongStringAttribute"}, - "category":{"shape":"ShortStringAttribute"}, - "companyName":{"shape":"ShortStringAttribute"}, - "createdAt":{"shape":"TimestampAttribute"}, - "deletedAt":{"shape":"TimestampAttribute"}, - "description":{"shape":"LongStringAttribute"}, "id":{"shape":"ReportId"}, - "lastModifiedAt":{"shape":"TimestampAttribute"}, "name":{"shape":"ShortStringAttribute"}, - "periodEnd":{"shape":"TimestampAttribute"}, + "description":{"shape":"LongStringAttribute"}, "periodStart":{"shape":"TimestampAttribute"}, - "productName":{"shape":"ShortStringAttribute"}, - "sequenceNumber":{"shape":"SequenceNumberAttribute"}, - "series":{"shape":"ShortStringAttribute"}, + "periodEnd":{"shape":"TimestampAttribute"}, + "createdAt":{"shape":"TimestampAttribute"}, + "lastModifiedAt":{"shape":"TimestampAttribute"}, + "deletedAt":{"shape":"TimestampAttribute"}, "state":{"shape":"PublishedState"}, - "statusMessage":{"shape":"StatusMessage"}, + "arn":{"shape":"LongStringAttribute"}, + "series":{"shape":"ShortStringAttribute"}, + "category":{"shape":"ShortStringAttribute"}, + "companyName":{"shape":"ShortStringAttribute"}, + "productName":{"shape":"ShortStringAttribute"}, "termArn":{"shape":"LongStringAttribute"}, + "version":{"shape":"VersionAttribute"}, + "acceptanceType":{"shape":"AcceptanceType"}, + "sequenceNumber":{"shape":"SequenceNumberAttribute"}, "uploadState":{"shape":"UploadState"}, - "version":{"shape":"VersionAttribute"} + "statusMessage":{"shape":"StatusMessage"} } }, "ReportId":{ "type":"string", - "pattern":"^report-[a-zA-Z0-9]{16}$" + "pattern":"report-[a-zA-Z0-9]{16}" }, "ReportSummary":{ "type":"structure", "members":{ - "arn":{"shape":"LongStringAttribute"}, - "category":{"shape":"ShortStringAttribute"}, - "companyName":{"shape":"ShortStringAttribute"}, - "description":{"shape":"LongStringAttribute"}, "id":{"shape":"ReportId"}, "name":{"shape":"ShortStringAttribute"}, - "periodEnd":{"shape":"TimestampAttribute"}, + "state":{"shape":"PublishedState"}, + "arn":{"shape":"LongStringAttribute"}, + "version":{"shape":"VersionAttribute"}, + "uploadState":{"shape":"UploadState"}, + "description":{"shape":"LongStringAttribute"}, "periodStart":{"shape":"TimestampAttribute"}, - "productName":{"shape":"ShortStringAttribute"}, + "periodEnd":{"shape":"TimestampAttribute"}, "series":{"shape":"ShortStringAttribute"}, - "state":{"shape":"PublishedState"}, + "category":{"shape":"ShortStringAttribute"}, + "companyName":{"shape":"ShortStringAttribute"}, + "productName":{"shape":"ShortStringAttribute"}, "statusMessage":{"shape":"StatusMessage"}, - "uploadState":{"shape":"UploadState"}, - "version":{"shape":"VersionAttribute"} + "acceptanceType":{"shape":"AcceptanceType"} } }, "ReportsList":{ @@ -430,17 +432,17 @@ "type":"structure", "required":[ "message", - "quotaCode", "resourceId", "resourceType", - "serviceCode" + "serviceCode", + "quotaCode" ], "members":{ "message":{"shape":"String"}, - "quotaCode":{"shape":"String"}, "resourceId":{"shape":"String"}, "resourceType":{"shape":"String"}, - "serviceCode":{"shape":"String"} + "serviceCode":{"shape":"String"}, + "quotaCode":{"shape":"String"} }, "error":{ "httpStatusCode":402, @@ -452,7 +454,7 @@ "type":"string", "max":256, "min":1, - "pattern":"^[a-zA-Z0-9_\\-\\s]*$" + "pattern":"[a-zA-Z0-9_\\-\\s]*" }, "StatusMessage":{"type":"string"}, "String":{"type":"string"}, @@ -461,13 +463,13 @@ "required":["message"], "members":{ "message":{"shape":"String"}, + "serviceCode":{"shape":"String"}, "quotaCode":{"shape":"String"}, "retryAfterSeconds":{ "shape":"Integer", "location":"header", "locationName":"Retry-After" - }, - "serviceCode":{"shape":"String"} + } }, "error":{ "httpStatusCode":429, @@ -496,9 +498,9 @@ "reason" ], "members":{ - "fieldList":{"shape":"ValidationExceptionFieldList"}, "message":{"shape":"String"}, - "reason":{"shape":"ValidationExceptionReason"} + "reason":{"shape":"ValidationExceptionReason"}, + "fieldList":{"shape":"ValidationExceptionFieldList"} }, "error":{ "httpStatusCode":400, @@ -509,12 +511,12 @@ "ValidationExceptionField":{ "type":"structure", "required":[ - "message", - "name" + "name", + "message" ], "members":{ - "message":{"shape":"String"}, - "name":{"shape":"String"} + "name":{"shape":"String"}, + "message":{"shape":"String"} } }, "ValidationExceptionFieldList":{ diff --git a/models/apis/artifact/2018-05-10/docs-2.json b/models/apis/artifact/2018-05-10/docs-2.json index 33093aaaeea..d8e78d65d66 100644 --- a/models/apis/artifact/2018-05-10/docs-2.json +++ b/models/apis/artifact/2018-05-10/docs-2.json @@ -13,7 +13,8 @@ "AcceptanceType": { "base": null, "refs": { - "ReportDetail$acceptanceType": "

Acceptance type for report.

" + "ReportDetail$acceptanceType": "

Acceptance type for report.

", + "ReportSummary$acceptanceType": "

Acceptance type for report.

" } }, "AccessDeniedException": { @@ -110,8 +111,8 @@ "LongStringAttribute": { "base": null, "refs": { - "ReportDetail$arn": "

ARN for the report resource.

", "ReportDetail$description": "

Description for the report resource.

", + "ReportDetail$arn": "

ARN for the report resource.

", "ReportDetail$termArn": "

Unique resource ARN for term resource.

", "ReportSummary$arn": "

ARN for the report resource.

", "ReportSummary$description": "

Description for the report resource.

" @@ -202,16 +203,16 @@ "base": null, "refs": { "GetReportRequest$termToken": "

Unique download token provided by GetTermForReport API.

", + "ReportDetail$name": "

Name for the report resource.

", + "ReportDetail$series": "

Series for the report resource.

", "ReportDetail$category": "

Category for the report resource.

", "ReportDetail$companyName": "

Associated company name for the report resource.

", - "ReportDetail$name": "

Name for the report resource.

", "ReportDetail$productName": "

Associated product name for the report resource.

", - "ReportDetail$series": "

Series for the report resource.

", + "ReportSummary$name": "

Name for the report resource.

", + "ReportSummary$series": "

Series for the report resource.

", "ReportSummary$category": "

Category for the report resource.

", "ReportSummary$companyName": "

Associated company name for the report resource.

", - "ReportSummary$name": "

Name for the report resource.

", - "ReportSummary$productName": "

Associated product name for the report resource.

", - "ReportSummary$series": "

Series for the report resource.

" + "ReportSummary$productName": "

Associated product name for the report resource.

" } }, "StatusMessage": { @@ -234,16 +235,16 @@ "ResourceNotFoundException$resourceId": "

Identifier of the affected resource.

", "ResourceNotFoundException$resourceType": "

Type of the affected resource.

", "ServiceQuotaExceededException$message": null, - "ServiceQuotaExceededException$quotaCode": "

Code for the affected quota.

", "ServiceQuotaExceededException$resourceId": "

Identifier of the affected resource.

", "ServiceQuotaExceededException$resourceType": "

Type of the affected resource.

", "ServiceQuotaExceededException$serviceCode": "

Code for the affected service.

", + "ServiceQuotaExceededException$quotaCode": "

Code for the affected quota.

", "ThrottlingException$message": null, - "ThrottlingException$quotaCode": "

Code for the affected quota.

", "ThrottlingException$serviceCode": "

Code for the affected service.

", + "ThrottlingException$quotaCode": "

Code for the affected quota.

", "ValidationException$message": null, - "ValidationExceptionField$message": "

Message describing why the field failed validation.

", - "ValidationExceptionField$name": "

Name of validation exception.

" + "ValidationExceptionField$name": "

Name of validation exception.

", + "ValidationExceptionField$message": "

Message describing why the field failed validation.

" } }, "ThrottlingException": { @@ -254,13 +255,13 @@ "TimestampAttribute": { "base": null, "refs": { + "ReportDetail$periodStart": "

Timestamp indicating the report resource effective start.

", + "ReportDetail$periodEnd": "

Timestamp indicating the report resource effective end.

", "ReportDetail$createdAt": "

Timestamp indicating when the report resource was created.

", - "ReportDetail$deletedAt": "

Timestamp indicating when the report resource was deleted.

", "ReportDetail$lastModifiedAt": "

Timestamp indicating when the report resource was last modified.

", - "ReportDetail$periodEnd": "

Timestamp indicating the report resource effective end.

", - "ReportDetail$periodStart": "

Timestamp indicating the report resource effective start.

", - "ReportSummary$periodEnd": "

Timestamp indicating the report resource effective end.

", - "ReportSummary$periodStart": "

Timestamp indicating the report resource effective start.

" + "ReportDetail$deletedAt": "

Timestamp indicating when the report resource was deleted.

", + "ReportSummary$periodStart": "

Timestamp indicating the report resource effective start.

", + "ReportSummary$periodEnd": "

Timestamp indicating the report resource effective end.

" } }, "UploadState": { diff --git a/models/apis/artifact/2018-05-10/examples-1.json b/models/apis/artifact/2018-05-10/examples-1.json index 0ea7e3b0bbe..3f3857338d9 100644 --- a/models/apis/artifact/2018-05-10/examples-1.json +++ b/models/apis/artifact/2018-05-10/examples-1.json @@ -1,5 +1,118 @@ { "version": "1.0", "examples": { + "GetAccountSettings": [ + { + "input": { + }, + "output": { + "accountSettings": { + "notificationSubscriptionStatus": "SUBSCRIBED" + } + }, + "description": "Get the current account settings.", + "id": "example-1", + "title": "Invoke GetAccountSettings operation" + } + ], + "GetReport": [ + { + "input": { + "reportId": "report-1hVFddebtfDNJAUf", + "termToken": "term-token-gPFEGk7CF4wS901w7ppYclt7" + }, + "output": { + "documentPresignedUrl": "" + }, + "description": "The GetReport operation is invoked on a reportId and on a optional version.\n Callers must provide a termToken, which is provided by the GetTermForReport\n operation. If callers do not provide a version, it will default to the\n report's latest version", + "id": "example-1", + "title": "Invoke GetReport operation on the latest version of a specific report" + } + ], + "GetReportMetadata": [ + { + "input": { + "reportId": "report-bqhUJF3FrQZsMJpb" + }, + "output": { + "reportDetails": { + "version": 1, + "name": "Name of report", + "arn": "arn:aws:artifact:us-east-1::report/report-bqhUJF3FrQZsMJpb:1", + "category": "Artifact Category", + "companyName": "AWS", + "createdAt": "2022-05-27T23:17:00.343940Z", + "description": "Description of report", + "id": "report-bqhUJF3FrQZsMJpb", + "periodEnd": "2022-04-01T20:32:04Z", + "periodStart": "2022-04-01T20:32:04Z", + "productName": "Product of report", + "series": "Artifact Series", + "state": "PUBLISHED", + "termArn": "arn:aws:artifact:us-east-1::term/term-gLJGG12NyPtYcmtu:1" + } + }, + "description": "The GetReportMetadata operation is invoked on a reportId and on a optional version.\n If callers do not provide a version, it will default to the report's latest version.", + "id": "example-1", + "title": "Invoke GetReportMetadata operation on the latest version of a specific report" + } + ], + "GetTermForReport": [ + { + "input": { + "reportId": "report-bqhUJF3FrQZsMJpb" + }, + "output": { + "documentPresignedUrl": "", + "termToken": "term-token-gPFEGk7CF4wS901w7ppYclt7" + }, + "description": "The GetTermForReport operation is invoked on a reportId and on a optional version.\n If callers do not provide a version, it will default to the report's latest version.", + "id": "example-1", + "title": "Invoke GetTermForReport operation on the latest version of a specific report" + } + ], + "ListReports": [ + { + "input": { + }, + "output": { + "nextToken": "gPFEGk7CF4wS901w7ppYclt7gPFEGk7CF4wS901w7ppYclt7gPFEGk7CF4wS901w7ppYclt7", + "reports": [ + { + "version": 1, + "name": "Name of report", + "arn": "arn:aws:artifact:us-east-1::report/report-bqhUJF3FrQZsMJpb", + "category": "Artifact Category", + "companyName": "AWS", + "description": "Description of report", + "id": "report-bqhUJF3FrQZsMJpb", + "periodEnd": "2022-04-01T20:32:04Z", + "periodStart": "2022-04-01T20:32:04Z", + "productName": "Product of report", + "series": "Artifact Series", + "state": "PUBLISHED" + } + ] + }, + "description": "The ListReports operation returns a collection of report resources.", + "id": "example-1", + "title": "Invoke ListReports operation" + } + ], + "PutAccountSettings": [ + { + "input": { + "notificationSubscriptionStatus": "SUBSCRIBED" + }, + "output": { + "accountSettings": { + "notificationSubscriptionStatus": "SUBSCRIBED" + } + }, + "description": "Set the account settings.", + "id": "example-1", + "title": "Invoke PutAccountSettings operation" + } + ] } } diff --git a/models/apis/artifact/2018-05-10/smoke.json b/models/apis/artifact/2018-05-10/smoke.json new file mode 100644 index 00000000000..a9756813e4a --- /dev/null +++ b/models/apis/artifact/2018-05-10/smoke.json @@ -0,0 +1,6 @@ +{ + "version": 1, + "defaultRegion": "us-west-2", + "testCases": [ + ] +} diff --git a/models/apis/artifact/2018-05-10/waiters-2.json b/models/apis/artifact/2018-05-10/waiters-2.json new file mode 100644 index 00000000000..13f60ee66be --- /dev/null +++ b/models/apis/artifact/2018-05-10/waiters-2.json @@ -0,0 +1,5 @@ +{ + "version": 2, + "waiters": { + } +} diff --git a/models/apis/athena/2017-05-18/api-2.json b/models/apis/athena/2017-05-18/api-2.json index 7229167b09b..01aa0dd4049 100644 --- a/models/apis/athena/2017-05-18/api-2.json +++ b/models/apis/athena/2017-05-18/api-2.json @@ -10,7 +10,8 @@ "serviceId":"Athena", "signatureVersion":"v4", "targetPrefix":"AmazonAthena", - "uid":"athena-2017-05-18" + "uid":"athena-2017-05-18", + "auth":["aws.auth#sigv4"] }, "operations":{ "BatchGetNamedQuery":{ diff --git a/models/apis/athena/2017-05-18/smoke-2.json b/models/apis/athena/2017-05-18/smoke-2.json new file mode 100644 index 00000000000..d1a78bf148c --- /dev/null +++ b/models/apis/athena/2017-05-18/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListNamedQueriesSuccess", + "operationName": "ListNamedQueries", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/apis/cur/2017-01-06/api-2.json b/models/apis/cur/2017-01-06/api-2.json index f10eaaf8872..f16450f37dc 100644 --- a/models/apis/cur/2017-01-06/api-2.json +++ b/models/apis/cur/2017-01-06/api-2.json @@ -5,12 +5,14 @@ "endpointPrefix":"cur", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceFullName":"AWS Cost and Usage Report Service", "serviceId":"Cost and Usage Report Service", "signatureVersion":"v4", "signingName":"cur", "targetPrefix":"AWSOrigamiServiceGatewayService", - "uid":"cur-2017-01-06" + "uid":"cur-2017-01-06", + "auth":["aws.auth#sigv4"] }, "operations":{ "DeleteReportDefinition":{ diff --git a/models/apis/cur/2017-01-06/smoke-2.json b/models/apis/cur/2017-01-06/smoke-2.json new file mode 100644 index 00000000000..6b594c455f8 --- /dev/null +++ b/models/apis/cur/2017-01-06/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "DescribeReportDefinitionsSuccess", + "operationName": "DescribeReportDefinitions", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-east-1" + } + } + ] +} diff --git a/models/apis/directconnect/2012-10-25/api-2.json b/models/apis/directconnect/2012-10-25/api-2.json index 64bd806c368..d6b47158c12 100644 --- a/models/apis/directconnect/2012-10-25/api-2.json +++ b/models/apis/directconnect/2012-10-25/api-2.json @@ -5,11 +5,13 @@ "endpointPrefix":"directconnect", "jsonVersion":"1.1", "protocol":"json", + "protocols":["json"], "serviceFullName":"AWS Direct Connect", "serviceId":"Direct Connect", "signatureVersion":"v4", "targetPrefix":"OvertureService", - "uid":"directconnect-2012-10-25" + "uid":"directconnect-2012-10-25", + "auth":["aws.auth#sigv4"] }, "operations":{ "AcceptDirectConnectGatewayAssociationProposal":{ diff --git a/models/apis/directconnect/2012-10-25/endpoint-rule-set-1.json b/models/apis/directconnect/2012-10-25/endpoint-rule-set-1.json index 2a1bba42147..c255b39924e 100644 --- a/models/apis/directconnect/2012-10-25/endpoint-rule-set-1.json +++ b/models/apis/directconnect/2012-10-25/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,293 +57,258 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "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://directconnect-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://directconnect-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "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://directconnect-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - } - ] - }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://directconnect-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://directconnect.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], - "type": "tree", + ], "rules": [ { "conditions": [], "endpoint": { - "url": "https://directconnect.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://directconnect.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://directconnect.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/directconnect/2012-10-25/smoke-2.json b/models/apis/directconnect/2012-10-25/smoke-2.json new file mode 100644 index 00000000000..506d2ae82aa --- /dev/null +++ b/models/apis/directconnect/2012-10-25/smoke-2.json @@ -0,0 +1,29 @@ +{ + "version": 2, + "testCases": [ + { + "id": "DescribeConnectionsSuccess", + "operationName": "DescribeConnections", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + }, + { + "id": "DescribeConnectionsFailure", + "operationName": "DescribeConnections", + "input": { + "connectionId": "fake-connection" + }, + "expectation": { + "failure": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/apis/elastictranscoder/2012-09-25/api-2.json b/models/apis/elastictranscoder/2012-09-25/api-2.json index 3b5a948685a..862f2ad933b 100644 --- a/models/apis/elastictranscoder/2012-09-25/api-2.json +++ b/models/apis/elastictranscoder/2012-09-25/api-2.json @@ -4,10 +4,12 @@ "apiVersion":"2012-09-25", "endpointPrefix":"elastictranscoder", "protocol":"rest-json", + "protocols":["rest-json"], "serviceFullName":"Amazon Elastic Transcoder", "serviceId":"Elastic Transcoder", "signatureVersion":"v4", - "uid":"elastictranscoder-2012-09-25" + "uid":"elastictranscoder-2012-09-25", + "auth":["aws.auth#sigv4"] }, "operations":{ "CancelJob":{ diff --git a/models/apis/elastictranscoder/2012-09-25/endpoint-rule-set-1.json b/models/apis/elastictranscoder/2012-09-25/endpoint-rule-set-1.json new file mode 100644 index 00000000000..e6fea0075e8 --- /dev/null +++ b/models/apis/elastictranscoder/2012-09-25/endpoint-rule-set-1.json @@ -0,0 +1,314 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elastictranscoder-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elastictranscoder-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://elastictranscoder.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://elastictranscoder.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ] +} \ No newline at end of file diff --git a/models/apis/elastictranscoder/2012-09-25/endpoint-tests-1.json b/models/apis/elastictranscoder/2012-09-25/endpoint-tests-1.json new file mode 100644 index 00000000000..ce032519b67 --- /dev/null +++ b/models/apis/elastictranscoder/2012-09-25/endpoint-tests-1.json @@ -0,0 +1,405 @@ +{ + "testCases": [ + { + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder.ap-northeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder.ap-south-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder.ap-southeast-1.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder.ap-southeast-2.amazonaws.com" + } + }, + "params": { + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder.eu-west-1.amazonaws.com" + } + }, + "params": { + "Region": "eu-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder.us-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder.us-west-2.amazonaws.com" + } + }, + "params": { + "Region": "us-west-2", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elastictranscoder.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "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" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/elastictranscoder/2012-09-25/smoke-2.json b/models/apis/elastictranscoder/2012-09-25/smoke-2.json new file mode 100644 index 00000000000..952cf1968a7 --- /dev/null +++ b/models/apis/elastictranscoder/2012-09-25/smoke-2.json @@ -0,0 +1,16 @@ +{ + "version": 2, + "testCases": [ + { + "id": "ListPresetsSuccess", + "operationName": "ListPresets", + "input": {}, + "expectation": { + "success": {} + }, + "config": { + "region": "us-west-2" + } + } + ] +} diff --git a/models/apis/opensearch/2021-01-01/api-2.json b/models/apis/opensearch/2021-01-01/api-2.json index d132c8dfe1f..ae094168fe8 100644 --- a/models/apis/opensearch/2021-01-01/api-2.json +++ b/models/apis/opensearch/2021-01-01/api-2.json @@ -8,7 +8,8 @@ "serviceFullName":"Amazon OpenSearch Service", "serviceId":"OpenSearch", "signatureVersion":"v4", - "uid":"opensearch-2021-01-01" + "uid":"opensearch-2021-01-01", + "auth":["aws.auth#sigv4"] }, "operations":{ "AcceptInboundConnection":{ @@ -1148,6 +1149,7 @@ "Enabled":{"shape":"Boolean"}, "InternalUserDatabaseEnabled":{"shape":"Boolean"}, "SAMLOptions":{"shape":"SAMLOptionsOutput"}, + "JWTOptions":{"shape":"JWTOptionsOutput"}, "AnonymousAuthDisableDate":{"shape":"DisableTimestamp"}, "AnonymousAuthEnabled":{"shape":"Boolean"} } @@ -1159,6 +1161,7 @@ "InternalUserDatabaseEnabled":{"shape":"Boolean"}, "MasterUserOptions":{"shape":"MasterUserOptions"}, "SAMLOptions":{"shape":"SAMLOptionsInput"}, + "JWTOptions":{"shape":"JWTOptionsInput"}, "AnonymousAuthEnabled":{"shape":"Boolean"} } }, @@ -2907,6 +2910,24 @@ "type":"list", "member":{"shape":"Issue"} }, + "JWTOptionsInput":{ + "type":"structure", + "members":{ + "Enabled":{"shape":"Boolean"}, + "SubjectKey":{"shape":"SubjectKey"}, + "RolesKey":{"shape":"RolesKey"}, + "PublicKey":{"shape":"String"} + } + }, + "JWTOptionsOutput":{ + "type":"structure", + "members":{ + "Enabled":{"shape":"Boolean"}, + "SubjectKey":{"shape":"String"}, + "RolesKey":{"shape":"String"}, + "PublicKey":{"shape":"String"} + } + }, "KmsKeyId":{ "type":"string", "max":500, @@ -3906,6 +3927,11 @@ "min":20, "pattern":"arn:(aws|aws\\-cn|aws\\-us\\-gov|aws\\-iso|aws\\-iso\\-b):iam::[0-9]+:role\\/.*" }, + "RolesKey":{ + "type":"string", + "max":64, + "min":1 + }, "RollbackOnDisable":{ "type":"string", "enum":[ @@ -4178,6 +4204,11 @@ "type":"list", "member":{"shape":"String"} }, + "SubjectKey":{ + "type":"string", + "max":64, + "min":1 + }, "TLSSecurityPolicy":{ "type":"string", "enum":[ diff --git a/models/apis/opensearch/2021-01-01/docs-2.json b/models/apis/opensearch/2021-01-01/docs-2.json index 21afc3e227a..af8019750ea 100644 --- a/models/apis/opensearch/2021-01-01/docs-2.json +++ b/models/apis/opensearch/2021-01-01/docs-2.json @@ -388,6 +388,8 @@ "InstanceTypeDetails$AppLogsEnabled": "

Whether logging is supported for the instance type.

", "InstanceTypeDetails$AdvancedSecurityEnabled": "

Whether fine-grained access control is supported for the instance type.

", "InstanceTypeDetails$WarmEnabled": "

Whether UltraWarm is supported for the instance type.

", + "JWTOptionsInput$Enabled": "

True to enable JWT authentication and authorization for a domain.

", + "JWTOptionsOutput$Enabled": "

True if JWT use is enabled.

", "ListInstanceTypeDetailsRequest$RetrieveAZs": "

An optional parameter that specifies the Availability Zones for the domain.

", "LogPublishingOption$Enabled": "

Whether the log should be published.

", "NodeToNodeEncryptionOptions$Enabled": "

True to enable node-to-node encryption.

", @@ -687,8 +689,8 @@ "base": null, "refs": { "DataSourceDetails$Status": "

The status of the data source.

", - "GetDataSourceResponse$Status": "

The status of the data source response.

", - "UpdateDataSourceRequest$Status": "

The status of the data source update request.

" + "GetDataSourceResponse$Status": "

The status of the data source.

", + "UpdateDataSourceRequest$Status": "

The status of the data source update.

" } }, "DataSourceType": { @@ -1585,6 +1587,18 @@ "UpgradeStepItem$Issues": "

A list of strings containing detailed information about the errors encountered in a particular step.

" } }, + "JWTOptionsInput": { + "base": "

The JWT authentication and authorization configuration for an Amazon OpenSearch Service domain.

", + "refs": { + "AdvancedSecurityOptionsInput$JWTOptions": "

Container for information about the JWT configuration of the Amazon OpenSearch Service.

" + } + }, + "JWTOptionsOutput": { + "base": "

Describes the JWT options configured for the domain.

", + "refs": { + "AdvancedSecurityOptions$JWTOptions": "

Container for information about the JWT configuration of the Amazon OpenSearch Service.

" + } + }, "KmsKeyId": { "base": null, "refs": { @@ -2355,6 +2369,12 @@ "S3GlueDataCatalog$RoleArn": "

>The Amazon Resource Name (ARN) for the S3 Glue Data Catalog.

" } }, + "RolesKey": { + "base": null, + "refs": { + "JWTOptionsInput$RolesKey": "

Element of the JWT assertion to use for roles.

" + } + }, "RollbackOnDisable": { "base": "

The rollback state while disabling Auto-Tune for the domain.

", "refs": { @@ -2626,6 +2646,10 @@ "EndpointsMap$key": null, "GetPackageVersionHistoryResponse$NextToken": "

When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Send the request again using the returned token to retrieve the next page.

", "GetUpgradeHistoryResponse$NextToken": "

When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Send the request again using the returned token to retrieve the next page.

", + "JWTOptionsInput$PublicKey": "

Element of the JWT assertion used by the cluster to verify JWT signatures.

", + "JWTOptionsOutput$SubjectKey": "

The key used for matching the JWT subject attribute.

", + "JWTOptionsOutput$RolesKey": "

The key used for matching the JWT roles attribute.

", + "JWTOptionsOutput$PublicKey": "

The key used to verify the signature of incoming JWT requests.

", "ListDomainsForPackageResponse$NextToken": "

When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Send the request again using the returned token to retrieve the next page.

", "ListPackagesForDomainResponse$NextToken": "

When nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Send the request again using the returned token to retrieve the next page.

", "ModifyingProperties$Name": "

The name of the property that is currently being modified.

", @@ -2669,6 +2693,12 @@ "VPCOptions$SecurityGroupIds": "

The list of security group IDs associated with the VPC endpoints for the domain. If you do not provide a security group ID, OpenSearch Service uses the default security group for the VPC.

" } }, + "SubjectKey": { + "base": null, + "refs": { + "JWTOptionsInput$SubjectKey": "

Element of the JWT assertion to use for the user name.

" + } + }, "TLSSecurityPolicy": { "base": null, "refs": { diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index 89026614d94..ee333c2c88b 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -25256,6 +25256,44 @@ "us-gov-west-1" : { } } }, + "kinesisvideo" : { + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "hostname" : "kinesisvideo-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "kinesisvideo-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "hostname" : "kinesisvideo-fips.us-gov-east-1.amazonaws.com", + "variants" : [ { + "hostname" : "kinesisvideo-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "hostname" : "kinesisvideo-fips.us-gov-west-1.amazonaws.com", + "variants" : [ { + "hostname" : "kinesisvideo-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } + } + }, "kms" : { "endpoints" : { "ProdFips" : { diff --git a/service/artifact/api.go b/service/artifact/api.go index 27f5a16dfae..117b424264b 100644 --- a/service/artifact/api.go +++ b/service/artifact/api.go @@ -1593,6 +1593,9 @@ func (s *ReportDetail) SetVersion(v int64) *ReportDetail { type ReportSummary struct { _ struct{} `type:"structure"` + // Acceptance type for report. + AcceptanceType *string `locationName:"acceptanceType" type:"string" enum:"AcceptanceType"` + // ARN for the report resource. Arn *string `locationName:"arn" min:"1" type:"string"` @@ -1654,6 +1657,12 @@ func (s ReportSummary) GoString() string { return s.String() } +// SetAcceptanceType sets the AcceptanceType field's value. +func (s *ReportSummary) SetAcceptanceType(v string) *ReportSummary { + s.AcceptanceType = &v + return s +} + // SetArn sets the Arn field's value. func (s *ReportSummary) SetArn(v string) *ReportSummary { s.Arn = &v diff --git a/service/artifact/examples_test.go b/service/artifact/examples_test.go new file mode 100644 index 00000000000..8b4a4fa8052 --- /dev/null +++ b/service/artifact/examples_test.go @@ -0,0 +1,271 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package artifact_test + +import ( + "fmt" + "strings" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awserr" + "github.com/aws/aws-sdk-go/aws/session" + "github.com/aws/aws-sdk-go/service/artifact" +) + +var _ time.Duration +var _ strings.Reader +var _ aws.Config + +func parseTime(layout, value string) *time.Time { + t, err := time.Parse(layout, value) + if err != nil { + panic(err) + } + return &t +} + +// Invoke GetAccountSettings operation +// Get the current account settings. +func ExampleArtifact_GetAccountSettings_shared00() { + svc := artifact.New(session.New()) + input := &artifact.GetAccountSettingsInput{} + + result, err := svc.GetAccountSettings(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case artifact.ErrCodeResourceNotFoundException: + fmt.Println(artifact.ErrCodeResourceNotFoundException, aerr.Error()) + case artifact.ErrCodeThrottlingException: + fmt.Println(artifact.ErrCodeThrottlingException, aerr.Error()) + case artifact.ErrCodeAccessDeniedException: + fmt.Println(artifact.ErrCodeAccessDeniedException, aerr.Error()) + case artifact.ErrCodeConflictException: + fmt.Println(artifact.ErrCodeConflictException, aerr.Error()) + case artifact.ErrCodeInternalServerException: + fmt.Println(artifact.ErrCodeInternalServerException, aerr.Error()) + case artifact.ErrCodeValidationException: + fmt.Println(artifact.ErrCodeValidationException, aerr.Error()) + case artifact.ErrCodeServiceQuotaExceededException: + fmt.Println(artifact.ErrCodeServiceQuotaExceededException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Invoke GetReport operation on the latest version of a specific report +// The GetReport operation is invoked on a reportId and on a optional version. +// +// Callers must provide a termToken, which is provided by the +// GetTermForReport +// operation. If callers do not provide a version, it will default +// to the +// report's latest version +func ExampleArtifact_GetReport_shared00() { + svc := artifact.New(session.New()) + input := &artifact.GetReportInput{ + ReportId: aws.String("report-1hVFddebtfDNJAUf"), + TermToken: aws.String("term-token-gPFEGk7CF4wS901w7ppYclt7"), + } + + result, err := svc.GetReport(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case artifact.ErrCodeResourceNotFoundException: + fmt.Println(artifact.ErrCodeResourceNotFoundException, aerr.Error()) + case artifact.ErrCodeThrottlingException: + fmt.Println(artifact.ErrCodeThrottlingException, aerr.Error()) + case artifact.ErrCodeAccessDeniedException: + fmt.Println(artifact.ErrCodeAccessDeniedException, aerr.Error()) + case artifact.ErrCodeConflictException: + fmt.Println(artifact.ErrCodeConflictException, aerr.Error()) + case artifact.ErrCodeInternalServerException: + fmt.Println(artifact.ErrCodeInternalServerException, aerr.Error()) + case artifact.ErrCodeValidationException: + fmt.Println(artifact.ErrCodeValidationException, aerr.Error()) + case artifact.ErrCodeServiceQuotaExceededException: + fmt.Println(artifact.ErrCodeServiceQuotaExceededException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Invoke GetReportMetadata operation on the latest version of a specific report +// The GetReportMetadata operation is invoked on a reportId and on a optional version. +// +// If callers do not provide a version, it will default to the +// report's latest version. +func ExampleArtifact_GetReportMetadata_shared00() { + svc := artifact.New(session.New()) + input := &artifact.GetReportMetadataInput{ + ReportId: aws.String("report-bqhUJF3FrQZsMJpb"), + } + + result, err := svc.GetReportMetadata(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case artifact.ErrCodeResourceNotFoundException: + fmt.Println(artifact.ErrCodeResourceNotFoundException, aerr.Error()) + case artifact.ErrCodeThrottlingException: + fmt.Println(artifact.ErrCodeThrottlingException, aerr.Error()) + case artifact.ErrCodeAccessDeniedException: + fmt.Println(artifact.ErrCodeAccessDeniedException, aerr.Error()) + case artifact.ErrCodeInternalServerException: + fmt.Println(artifact.ErrCodeInternalServerException, aerr.Error()) + case artifact.ErrCodeValidationException: + fmt.Println(artifact.ErrCodeValidationException, aerr.Error()) + case artifact.ErrCodeServiceQuotaExceededException: + fmt.Println(artifact.ErrCodeServiceQuotaExceededException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Invoke GetTermForReport operation on the latest version of a specific report +// The GetTermForReport operation is invoked on a reportId and on a optional version. +// +// If callers do not provide a version, it will default to the +// report's latest version. +func ExampleArtifact_GetTermForReport_shared00() { + svc := artifact.New(session.New()) + input := &artifact.GetTermForReportInput{ + ReportId: aws.String("report-bqhUJF3FrQZsMJpb"), + } + + result, err := svc.GetTermForReport(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case artifact.ErrCodeResourceNotFoundException: + fmt.Println(artifact.ErrCodeResourceNotFoundException, aerr.Error()) + case artifact.ErrCodeThrottlingException: + fmt.Println(artifact.ErrCodeThrottlingException, aerr.Error()) + case artifact.ErrCodeAccessDeniedException: + fmt.Println(artifact.ErrCodeAccessDeniedException, aerr.Error()) + case artifact.ErrCodeConflictException: + fmt.Println(artifact.ErrCodeConflictException, aerr.Error()) + case artifact.ErrCodeInternalServerException: + fmt.Println(artifact.ErrCodeInternalServerException, aerr.Error()) + case artifact.ErrCodeValidationException: + fmt.Println(artifact.ErrCodeValidationException, aerr.Error()) + case artifact.ErrCodeServiceQuotaExceededException: + fmt.Println(artifact.ErrCodeServiceQuotaExceededException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Invoke ListReports operation +// The ListReports operation returns a collection of report resources. +func ExampleArtifact_ListReports_shared00() { + svc := artifact.New(session.New()) + input := &artifact.ListReportsInput{} + + result, err := svc.ListReports(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case artifact.ErrCodeResourceNotFoundException: + fmt.Println(artifact.ErrCodeResourceNotFoundException, aerr.Error()) + case artifact.ErrCodeThrottlingException: + fmt.Println(artifact.ErrCodeThrottlingException, aerr.Error()) + case artifact.ErrCodeAccessDeniedException: + fmt.Println(artifact.ErrCodeAccessDeniedException, aerr.Error()) + case artifact.ErrCodeInternalServerException: + fmt.Println(artifact.ErrCodeInternalServerException, aerr.Error()) + case artifact.ErrCodeValidationException: + fmt.Println(artifact.ErrCodeValidationException, aerr.Error()) + case artifact.ErrCodeServiceQuotaExceededException: + fmt.Println(artifact.ErrCodeServiceQuotaExceededException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} + +// Invoke PutAccountSettings operation +// Set the account settings. +func ExampleArtifact_PutAccountSettings_shared00() { + svc := artifact.New(session.New()) + input := &artifact.PutAccountSettingsInput{ + NotificationSubscriptionStatus: aws.String("SUBSCRIBED"), + } + + result, err := svc.PutAccountSettings(input) + if err != nil { + if aerr, ok := err.(awserr.Error); ok { + switch aerr.Code() { + case artifact.ErrCodeResourceNotFoundException: + fmt.Println(artifact.ErrCodeResourceNotFoundException, aerr.Error()) + case artifact.ErrCodeThrottlingException: + fmt.Println(artifact.ErrCodeThrottlingException, aerr.Error()) + case artifact.ErrCodeAccessDeniedException: + fmt.Println(artifact.ErrCodeAccessDeniedException, aerr.Error()) + case artifact.ErrCodeConflictException: + fmt.Println(artifact.ErrCodeConflictException, aerr.Error()) + case artifact.ErrCodeInternalServerException: + fmt.Println(artifact.ErrCodeInternalServerException, aerr.Error()) + case artifact.ErrCodeValidationException: + fmt.Println(artifact.ErrCodeValidationException, aerr.Error()) + case artifact.ErrCodeServiceQuotaExceededException: + fmt.Println(artifact.ErrCodeServiceQuotaExceededException, aerr.Error()) + default: + fmt.Println(aerr.Error()) + } + } else { + // Print the error, cast err to awserr.Error to get the Code and + // Message from an error. + fmt.Println(err.Error()) + } + return + } + + fmt.Println(result) +} diff --git a/service/opensearchservice/api.go b/service/opensearchservice/api.go index 6daa59320fb..6d1f518410c 100644 --- a/service/opensearchservice/api.go +++ b/service/opensearchservice/api.go @@ -7281,6 +7281,10 @@ type AdvancedSecurityOptions struct { // True if the internal user database is enabled. InternalUserDatabaseEnabled *bool `type:"boolean"` + // Container for information about the JWT configuration of the Amazon OpenSearch + // Service. + JWTOptions *JWTOptionsOutput_ `type:"structure"` + // Container for information about the SAML configuration for OpenSearch Dashboards. SAMLOptions *SAMLOptionsOutput_ `type:"structure"` } @@ -7327,6 +7331,12 @@ func (s *AdvancedSecurityOptions) SetInternalUserDatabaseEnabled(v bool) *Advanc return s } +// SetJWTOptions sets the JWTOptions field's value. +func (s *AdvancedSecurityOptions) SetJWTOptions(v *JWTOptionsOutput_) *AdvancedSecurityOptions { + s.JWTOptions = v + return s +} + // SetSAMLOptions sets the SAMLOptions field's value. func (s *AdvancedSecurityOptions) SetSAMLOptions(v *SAMLOptionsOutput_) *AdvancedSecurityOptions { s.SAMLOptions = v @@ -7350,6 +7360,10 @@ type AdvancedSecurityOptionsInput_ struct { // True to enable the internal user database. InternalUserDatabaseEnabled *bool `type:"boolean"` + // Container for information about the JWT configuration of the Amazon OpenSearch + // Service. + JWTOptions *JWTOptionsInput_ `type:"structure"` + // Container for information about the master user. MasterUserOptions *MasterUserOptions `type:"structure"` @@ -7378,6 +7392,11 @@ func (s AdvancedSecurityOptionsInput_) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *AdvancedSecurityOptionsInput_) Validate() error { invalidParams := request.ErrInvalidParams{Context: "AdvancedSecurityOptionsInput_"} + if s.JWTOptions != nil { + if err := s.JWTOptions.Validate(); err != nil { + invalidParams.AddNested("JWTOptions", err.(request.ErrInvalidParams)) + } + } if s.MasterUserOptions != nil { if err := s.MasterUserOptions.Validate(); err != nil { invalidParams.AddNested("MasterUserOptions", err.(request.ErrInvalidParams)) @@ -7413,6 +7432,12 @@ func (s *AdvancedSecurityOptionsInput_) SetInternalUserDatabaseEnabled(v bool) * return s } +// SetJWTOptions sets the JWTOptions field's value. +func (s *AdvancedSecurityOptionsInput_) SetJWTOptions(v *JWTOptionsInput_) *AdvancedSecurityOptionsInput_ { + s.JWTOptions = v + return s +} + // SetMasterUserOptions sets the MasterUserOptions field's value. func (s *AdvancedSecurityOptionsInput_) SetMasterUserOptions(v *MasterUserOptions) *AdvancedSecurityOptionsInput_ { s.MasterUserOptions = v @@ -14512,7 +14537,7 @@ type GetDataSourceOutput struct { // The name of the data source. Name *string `min:"3" type:"string"` - // The status of the data source response. + // The status of the data source. Status *string `type:"string" enum:"DataSourceStatus"` } @@ -15582,6 +15607,141 @@ func (s *InvalidTypeException) RequestID() string { return s.RespMetadata.RequestID } +// The JWT authentication and authorization configuration for an Amazon OpenSearch +// Service domain. +type JWTOptionsInput_ struct { + _ struct{} `type:"structure"` + + // True to enable JWT authentication and authorization for a domain. + Enabled *bool `type:"boolean"` + + // Element of the JWT assertion used by the cluster to verify JWT signatures. + PublicKey *string `type:"string"` + + // Element of the JWT assertion to use for roles. + RolesKey *string `min:"1" type:"string"` + + // Element of the JWT assertion to use for the user name. + SubjectKey *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JWTOptionsInput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JWTOptionsInput_) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *JWTOptionsInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "JWTOptionsInput_"} + if s.RolesKey != nil && len(*s.RolesKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RolesKey", 1)) + } + if s.SubjectKey != nil && len(*s.SubjectKey) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubjectKey", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEnabled sets the Enabled field's value. +func (s *JWTOptionsInput_) SetEnabled(v bool) *JWTOptionsInput_ { + s.Enabled = &v + return s +} + +// SetPublicKey sets the PublicKey field's value. +func (s *JWTOptionsInput_) SetPublicKey(v string) *JWTOptionsInput_ { + s.PublicKey = &v + return s +} + +// SetRolesKey sets the RolesKey field's value. +func (s *JWTOptionsInput_) SetRolesKey(v string) *JWTOptionsInput_ { + s.RolesKey = &v + return s +} + +// SetSubjectKey sets the SubjectKey field's value. +func (s *JWTOptionsInput_) SetSubjectKey(v string) *JWTOptionsInput_ { + s.SubjectKey = &v + return s +} + +// Describes the JWT options configured for the domain. +type JWTOptionsOutput_ struct { + _ struct{} `type:"structure"` + + // True if JWT use is enabled. + Enabled *bool `type:"boolean"` + + // The key used to verify the signature of incoming JWT requests. + PublicKey *string `type:"string"` + + // The key used for matching the JWT roles attribute. + RolesKey *string `type:"string"` + + // The key used for matching the JWT subject attribute. + SubjectKey *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JWTOptionsOutput_) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s JWTOptionsOutput_) GoString() string { + return s.String() +} + +// SetEnabled sets the Enabled field's value. +func (s *JWTOptionsOutput_) SetEnabled(v bool) *JWTOptionsOutput_ { + s.Enabled = &v + return s +} + +// SetPublicKey sets the PublicKey field's value. +func (s *JWTOptionsOutput_) SetPublicKey(v string) *JWTOptionsOutput_ { + s.PublicKey = &v + return s +} + +// SetRolesKey sets the RolesKey field's value. +func (s *JWTOptionsOutput_) SetRolesKey(v string) *JWTOptionsOutput_ { + s.RolesKey = &v + return s +} + +// SetSubjectKey sets the SubjectKey field's value. +func (s *JWTOptionsOutput_) SetSubjectKey(v string) *JWTOptionsOutput_ { + s.SubjectKey = &v + return s +} + // An exception for trying to create more than the allowed number of resources // or sub-resources. type LimitExceededException struct { @@ -19967,7 +20127,7 @@ type UpdateDataSourceInput struct { // Name is a required field Name *string `location:"uri" locationName:"DataSourceName" min:"3" type:"string" required:"true"` - // The status of the data source update request. + // The status of the data source update. Status *string `type:"string" enum:"DataSourceStatus"` }