From 93f8d22fd394e268d7eff4bac86937a815c784d1 Mon Sep 17 00:00:00 2001 From: AWS SDK for Go v2 automation user Date: Fri, 23 Aug 2024 18:33:31 +0000 Subject: [PATCH] Regenerated Clients --- .../03fdc157d2b84ce18860a5d84dd62314.json | 8 + .../0510421b8307482594861345faf7afcb.json | 8 + .../7729b9ba246c44ca82b603574148b880.json | 8 + .../ae1b8eaa92bd493892cacda2dd1db2a0.json | 8 + .../c330829d18ce419f9dbbbdecf642765e.json | 8 + .../fce5c73ba58d4ee1bab751ff0999f077.json | 8 + .../attributevalue/go_module_metadata.go | 2 +- .../bedrockagent/api_op_CreateDataSource.go | 14 +- .../bedrockagent/api_op_CreateFlowVersion.go | 4 +- .../api_op_CreatePromptVersion.go | 4 +- service/bedrockagent/api_op_DeletePrompt.go | 7 +- service/bedrockagent/api_op_GetFlowAlias.go | 4 +- service/bedrockagent/api_op_GetFlowVersion.go | 2 +- service/bedrockagent/api_op_GetPrompt.go | 11 +- .../bedrockagent/api_op_ListFlowAliases.go | 2 +- service/bedrockagent/api_op_ListPrompts.go | 10 +- .../bedrockagent/api_op_UpdateFlowAlias.go | 8 +- service/bedrockagent/deserializers.go | 9 + service/bedrockagent/serializers.go | 5 + service/bedrockagent/types/enums.go | 19 ++ service/bedrockagent/types/types.go | 24 +- service/bedrockagentruntime/deserializers.go | 18 ++ service/bedrockagentruntime/serializers.go | 10 + service/bedrockagentruntime/types/enums.go | 40 +++ service/bedrockagentruntime/types/types.go | 13 + service/codebuild/api_op_CreateFleet.go | 8 + service/codebuild/api_op_UpdateFleet.go | 8 + service/codebuild/types/types.go | 8 + service/organizations/endpoints.go | 68 +++++ service/organizations/endpoints_test.go | 146 +++++++++- service/qbusiness/api_op_CreateApplication.go | 10 + service/qbusiness/api_op_CreateDataSource.go | 25 +- .../qbusiness/api_op_CreateWebExperience.go | 8 + service/qbusiness/api_op_GetApplication.go | 14 + service/qbusiness/api_op_GetWebExperience.go | 4 + service/qbusiness/api_op_PutGroup.go | 5 - service/qbusiness/api_op_UpdateApplication.go | 4 + .../qbusiness/api_op_UpdateWebExperience.go | 4 + service/qbusiness/deserializers.go | 266 ++++++++++++++++++ service/qbusiness/serializers.go | 119 ++++++++ service/qbusiness/types/enums.go | 59 ++++ service/qbusiness/types/types.go | 86 ++++++ .../qbusiness/types/types_exported_test.go | 22 ++ service/qbusiness/validators.go | 87 ++++++ .../api_op_SendDataIntegrationEvent.go | 11 +- 45 files changed, 1156 insertions(+), 60 deletions(-) create mode 100644 .changelog/03fdc157d2b84ce18860a5d84dd62314.json create mode 100644 .changelog/0510421b8307482594861345faf7afcb.json create mode 100644 .changelog/7729b9ba246c44ca82b603574148b880.json create mode 100644 .changelog/ae1b8eaa92bd493892cacda2dd1db2a0.json create mode 100644 .changelog/c330829d18ce419f9dbbbdecf642765e.json create mode 100644 .changelog/fce5c73ba58d4ee1bab751ff0999f077.json diff --git a/.changelog/03fdc157d2b84ce18860a5d84dd62314.json b/.changelog/03fdc157d2b84ce18860a5d84dd62314.json new file mode 100644 index 00000000000..2834f8cc172 --- /dev/null +++ b/.changelog/03fdc157d2b84ce18860a5d84dd62314.json @@ -0,0 +1,8 @@ +{ + "id": "03fdc157-d2b8-4ce1-8860-a5d84dd62314", + "type": "feature", + "description": "Releasing minor partitional endpoint updates.", + "modules": [ + "service/organizations" + ] +} \ No newline at end of file diff --git a/.changelog/0510421b8307482594861345faf7afcb.json b/.changelog/0510421b8307482594861345faf7afcb.json new file mode 100644 index 00000000000..1977f9e0979 --- /dev/null +++ b/.changelog/0510421b8307482594861345faf7afcb.json @@ -0,0 +1,8 @@ +{ + "id": "0510421b-8307-4825-9486-1345faf7afcb", + "type": "documentation", + "description": "Update API documentation to clarify the event SLA as well as the data model expectations", + "modules": [ + "service/supplychain" + ] +} \ No newline at end of file diff --git a/.changelog/7729b9ba246c44ca82b603574148b880.json b/.changelog/7729b9ba246c44ca82b603574148b880.json new file mode 100644 index 00000000000..19cdd3e298c --- /dev/null +++ b/.changelog/7729b9ba246c44ca82b603574148b880.json @@ -0,0 +1,8 @@ +{ + "id": "7729b9ba-246c-44ca-82b6-03574148b880", + "type": "feature", + "description": "Releasing the support for Action User Confirmation.", + "modules": [ + "service/bedrockagent" + ] +} \ No newline at end of file diff --git a/.changelog/ae1b8eaa92bd493892cacda2dd1db2a0.json b/.changelog/ae1b8eaa92bd493892cacda2dd1db2a0.json new file mode 100644 index 00000000000..a6b1c4390f4 --- /dev/null +++ b/.changelog/ae1b8eaa92bd493892cacda2dd1db2a0.json @@ -0,0 +1,8 @@ +{ + "id": "ae1b8eaa-92bd-4938-92ca-cda2dd1db2a0", + "type": "documentation", + "description": "Added support for the MAC_ARM environment type for CodeBuild fleets.", + "modules": [ + "service/codebuild" + ] +} \ No newline at end of file diff --git a/.changelog/c330829d18ce419f9dbbbdecf642765e.json b/.changelog/c330829d18ce419f9dbbbdecf642765e.json new file mode 100644 index 00000000000..a23584b409b --- /dev/null +++ b/.changelog/c330829d18ce419f9dbbbdecf642765e.json @@ -0,0 +1,8 @@ +{ + "id": "c330829d-18ce-419f-9dbb-bdecf642765e", + "type": "feature", + "description": "Releasing the support for Action User Confirmation.", + "modules": [ + "service/bedrockagentruntime" + ] +} \ No newline at end of file diff --git a/.changelog/fce5c73ba58d4ee1bab751ff0999f077.json b/.changelog/fce5c73ba58d4ee1bab751ff0999f077.json new file mode 100644 index 00000000000..fbea11019e9 --- /dev/null +++ b/.changelog/fce5c73ba58d4ee1bab751ff0999f077.json @@ -0,0 +1,8 @@ +{ + "id": "fce5c73b-a58d-4ee1-bab7-51ff0999f077", + "type": "feature", + "description": "Amazon QBusiness: Enable support for SAML and OIDC federation through AWS IAM Identity Provider integration.", + "modules": [ + "service/qbusiness" + ] +} \ No newline at end of file diff --git a/feature/dynamodbstreams/attributevalue/go_module_metadata.go b/feature/dynamodbstreams/attributevalue/go_module_metadata.go index b23368211a1..fe01ee88a8e 100644 --- a/feature/dynamodbstreams/attributevalue/go_module_metadata.go +++ b/feature/dynamodbstreams/attributevalue/go_module_metadata.go @@ -3,4 +3,4 @@ package attributevalue // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.13.70" +const goModuleVersion = "1.14.12" diff --git a/service/bedrockagent/api_op_CreateDataSource.go b/service/bedrockagent/api_op_CreateDataSource.go index 2ce36f52127..b598bc6154d 100644 --- a/service/bedrockagent/api_op_CreateDataSource.go +++ b/service/bedrockagent/api_op_CreateDataSource.go @@ -58,13 +58,15 @@ type CreateDataSourceInput struct { // // You can set the data deletion policy to: // - // - DELETE: Deletes all underlying data belonging to the data source from the - // vector store upon deletion of a knowledge base or data source resource. Note - // that the vector store itself is not deleted, only the underlying data. This flag - // is ignored if an Amazon Web Services account is deleted. + // - DELETE: Deletes all data from your data source that’s converted into vector + // embeddings upon deletion of a knowledge base or data source resource. Note that + // the vector store itself is not deleted, only the data. This flag is ignored if + // an Amazon Web Services account is deleted. // - // - RETAIN: Retains all underlying data in your vector store upon deletion of a - // knowledge base or data source resource. + // - RETAIN: Retains all data from your data source that’s converted into vector + // embeddings upon deletion of a knowledge base or data source resource. Note that + // the vector store itself is not deleted if you delete a knowledge base or data + // source resource. DataDeletionPolicy types.DataDeletionPolicy // A description of the data source. diff --git a/service/bedrockagent/api_op_CreateFlowVersion.go b/service/bedrockagent/api_op_CreateFlowVersion.go index 7467d66687e..3d1fa77af7a 100644 --- a/service/bedrockagent/api_op_CreateFlowVersion.go +++ b/service/bedrockagent/api_op_CreateFlowVersion.go @@ -76,7 +76,7 @@ type CreateFlowVersionOutput struct { // This member is required. Id *string - // The name of the flow version. + // The name of the version. // // This member is required. Name *string @@ -98,7 +98,7 @@ type CreateFlowVersionOutput struct { // A definition of the nodes and connections in the flow. Definition *types.FlowDefinition - // The description of the flow version. + // The description of the version. Description *string // Metadata pertaining to the operation's result. diff --git a/service/bedrockagent/api_op_CreatePromptVersion.go b/service/bedrockagent/api_op_CreatePromptVersion.go index faa2bdd0289..536595cff78 100644 --- a/service/bedrockagent/api_op_CreatePromptVersion.go +++ b/service/bedrockagent/api_op_CreatePromptVersion.go @@ -74,7 +74,7 @@ type CreatePromptVersionOutput struct { // This member is required. Id *string - // The name of the prompt version. + // The name of the prompt. // // This member is required. Name *string @@ -100,7 +100,7 @@ type CreatePromptVersionOutput struct { // [PromptVariant]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_PromptVariant.html DefaultVariant *string - // A description for the prompt version. + // A description for the version. Description *string // A list of objects, each containing details about a variant of the prompt. diff --git a/service/bedrockagent/api_op_DeletePrompt.go b/service/bedrockagent/api_op_DeletePrompt.go index e4f7312e05b..36a702a14aa 100644 --- a/service/bedrockagent/api_op_DeletePrompt.go +++ b/service/bedrockagent/api_op_DeletePrompt.go @@ -10,8 +10,9 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Deletes a prompt or a prompt version from the Prompt management tool. For more -// information, see [Delete prompts from the Prompt management tool]and [Delete a version of a prompt from the Prompt management tool] in the Amazon Bedrock User Guide. +// Deletes a prompt or a version of it, depending on whether you include the +// promptVersion field or not. For more information, see [Delete prompts from the Prompt management tool] and [Delete a version of a prompt from the Prompt management tool] in the Amazon +// Bedrock User Guide. // // [Delete a version of a prompt from the Prompt management tool]: https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-deploy.html#prompt-management-versions-delete.html // [Delete prompts from the Prompt management tool]: https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-manage.html#prompt-management-delete.html @@ -37,7 +38,7 @@ type DeletePromptInput struct { // This member is required. PromptIdentifier *string - // The version of the prompt to delete. + // The version of the prompt to delete. To delete the prompt, omit this field. PromptVersion *string noSmithyDocumentSerde diff --git a/service/bedrockagent/api_op_GetFlowAlias.go b/service/bedrockagent/api_op_GetFlowAlias.go index 5ffdf8f7e1c..7295cf53686 100644 --- a/service/bedrockagent/api_op_GetFlowAlias.go +++ b/service/bedrockagent/api_op_GetFlowAlias.go @@ -68,7 +68,7 @@ type GetFlowAliasOutput struct { // This member is required. Id *string - // The name of the flow alias. + // The name of the alias. // // This member is required. Name *string @@ -78,7 +78,7 @@ type GetFlowAliasOutput struct { // This member is required. RoutingConfiguration []types.FlowAliasRoutingConfigurationListItem - // The time at which the flow alias was last updated. + // The time at which the alias was last updated. // // This member is required. UpdatedAt *time.Time diff --git a/service/bedrockagent/api_op_GetFlowVersion.go b/service/bedrockagent/api_op_GetFlowVersion.go index 51c53516df2..fae949ee65d 100644 --- a/service/bedrockagent/api_op_GetFlowVersion.go +++ b/service/bedrockagent/api_op_GetFlowVersion.go @@ -71,7 +71,7 @@ type GetFlowVersionOutput struct { // This member is required. Id *string - // The name of the flow version. + // The name of the version. // // This member is required. Name *string diff --git a/service/bedrockagent/api_op_GetPrompt.go b/service/bedrockagent/api_op_GetPrompt.go index 69a0d692760..5b3da8c5369 100644 --- a/service/bedrockagent/api_op_GetPrompt.go +++ b/service/bedrockagent/api_op_GetPrompt.go @@ -12,8 +12,9 @@ import ( "time" ) -// Retrieves information about a prompt or a version of it. For more information, -// see [View information about prompts using Prompt management]and [View information about a version of your prompt] in the Amazon Bedrock User Guide. +// Retrieves information about the working draft ( DRAFT version) of a prompt or a +// version of it, depending on whether you include the promptVersion field or not. +// For more information, see [View information about prompts using Prompt management]and [View information about a version of your prompt] in the Amazon Bedrock User Guide. // // [View information about a version of your prompt]: https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-deploy.html#prompt-management-versions-view.html // [View information about prompts using Prompt management]: https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-manage.html#prompt-management-view.html @@ -39,7 +40,8 @@ type GetPromptInput struct { // This member is required. PromptIdentifier *string - // The version of the prompt about which you want to retrieve information. + // The version of the prompt about which you want to retrieve information. Omit + // this field to return information about the working draft of the prompt. PromptVersion *string noSmithyDocumentSerde @@ -47,7 +49,8 @@ type GetPromptInput struct { type GetPromptOutput struct { - // The Amazon Resource Name (ARN) of the prompt. + // The Amazon Resource Name (ARN) of the prompt or the prompt version (if you + // specified a version in the request). // // This member is required. Arn *string diff --git a/service/bedrockagent/api_op_ListFlowAliases.go b/service/bedrockagent/api_op_ListFlowAliases.go index 2b65c8b0d06..4a9df0fcd63 100644 --- a/service/bedrockagent/api_op_ListFlowAliases.go +++ b/service/bedrockagent/api_op_ListFlowAliases.go @@ -50,7 +50,7 @@ type ListFlowAliasesInput struct { type ListFlowAliasesOutput struct { - // A list, each member of which contains information about a flow alias. + // A list, each member of which contains information about an alias. // // This member is required. FlowAliasSummaries []types.FlowAliasSummary diff --git a/service/bedrockagent/api_op_ListPrompts.go b/service/bedrockagent/api_op_ListPrompts.go index a79f7283e22..00b124d723d 100644 --- a/service/bedrockagent/api_op_ListPrompts.go +++ b/service/bedrockagent/api_op_ListPrompts.go @@ -11,8 +11,10 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Returns a list of prompts from the Prompt management tool and information about -// each prompt. For more information, see [View information about prompts using Prompt management]in the Amazon Bedrock User Guide. +// Returns either information about the working draft ( DRAFT version) of each +// prompt in an account, or information about of all versions of a prompt, +// depending on whether you include the promptIdentifier field or not. For more +// information, see [View information about prompts using Prompt management]in the Amazon Bedrock User Guide. // // [View information about prompts using Prompt management]: https://docs.aws.amazon.com/bedrock/latest/userguide/prompt-management-manage.html#prompt-management-view.html func (c *Client) ListPrompts(ctx context.Context, params *ListPromptsInput, optFns ...func(*Options)) (*ListPromptsOutput, error) { @@ -43,7 +45,9 @@ type ListPromptsInput struct { // this field to return the next batch of results. NextToken *string - // The unique identifier of the prompt. + // The unique identifier of the prompt for whose versions you want to return + // information. Omit this field to list information about all prompts in an + // account. PromptIdentifier *string noSmithyDocumentSerde diff --git a/service/bedrockagent/api_op_UpdateFlowAlias.go b/service/bedrockagent/api_op_UpdateFlowAlias.go index 34426638c47..3e58e65999c 100644 --- a/service/bedrockagent/api_op_UpdateFlowAlias.go +++ b/service/bedrockagent/api_op_UpdateFlowAlias.go @@ -44,7 +44,7 @@ type UpdateFlowAliasInput struct { // This member is required. FlowIdentifier *string - // The name of the flow alias. + // The name of the alias. // // This member is required. Name *string @@ -54,7 +54,7 @@ type UpdateFlowAliasInput struct { // This member is required. RoutingConfiguration []types.FlowAliasRoutingConfigurationListItem - // A description for the flow alias. + // A description for the alias. Description *string noSmithyDocumentSerde @@ -82,7 +82,7 @@ type UpdateFlowAliasOutput struct { // This member is required. Id *string - // The name of the flow alias. + // The name of the alias. // // This member is required. Name *string @@ -92,7 +92,7 @@ type UpdateFlowAliasOutput struct { // This member is required. RoutingConfiguration []types.FlowAliasRoutingConfigurationListItem - // The time at which the flow alias was last updated. + // The time at which the alias was last updated. // // This member is required. UpdatedAt *time.Time diff --git a/service/bedrockagent/deserializers.go b/service/bedrockagent/deserializers.go index 050d3ec2926..1cc39aeb094 100644 --- a/service/bedrockagent/deserializers.go +++ b/service/bedrockagent/deserializers.go @@ -15338,6 +15338,15 @@ func awsRestjson1_deserializeDocumentFunction(v **types.Function, value interfac return err } + case "requireConfirmation": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected RequireConfirmation to be of type string, got %T instead", value) + } + sv.RequireConfirmation = types.RequireConfirmation(jtv) + } + default: _, _ = key, value diff --git a/service/bedrockagent/serializers.go b/service/bedrockagent/serializers.go index 56ba04b0aca..5dfa039d322 100644 --- a/service/bedrockagent/serializers.go +++ b/service/bedrockagent/serializers.go @@ -6304,6 +6304,11 @@ func awsRestjson1_serializeDocumentFunction(v *types.Function, value smithyjson. } } + if len(v.RequireConfirmation) > 0 { + ok := object.Key("requireConfirmation") + ok.String(string(v.RequireConfirmation)) + } + return nil } diff --git a/service/bedrockagent/types/enums.go b/service/bedrockagent/types/enums.go index 15da73acadf..19bc0435491 100644 --- a/service/bedrockagent/types/enums.go +++ b/service/bedrockagent/types/enums.go @@ -656,6 +656,25 @@ func (PromptType) Values() []PromptType { } } +type RequireConfirmation string + +// Enum values for RequireConfirmation +const ( + RequireConfirmationEnabled RequireConfirmation = "ENABLED" + RequireConfirmationDisabled RequireConfirmation = "DISABLED" +) + +// Values returns all known values for RequireConfirmation. Note that this can be +// expanded in the future, and so it is only as up to date as the client. +// +// The ordering of this slice is not guaranteed to be stable across updates. +func (RequireConfirmation) Values() []RequireConfirmation { + return []RequireConfirmation{ + "ENABLED", + "DISABLED", + } +} + type SalesforceAuthType string // Enum values for SalesforceAuthType diff --git a/service/bedrockagent/types/types.go b/service/bedrockagent/types/types.go index ea734bc7d0d..744103b9cef 100644 --- a/service/bedrockagent/types/types.go +++ b/service/bedrockagent/types/types.go @@ -826,9 +826,9 @@ type ConfluenceSourceConfiguration struct { AuthType ConfluenceAuthType // The Amazon Resource Name of an Secrets Manager secret that stores your - // authentication credentials for your SharePoint site/sites. For more information - // on the key-value pairs that must be included in your secret, depending on your - // authentication type, see [Confluence connection configuration]. + // authentication credentials for your Confluence instance URL. For more + // information on the key-value pairs that must be included in your secret, + // depending on your authentication type, see [Confluence connection configuration]. // // [Confluence connection configuration]: https://docs.aws.amazon.com/bedrock/latest/userguide/confluence-data-source-connector.html#configuration-confluence-connector // @@ -1067,7 +1067,7 @@ type FlowAliasRoutingConfigurationListItem struct { // [ListFlowAliases response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListFlowAliases.html#API_agent_ListFlowAliases_ResponseSyntax type FlowAliasSummary struct { - // The Amazon Resource Name (ARN) of the flow alias. + // The Amazon Resource Name (ARN) of the alias. // // This member is required. Arn *string @@ -1534,7 +1534,7 @@ type FlowValidation struct { noSmithyDocumentSerde } -// Contains information about the flow version. +// Contains information about a version of a flow. // // This data type is used in the following API operations: // @@ -1548,7 +1548,7 @@ type FlowVersionSummary struct { // This member is required. Arn *string - // The time at the flow version was created. + // The time at the version was created. // // This member is required. CreatedAt *time.Time @@ -1604,6 +1604,9 @@ type Function struct { // The parameters that the agent elicits from the user to fulfill the function. Parameters map[string]ParameterDetail + // Contains information if user confirmation is required to invoke the function. + RequireConfirmation RequireConfirmation + noSmithyDocumentSerde } @@ -2625,7 +2628,8 @@ type PromptOverrideConfiguration struct { // [ListPrompts response]: https://docs.aws.amazon.com/bedrock/latest/APIReference/API_agent_ListPrompts.html#API_agent_ListPrompts_ResponseSyntax type PromptSummary struct { - // The Amazon Resource Name (ARN) of the prompt. + // The Amazon Resource Name (ARN) of the prompt or the prompt version (if you + // specified a version in the request). // // This member is required. Arn *string @@ -2952,9 +2956,9 @@ type SalesforceSourceConfiguration struct { AuthType SalesforceAuthType // The Amazon Resource Name of an Secrets Manager secret that stores your - // authentication credentials for your SharePoint site/sites. For more information - // on the key-value pairs that must be included in your secret, depending on your - // authentication type, see [Salesforce connection configuration]. + // authentication credentials for your Salesforce instance URL. For more + // information on the key-value pairs that must be included in your secret, + // depending on your authentication type, see [Salesforce connection configuration]. // // [Salesforce connection configuration]: https://docs.aws.amazon.com/bedrock/latest/userguide/salesforce-data-source-connector.html#configuration-salesforce-connector // diff --git a/service/bedrockagentruntime/deserializers.go b/service/bedrockagentruntime/deserializers.go index c24caee7317..60b6b657ee7 100644 --- a/service/bedrockagentruntime/deserializers.go +++ b/service/bedrockagentruntime/deserializers.go @@ -1764,6 +1764,15 @@ func awsRestjson1_deserializeDocumentApiInvocationInput(v **types.ApiInvocationI sv.ActionGroup = ptr.String(jtv) } + case "actionInvocationType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ActionInvocationType to be of type string, got %T instead", value) + } + sv.ActionInvocationType = types.ActionInvocationType(jtv) + } + case "apiPath": if value != nil { jtv, ok := value.(string) @@ -2512,6 +2521,15 @@ func awsRestjson1_deserializeDocumentFunctionInvocationInput(v **types.FunctionI sv.ActionGroup = ptr.String(jtv) } + case "actionInvocationType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ActionInvocationType to be of type string, got %T instead", value) + } + sv.ActionInvocationType = types.ActionInvocationType(jtv) + } + case "function": if value != nil { jtv, ok := value.(string) diff --git a/service/bedrockagentruntime/serializers.go b/service/bedrockagentruntime/serializers.go index b58ab3a08e7..de6ac7514a1 100644 --- a/service/bedrockagentruntime/serializers.go +++ b/service/bedrockagentruntime/serializers.go @@ -655,6 +655,11 @@ func awsRestjson1_serializeDocumentApiResult(v *types.ApiResult, value smithyjso ok.String(*v.ApiPath) } + if len(v.ConfirmationState) > 0 { + ok := object.Key("confirmationState") + ok.String(string(v.ConfirmationState)) + } + if v.HttpMethod != nil { ok := object.Key("httpMethod") ok.String(*v.HttpMethod) @@ -955,6 +960,11 @@ func awsRestjson1_serializeDocumentFunctionResult(v *types.FunctionResult, value ok.String(*v.ActionGroup) } + if len(v.ConfirmationState) > 0 { + ok := object.Key("confirmationState") + ok.String(string(v.ConfirmationState)) + } + if v.Function != nil { ok := object.Key("function") ok.String(*v.Function) diff --git a/service/bedrockagentruntime/types/enums.go b/service/bedrockagentruntime/types/enums.go index 46342905de7..0b6be7687ef 100644 --- a/service/bedrockagentruntime/types/enums.go +++ b/service/bedrockagentruntime/types/enums.go @@ -2,6 +2,46 @@ package types +type ActionInvocationType string + +// Enum values for ActionInvocationType +const ( + ActionInvocationTypeResult ActionInvocationType = "RESULT" + ActionInvocationTypeUserConfirmation ActionInvocationType = "USER_CONFIRMATION" + ActionInvocationTypeUserConfirmationAndResult ActionInvocationType = "USER_CONFIRMATION_AND_RESULT" +) + +// Values returns all known values for ActionInvocationType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. +// +// The ordering of this slice is not guaranteed to be stable across updates. +func (ActionInvocationType) Values() []ActionInvocationType { + return []ActionInvocationType{ + "RESULT", + "USER_CONFIRMATION", + "USER_CONFIRMATION_AND_RESULT", + } +} + +type ConfirmationState string + +// Enum values for ConfirmationState +const ( + ConfirmationStateConfirm ConfirmationState = "CONFIRM" + ConfirmationStateDeny ConfirmationState = "DENY" +) + +// Values returns all known values for ConfirmationState. Note that this can be +// expanded in the future, and so it is only as up to date as the client. +// +// The ordering of this slice is not guaranteed to be stable across updates. +func (ConfirmationState) Values() []ConfirmationState { + return []ConfirmationState{ + "CONFIRM", + "DENY", + } +} + type CreationMode string // Enum values for CreationMode diff --git a/service/bedrockagentruntime/types/types.go b/service/bedrockagentruntime/types/types.go index 19821d10638..a94fc6e8a59 100644 --- a/service/bedrockagentruntime/types/types.go +++ b/service/bedrockagentruntime/types/types.go @@ -70,6 +70,9 @@ type ApiInvocationInput struct { // This member is required. ActionGroup *string + // Contains information about the API operation to invoke. + ActionInvocationType ActionInvocationType + // The path to the API operation. ApiPath *string @@ -143,6 +146,10 @@ type ApiResult struct { // The path to the API operation. ApiPath *string + // Controls the API operations or functions to invoke based on the user + // confirmation. + ConfirmationState ConfirmationState + // The HTTP method for the API operation. HttpMethod *string @@ -582,6 +589,9 @@ type FunctionInvocationInput struct { // This member is required. ActionGroup *string + // Contains information about the function to invoke, + ActionInvocationType ActionInvocationType + // The name of the function. Function *string @@ -627,6 +637,9 @@ type FunctionResult struct { // This member is required. ActionGroup *string + // Contains the user confirmation information about the function that was called. + ConfirmationState ConfirmationState + // The name of the function that was called. Function *string diff --git a/service/codebuild/api_op_CreateFleet.go b/service/codebuild/api_op_CreateFleet.go index 930b9275f8c..e8ac59f630e 100644 --- a/service/codebuild/api_op_CreateFleet.go +++ b/service/codebuild/api_op_CreateFleet.go @@ -97,6 +97,14 @@ type CreateFleetInput struct { // East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU // (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney). // + // - The environment type MAC_ARM is available for Medium fleets only in regions + // US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), + // and EU (Frankfurt) + // + // - The environment type MAC_ARM is available for Large fleets only in regions + // US East (N. Virginia), US East (Ohio), US West (Oregon), and Asia Pacific + // (Sydney). + // // - The environment type WINDOWS_SERVER_2019_CONTAINER is available only in // regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific // (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland). diff --git a/service/codebuild/api_op_UpdateFleet.go b/service/codebuild/api_op_UpdateFleet.go index 4fc1cf1181a..61d81ece39e 100644 --- a/service/codebuild/api_op_UpdateFleet.go +++ b/service/codebuild/api_op_UpdateFleet.go @@ -98,6 +98,14 @@ type UpdateFleetInput struct { // East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU // (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney). // + // - The environment type MAC_ARM is available for Medium fleets only in regions + // US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), + // and EU (Frankfurt) + // + // - The environment type MAC_ARM is available for Large fleets only in regions + // US East (N. Virginia), US East (Ohio), US West (Oregon), and Asia Pacific + // (Sydney). + // // - The environment type WINDOWS_SERVER_2019_CONTAINER is available only in // regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific // (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland). diff --git a/service/codebuild/types/types.go b/service/codebuild/types/types.go index 252185cb4e2..f696a110782 100644 --- a/service/codebuild/types/types.go +++ b/service/codebuild/types/types.go @@ -943,6 +943,14 @@ type Fleet struct { // East (N. Virginia), US East (Ohio), US West (Oregon), EU (Ireland), EU // (Frankfurt), Asia Pacific (Tokyo), and Asia Pacific (Sydney). // + // - The environment type MAC_ARM is available for Medium fleets only in regions + // US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific (Sydney), + // and EU (Frankfurt) + // + // - The environment type MAC_ARM is available for Large fleets only in regions + // US East (N. Virginia), US East (Ohio), US West (Oregon), and Asia Pacific + // (Sydney). + // // - The environment type WINDOWS_SERVER_2019_CONTAINER is available only in // regions US East (N. Virginia), US East (Ohio), US West (Oregon), Asia Pacific // (Sydney), Asia Pacific (Tokyo), Asia Pacific (Mumbai) and EU (Ireland). diff --git a/service/organizations/endpoints.go b/service/organizations/endpoints.go index 7989dd0c9ba..a116538fc91 100644 --- a/service/organizations/endpoints.go +++ b/service/organizations/endpoints.go @@ -561,6 +561,74 @@ func (r *resolver) ResolveEndpoint( } } } + if _PartitionResult.Name == "aws-iso-b" { + if _UseFIPS == false { + if _UseDualStack == false { + uriString := "https://organizations.us-isob-east-1.sc2s.sgov.gov" + + uri, err := url.Parse(uriString) + if err != nil { + return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) + } + + return smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + Properties: func() smithy.Properties { + var out smithy.Properties + smithyauth.SetAuthOptions(&out, []*smithyauth.Option{ + { + SchemeID: "aws.auth#sigv4", + SignerProperties: func() smithy.Properties { + var sp smithy.Properties + smithyhttp.SetSigV4SigningName(&sp, "organizations") + smithyhttp.SetSigV4ASigningName(&sp, "organizations") + + smithyhttp.SetSigV4SigningRegion(&sp, "us-isob-east-1") + return sp + }(), + }, + }) + return out + }(), + }, nil + } + } + } + if _PartitionResult.Name == "aws-iso-f" { + if _UseFIPS == false { + if _UseDualStack == false { + uriString := "https://organizations.us-isof-south-1.csp.hci.ic.gov" + + uri, err := url.Parse(uriString) + if err != nil { + return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString) + } + + return smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + Properties: func() smithy.Properties { + var out smithy.Properties + smithyauth.SetAuthOptions(&out, []*smithyauth.Option{ + { + SchemeID: "aws.auth#sigv4", + SignerProperties: func() smithy.Properties { + var sp smithy.Properties + smithyhttp.SetSigV4SigningName(&sp, "organizations") + smithyhttp.SetSigV4ASigningName(&sp, "organizations") + + smithyhttp.SetSigV4SigningRegion(&sp, "us-isof-south-1") + return sp + }(), + }, + }) + return out + }(), + }, nil + } + } + } if _UseFIPS == true { if _UseDualStack == true { if true == _PartitionResult.SupportsFIPS { diff --git a/service/organizations/endpoints_test.go b/service/organizations/endpoints_test.go index f01adfe1e35..ed44afc1294 100644 --- a/service/organizations/endpoints_test.go +++ b/service/organizations/endpoints_test.go @@ -988,8 +988,61 @@ func TestEndpointCase21(t *testing.T) { } } -// For region us-isob-east-1 with FIPS enabled and DualStack enabled +// For region aws-iso-b-global with FIPS disabled and DualStack disabled func TestEndpointCase22(t *testing.T) { + var params = EndpointParameters{ + Region: ptr.String("aws-iso-b-global"), + UseFIPS: ptr.Bool(false), + UseDualStack: ptr.Bool(false), + } + + resolver := NewDefaultEndpointResolverV2() + result, err := resolver.ResolveEndpoint(context.Background(), params) + _, _ = result, err + + if err != nil { + t.Fatalf("expect no error, got %v", err) + } + + uri, _ := url.Parse("https://organizations.us-isob-east-1.sc2s.sgov.gov") + + expectEndpoint := smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + Properties: func() smithy.Properties { + var out smithy.Properties + smithyauth.SetAuthOptions(&out, []*smithyauth.Option{ + { + SchemeID: "aws.auth#sigv4", + SignerProperties: func() smithy.Properties { + var sp smithy.Properties + smithyhttp.SetSigV4SigningName(&sp, "organizations") + smithyhttp.SetSigV4ASigningName(&sp, "organizations") + + smithyhttp.SetSigV4SigningRegion(&sp, "us-isob-east-1") + return sp + }(), + }, + }) + return out + }(), + } + + if e, a := expectEndpoint.URI, result.URI; e != a { + t.Errorf("expect %v URI, got %v", e, a) + } + + if !reflect.DeepEqual(expectEndpoint.Headers, result.Headers) { + t.Errorf("expect headers to match\n%v != %v", expectEndpoint.Headers, result.Headers) + } + + if !reflect.DeepEqual(expectEndpoint.Properties, result.Properties) { + t.Errorf("expect properties to match\n%v != %v", expectEndpoint.Properties, result.Properties) + } +} + +// For region us-isob-east-1 with FIPS enabled and DualStack enabled +func TestEndpointCase23(t *testing.T) { var params = EndpointParameters{ Region: ptr.String("us-isob-east-1"), UseFIPS: ptr.Bool(true), @@ -1009,7 +1062,7 @@ func TestEndpointCase22(t *testing.T) { } // For region us-isob-east-1 with FIPS enabled and DualStack disabled -func TestEndpointCase23(t *testing.T) { +func TestEndpointCase24(t *testing.T) { var params = EndpointParameters{ Region: ptr.String("us-isob-east-1"), UseFIPS: ptr.Bool(true), @@ -1046,7 +1099,7 @@ func TestEndpointCase23(t *testing.T) { } // For region us-isob-east-1 with FIPS disabled and DualStack enabled -func TestEndpointCase24(t *testing.T) { +func TestEndpointCase25(t *testing.T) { var params = EndpointParameters{ Region: ptr.String("us-isob-east-1"), UseFIPS: ptr.Bool(false), @@ -1066,7 +1119,7 @@ func TestEndpointCase24(t *testing.T) { } // For region us-isob-east-1 with FIPS disabled and DualStack disabled -func TestEndpointCase25(t *testing.T) { +func TestEndpointCase26(t *testing.T) { var params = EndpointParameters{ Region: ptr.String("us-isob-east-1"), UseFIPS: ptr.Bool(false), @@ -1084,9 +1137,78 @@ func TestEndpointCase25(t *testing.T) { uri, _ := url.Parse("https://organizations.us-isob-east-1.sc2s.sgov.gov") expectEndpoint := smithyendpoints.Endpoint{ - URI: *uri, - Headers: http.Header{}, - Properties: smithy.Properties{}, + URI: *uri, + Headers: http.Header{}, + Properties: func() smithy.Properties { + var out smithy.Properties + smithyauth.SetAuthOptions(&out, []*smithyauth.Option{ + { + SchemeID: "aws.auth#sigv4", + SignerProperties: func() smithy.Properties { + var sp smithy.Properties + smithyhttp.SetSigV4SigningName(&sp, "organizations") + smithyhttp.SetSigV4ASigningName(&sp, "organizations") + + smithyhttp.SetSigV4SigningRegion(&sp, "us-isob-east-1") + return sp + }(), + }, + }) + return out + }(), + } + + if e, a := expectEndpoint.URI, result.URI; e != a { + t.Errorf("expect %v URI, got %v", e, a) + } + + if !reflect.DeepEqual(expectEndpoint.Headers, result.Headers) { + t.Errorf("expect headers to match\n%v != %v", expectEndpoint.Headers, result.Headers) + } + + if !reflect.DeepEqual(expectEndpoint.Properties, result.Properties) { + t.Errorf("expect properties to match\n%v != %v", expectEndpoint.Properties, result.Properties) + } +} + +// For region us-isof-south-1 with FIPS disabled and DualStack disabled +func TestEndpointCase27(t *testing.T) { + var params = EndpointParameters{ + Region: ptr.String("us-isof-south-1"), + UseFIPS: ptr.Bool(false), + UseDualStack: ptr.Bool(false), + } + + resolver := NewDefaultEndpointResolverV2() + result, err := resolver.ResolveEndpoint(context.Background(), params) + _, _ = result, err + + if err != nil { + t.Fatalf("expect no error, got %v", err) + } + + uri, _ := url.Parse("https://organizations.us-isof-south-1.csp.hci.ic.gov") + + expectEndpoint := smithyendpoints.Endpoint{ + URI: *uri, + Headers: http.Header{}, + Properties: func() smithy.Properties { + var out smithy.Properties + smithyauth.SetAuthOptions(&out, []*smithyauth.Option{ + { + SchemeID: "aws.auth#sigv4", + SignerProperties: func() smithy.Properties { + var sp smithy.Properties + smithyhttp.SetSigV4SigningName(&sp, "organizations") + smithyhttp.SetSigV4ASigningName(&sp, "organizations") + + smithyhttp.SetSigV4SigningRegion(&sp, "us-isof-south-1") + return sp + }(), + }, + }) + return out + }(), } if e, a := expectEndpoint.URI, result.URI; e != a { @@ -1103,7 +1225,7 @@ func TestEndpointCase25(t *testing.T) { } // For custom endpoint with region set and fips disabled and dualstack disabled -func TestEndpointCase26(t *testing.T) { +func TestEndpointCase28(t *testing.T) { var params = EndpointParameters{ Region: ptr.String("us-east-1"), UseFIPS: ptr.Bool(false), @@ -1141,7 +1263,7 @@ func TestEndpointCase26(t *testing.T) { } // For custom endpoint with region not set and fips disabled and dualstack disabled -func TestEndpointCase27(t *testing.T) { +func TestEndpointCase29(t *testing.T) { var params = EndpointParameters{ UseFIPS: ptr.Bool(false), UseDualStack: ptr.Bool(false), @@ -1178,7 +1300,7 @@ func TestEndpointCase27(t *testing.T) { } // For custom endpoint with fips enabled and dualstack disabled -func TestEndpointCase28(t *testing.T) { +func TestEndpointCase30(t *testing.T) { var params = EndpointParameters{ Region: ptr.String("us-east-1"), UseFIPS: ptr.Bool(true), @@ -1199,7 +1321,7 @@ func TestEndpointCase28(t *testing.T) { } // For custom endpoint with fips disabled and dualstack enabled -func TestEndpointCase29(t *testing.T) { +func TestEndpointCase31(t *testing.T) { var params = EndpointParameters{ Region: ptr.String("us-east-1"), UseFIPS: ptr.Bool(false), @@ -1220,7 +1342,7 @@ func TestEndpointCase29(t *testing.T) { } // Missing region -func TestEndpointCase30(t *testing.T) { +func TestEndpointCase32(t *testing.T) { var params = EndpointParameters{} resolver := NewDefaultEndpointResolverV2() diff --git a/service/qbusiness/api_op_CreateApplication.go b/service/qbusiness/api_op_CreateApplication.go index bbadbe0c9ae..169bda45a71 100644 --- a/service/qbusiness/api_op_CreateApplication.go +++ b/service/qbusiness/api_op_CreateApplication.go @@ -45,6 +45,9 @@ type CreateApplicationInput struct { // An option to allow end users to upload files directly during chat. AttachmentsConfiguration *types.AttachmentsConfiguration + // The OIDC client ID for a Amazon Q Business application. + ClientIdsForOIDC []string + // A token that you provide to identify the request to create your Amazon Q // Business application. ClientToken *string @@ -56,10 +59,17 @@ type CreateApplicationInput struct { // Business doesn't support asymmetric keys. EncryptionConfiguration *types.EncryptionConfiguration + // The Amazon Resource Name (ARN) of an identity provider being used by an Amazon + // Q Business application. + IamIdentityProviderArn *string + // The Amazon Resource Name (ARN) of the IAM Identity Center instance you are // either creating for—or connecting to—your Amazon Q Business application. IdentityCenterInstanceArn *string + // The authentication type being used by a Amazon Q Business application. + IdentityType types.IdentityType + // Configuration information about chat response personalization. For more // information, see [Personalizing chat responses] // diff --git a/service/qbusiness/api_op_CreateDataSource.go b/service/qbusiness/api_op_CreateDataSource.go index 5e349215150..0b7ed97a576 100644 --- a/service/qbusiness/api_op_CreateDataSource.go +++ b/service/qbusiness/api_op_CreateDataSource.go @@ -39,10 +39,31 @@ type CreateDataSourceInput struct { // This member is required. ApplicationId *string - // Configuration information to connect to your data source repository. For - // configuration templates for your specific data source, see [Supported connectors]. + // Configuration information to connect your data source repository to Amazon Q + // Business. Use this parameter to provide a JSON schema with configuration + // information specific to your data source connector. + // + // Each data source has a JSON schema provided by Amazon Q Business that you must + // use. For example, the Amazon S3 and Web Crawler connectors require the following + // JSON schemas: + // + // [Amazon S3 JSON schema] + // + // [Web Crawler JSON schema] + // + // You can find configuration templates for your specific data source using the + // following steps: + // + // - Navigate to the [Supported connectors]page in the Amazon Q Business User Guide, and select the + // data source of your choice. + // + // - Then, from your specific data source connector page, select Using the API. + // You will find the JSON schema for your data source, including parameter + // descriptions, in this section. // // [Supported connectors]: https://docs.aws.amazon.com/amazonq/latest/business-use-dg/connectors-list.html + // [Web Crawler JSON schema]: https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/web-crawler-api.html + // [Amazon S3 JSON schema]: https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/s3-api.html // // This member is required. Configuration document.Interface diff --git a/service/qbusiness/api_op_CreateWebExperience.go b/service/qbusiness/api_op_CreateWebExperience.go index 796fb742130..7261ebf1765 100644 --- a/service/qbusiness/api_op_CreateWebExperience.go +++ b/service/qbusiness/api_op_CreateWebExperience.go @@ -38,8 +38,16 @@ type CreateWebExperienceInput struct { // experience. ClientToken *string + // Information about the identity provider (IdP) used to authenticate end users of + // an Amazon Q Business web experience. + IdentityProviderConfiguration types.IdentityProviderConfiguration + // The Amazon Resource Name (ARN) of the service role attached to your web // experience. + // + // You must provide this value if you're using IAM Identity Center to manage end + // user access to your application. If you're using legacy identity management to + // manage user access, you don't need to provide this value. RoleArn *string // Determines whether sample prompts are enabled in the web experience for an end diff --git a/service/qbusiness/api_op_GetApplication.go b/service/qbusiness/api_op_GetApplication.go index 1a40521bcae..179e600abe0 100644 --- a/service/qbusiness/api_op_GetApplication.go +++ b/service/qbusiness/api_op_GetApplication.go @@ -49,6 +49,13 @@ type GetApplicationOutput struct { // Settings for whether end users can upload files directly during chat. AttachmentsConfiguration *types.AppliedAttachmentsConfiguration + // Settings for auto-subscription behavior for this application. This is only + // applicable to SAML and OIDC applications. + AutoSubscriptionConfiguration *types.AutoSubscriptionConfiguration + + // The OIDC client ID for a Amazon Q Business application. + ClientIdsForOIDC []string + // The Unix timestamp when the Amazon Q Business application was last updated. CreatedAt *time.Time @@ -66,10 +73,17 @@ type GetApplicationOutput struct { // description of the error that caused the synchronization to fail. Error *types.ErrorDetail + // The Amazon Resource Name (ARN) of an identity provider being used by an Amazon + // Q Business application. + IamIdentityProviderArn *string + // The Amazon Resource Name (ARN) of the AWS IAM Identity Center instance attached // to your Amazon Q Business application. IdentityCenterApplicationArn *string + // The authentication type being used by a Amazon Q Business application. + IdentityType types.IdentityType + // Configuration information about chat response personalization. For more // information, see [Personalizing chat responses]. // diff --git a/service/qbusiness/api_op_GetWebExperience.go b/service/qbusiness/api_op_GetWebExperience.go index e20f444f447..353cd01878a 100644 --- a/service/qbusiness/api_op_GetWebExperience.go +++ b/service/qbusiness/api_op_GetWebExperience.go @@ -67,6 +67,10 @@ type GetWebExperienceOutput struct { // description of the error that caused the data source connector to fail. Error *types.ErrorDetail + // Information about the identity provider (IdP) used to authenticate end users of + // an Amazon Q Business web experience. + IdentityProviderConfiguration types.IdentityProviderConfiguration + // The Amazon Resource Name (ARN) of the service role attached to your web // experience. RoleArn *string diff --git a/service/qbusiness/api_op_PutGroup.go b/service/qbusiness/api_op_PutGroup.go index 00db463eb98..ab83f659c26 100644 --- a/service/qbusiness/api_op_PutGroup.go +++ b/service/qbusiness/api_op_PutGroup.go @@ -51,11 +51,6 @@ type PutGroupInput struct { // example, the group "Company" includes the user "CEO" and the sub groups // "Research", "Engineering", and "Sales and Marketing". // - // If you have more than 1000 users and/or sub groups for a single group, you need - // to provide the path to the S3 file that lists your users and sub groups for a - // group. Your sub groups can contain more than 1000 users, but the list of sub - // groups that belong to a group (and/or users) must be no more than 1000. - // // This member is required. GroupName *string diff --git a/service/qbusiness/api_op_UpdateApplication.go b/service/qbusiness/api_op_UpdateApplication.go index 762ea726ca4..016908b623a 100644 --- a/service/qbusiness/api_op_UpdateApplication.go +++ b/service/qbusiness/api_op_UpdateApplication.go @@ -37,6 +37,10 @@ type UpdateApplicationInput struct { // An option to allow end users to upload files directly during chat. AttachmentsConfiguration *types.AttachmentsConfiguration + // An option to enable updating the default subscription type assigned to an + // Amazon Q Business application using IAM identity federation for user management. + AutoSubscriptionConfiguration *types.AutoSubscriptionConfiguration + // A description for the Amazon Q Business application. Description *string diff --git a/service/qbusiness/api_op_UpdateWebExperience.go b/service/qbusiness/api_op_UpdateWebExperience.go index 479fb206bbe..17dea12bd0b 100644 --- a/service/qbusiness/api_op_UpdateWebExperience.go +++ b/service/qbusiness/api_op_UpdateWebExperience.go @@ -46,6 +46,10 @@ type UpdateWebExperienceInput struct { // of using AWS IAM Identity Center for user management. AuthenticationConfiguration types.WebExperienceAuthConfiguration + // Information about the identity provider (IdP) used to authenticate end users of + // an Amazon Q Business web experience. + IdentityProviderConfiguration types.IdentityProviderConfiguration + // The Amazon Resource Name (ARN) of the role with permission to access the Amazon // Q Business web experience and required resources. RoleArn *string diff --git a/service/qbusiness/deserializers.go b/service/qbusiness/deserializers.go index 731a59ab07a..3184d838390 100644 --- a/service/qbusiness/deserializers.go +++ b/service/qbusiness/deserializers.go @@ -3000,6 +3000,16 @@ func awsRestjson1_deserializeOpDocumentGetApplicationOutput(v **GetApplicationOu return err } + case "autoSubscriptionConfiguration": + if err := awsRestjson1_deserializeDocumentAutoSubscriptionConfiguration(&sv.AutoSubscriptionConfiguration, value); err != nil { + return err + } + + case "clientIdsForOIDC": + if err := awsRestjson1_deserializeDocumentClientIdsForOIDC(&sv.ClientIdsForOIDC, value); err != nil { + return err + } + case "createdAt": if value != nil { switch jtv := value.(type) { @@ -3044,6 +3054,15 @@ func awsRestjson1_deserializeOpDocumentGetApplicationOutput(v **GetApplicationOu return err } + case "iamIdentityProviderArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected IamIdentityProviderArn to be of type string, got %T instead", value) + } + sv.IamIdentityProviderArn = ptr.String(jtv) + } + case "identityCenterApplicationArn": if value != nil { jtv, ok := value.(string) @@ -3053,6 +3072,15 @@ func awsRestjson1_deserializeOpDocumentGetApplicationOutput(v **GetApplicationOu sv.IdentityCenterApplicationArn = ptr.String(jtv) } + case "identityType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected IdentityType to be of type string, got %T instead", value) + } + sv.IdentityType = types.IdentityType(jtv) + } + case "personalizationConfiguration": if err := awsRestjson1_deserializeDocumentPersonalizationConfiguration(&sv.PersonalizationConfiguration, value); err != nil { return err @@ -4898,6 +4926,11 @@ func awsRestjson1_deserializeOpDocumentGetWebExperienceOutput(v **GetWebExperien return err } + case "identityProviderConfiguration": + if err := awsRestjson1_deserializeDocumentIdentityProviderConfiguration(&sv.IdentityProviderConfiguration, value); err != nil { + return err + } + case "roleArn": if value != nil { jtv, ok := value.(string) @@ -10363,6 +10396,15 @@ func awsRestjson1_deserializeDocumentApplication(v **types.Application, value in sv.DisplayName = ptr.String(jtv) } + case "identityType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected IdentityType to be of type string, got %T instead", value) + } + sv.IdentityType = types.IdentityType(jtv) + } + case "status": if value != nil { jtv, ok := value.(string) @@ -10585,6 +10627,55 @@ func awsRestjson1_deserializeDocumentAuthChallengeRequest(v **types.AuthChalleng return nil } +func awsRestjson1_deserializeDocumentAutoSubscriptionConfiguration(v **types.AutoSubscriptionConfiguration, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.AutoSubscriptionConfiguration + if *v == nil { + sv = &types.AutoSubscriptionConfiguration{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "autoSubscribe": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AutoSubscriptionStatus to be of type string, got %T instead", value) + } + sv.AutoSubscribe = types.AutoSubscriptionStatus(jtv) + } + + case "defaultSubscriptionType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SubscriptionType to be of type string, got %T instead", value) + } + sv.DefaultSubscriptionType = types.SubscriptionType(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentBasicAuthConfiguration(v **types.BasicAuthConfiguration, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -10715,6 +10806,42 @@ func awsRestjson1_deserializeDocumentBlockedPhrasesConfiguration(v **types.Block return nil } +func awsRestjson1_deserializeDocumentClientIdsForOIDC(v *[]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []string + if *v == nil { + cv = []string{} + } else { + cv = *v + } + + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ClientIdForOIDC to be of type string, got %T instead", value) + } + col = jtv + } + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsRestjson1_deserializeDocumentConflictException(v **types.ConflictException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -12517,6 +12644,56 @@ func awsRestjson1_deserializeDocumentHookConfiguration(v **types.HookConfigurati return nil } +func awsRestjson1_deserializeDocumentIdentityProviderConfiguration(v *types.IdentityProviderConfiguration, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var uv types.IdentityProviderConfiguration +loop: + for key, value := range shape { + if value == nil { + continue + } + switch key { + case "openIDConnectConfiguration": + var mv types.OpenIDConnectProviderConfiguration + destAddr := &mv + if err := awsRestjson1_deserializeDocumentOpenIDConnectProviderConfiguration(&destAddr, value); err != nil { + return err + } + mv = *destAddr + uv = &types.IdentityProviderConfigurationMemberOpenIDConnectConfiguration{Value: mv} + break loop + + case "samlConfiguration": + var mv types.SamlProviderConfiguration + destAddr := &mv + if err := awsRestjson1_deserializeDocumentSamlProviderConfiguration(&destAddr, value); err != nil { + return err + } + mv = *destAddr + uv = &types.IdentityProviderConfigurationMemberSamlConfiguration{Value: mv} + break loop + + default: + uv = &types.UnknownUnionMember{Tag: key} + break loop + + } + } + *v = uv + return nil +} + func awsRestjson1_deserializeDocumentIndex(v **types.Index, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -13227,6 +13404,55 @@ func awsRestjson1_deserializeDocumentOAuth2ClientCredentialConfiguration(v **typ return nil } +func awsRestjson1_deserializeDocumentOpenIDConnectProviderConfiguration(v **types.OpenIDConnectProviderConfiguration, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.OpenIDConnectProviderConfiguration + if *v == nil { + sv = &types.OpenIDConnectProviderConfiguration{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "secretsArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SecretArn to be of type string, got %T instead", value) + } + sv.SecretsArn = ptr.String(jtv) + } + + case "secretsRole": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected RoleArn to be of type string, got %T instead", value) + } + sv.SecretsRole = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentPersonalizationConfiguration(v **types.PersonalizationConfiguration, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -13991,6 +14217,46 @@ func awsRestjson1_deserializeDocumentSamlConfiguration(v **types.SamlConfigurati return nil } +func awsRestjson1_deserializeDocumentSamlProviderConfiguration(v **types.SamlProviderConfiguration, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.SamlProviderConfiguration + if *v == nil { + sv = &types.SamlProviderConfiguration{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "authenticationUrl": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SamlAuthenticationUrl to be of type string, got %T instead", value) + } + sv.AuthenticationUrl = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentSecurityGroupIds(v *[]string, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/qbusiness/serializers.go b/service/qbusiness/serializers.go index 30084001b3d..2bc57139e35 100644 --- a/service/qbusiness/serializers.go +++ b/service/qbusiness/serializers.go @@ -548,6 +548,13 @@ func awsRestjson1_serializeOpDocumentCreateApplicationInput(v *CreateApplication } } + if v.ClientIdsForOIDC != nil { + ok := object.Key("clientIdsForOIDC") + if err := awsRestjson1_serializeDocumentClientIdsForOIDC(v.ClientIdsForOIDC, ok); err != nil { + return err + } + } + if v.ClientToken != nil { ok := object.Key("clientToken") ok.String(*v.ClientToken) @@ -570,11 +577,21 @@ func awsRestjson1_serializeOpDocumentCreateApplicationInput(v *CreateApplication } } + if v.IamIdentityProviderArn != nil { + ok := object.Key("iamIdentityProviderArn") + ok.String(*v.IamIdentityProviderArn) + } + if v.IdentityCenterInstanceArn != nil { ok := object.Key("identityCenterInstanceArn") ok.String(*v.IdentityCenterInstanceArn) } + if len(v.IdentityType) > 0 { + ok := object.Key("identityType") + ok.String(string(v.IdentityType)) + } + if v.PersonalizationConfiguration != nil { ok := object.Key("personalizationConfiguration") if err := awsRestjson1_serializeDocumentPersonalizationConfiguration(v.PersonalizationConfiguration, ok); err != nil { @@ -1292,6 +1309,13 @@ func awsRestjson1_serializeOpDocumentCreateWebExperienceInput(v *CreateWebExperi ok.String(*v.ClientToken) } + if v.IdentityProviderConfiguration != nil { + ok := object.Key("identityProviderConfiguration") + if err := awsRestjson1_serializeDocumentIdentityProviderConfiguration(v.IdentityProviderConfiguration, ok); err != nil { + return err + } + } + if v.RoleArn != nil { ok := object.Key("roleArn") ok.String(*v.RoleArn) @@ -4345,6 +4369,13 @@ func awsRestjson1_serializeOpDocumentUpdateApplicationInput(v *UpdateApplication } } + if v.AutoSubscriptionConfiguration != nil { + ok := object.Key("autoSubscriptionConfiguration") + if err := awsRestjson1_serializeDocumentAutoSubscriptionConfiguration(v.AutoSubscriptionConfiguration, ok); err != nil { + return err + } + } + if v.Description != nil { ok := object.Key("description") ok.String(*v.Description) @@ -5193,6 +5224,13 @@ func awsRestjson1_serializeOpDocumentUpdateWebExperienceInput(v *UpdateWebExperi } } + if v.IdentityProviderConfiguration != nil { + ok := object.Key("identityProviderConfiguration") + if err := awsRestjson1_serializeDocumentIdentityProviderConfiguration(v.IdentityProviderConfiguration, ok); err != nil { + return err + } + } + if v.RoleArn != nil { ok := object.Key("roleArn") ok.String(*v.RoleArn) @@ -5830,6 +5868,23 @@ func awsRestjson1_serializeDocumentAuthChallengeResponse(v *types.AuthChallengeR return nil } +func awsRestjson1_serializeDocumentAutoSubscriptionConfiguration(v *types.AutoSubscriptionConfiguration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.AutoSubscribe) > 0 { + ok := object.Key("autoSubscribe") + ok.String(string(v.AutoSubscribe)) + } + + if len(v.DefaultSubscriptionType) > 0 { + ok := object.Key("defaultSubscriptionType") + ok.String(string(v.DefaultSubscriptionType)) + } + + return nil +} + func awsRestjson1_serializeDocumentBasicAuthConfiguration(v *types.BasicAuthConfiguration, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -5884,6 +5939,17 @@ func awsRestjson1_serializeDocumentBlockedPhrasesConfigurationUpdate(v *types.Bl return nil } +func awsRestjson1_serializeDocumentClientIdsForOIDC(v []string, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + func awsRestjson1_serializeDocumentContentBlockerRule(v *types.ContentBlockerRule, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -6388,6 +6454,30 @@ func awsRestjson1_serializeDocumentHookConfiguration(v *types.HookConfiguration, return nil } +func awsRestjson1_serializeDocumentIdentityProviderConfiguration(v types.IdentityProviderConfiguration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + switch uv := v.(type) { + case *types.IdentityProviderConfigurationMemberOpenIDConnectConfiguration: + av := object.Key("openIDConnectConfiguration") + if err := awsRestjson1_serializeDocumentOpenIDConnectProviderConfiguration(&uv.Value, av); err != nil { + return err + } + + case *types.IdentityProviderConfigurationMemberSamlConfiguration: + av := object.Key("samlConfiguration") + if err := awsRestjson1_serializeDocumentSamlProviderConfiguration(&uv.Value, av); err != nil { + return err + } + + default: + return fmt.Errorf("attempted to serialize unknown member type %T for union %T", uv, v) + + } + return nil +} + func awsRestjson1_serializeDocumentIndexCapacityConfiguration(v *types.IndexCapacityConfiguration, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -6598,6 +6688,23 @@ func awsRestjson1_serializeDocumentOAuth2ClientCredentialConfiguration(v *types. return nil } +func awsRestjson1_serializeDocumentOpenIDConnectProviderConfiguration(v *types.OpenIDConnectProviderConfiguration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.SecretsArn != nil { + ok := object.Key("secretsArn") + ok.String(*v.SecretsArn) + } + + if v.SecretsRole != nil { + ok := object.Key("secretsRole") + ok.String(*v.SecretsRole) + } + + return nil +} + func awsRestjson1_serializeDocumentPersonalizationConfiguration(v *types.PersonalizationConfiguration, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -6874,6 +6981,18 @@ func awsRestjson1_serializeDocumentSamlConfiguration(v *types.SamlConfiguration, return nil } +func awsRestjson1_serializeDocumentSamlProviderConfiguration(v *types.SamlProviderConfiguration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.AuthenticationUrl != nil { + ok := object.Key("authenticationUrl") + ok.String(*v.AuthenticationUrl) + } + + return nil +} + func awsRestjson1_serializeDocumentSecurityGroupIds(v []string, value smithyjson.Value) error { array := value.Array() defer array.Close() diff --git a/service/qbusiness/types/enums.go b/service/qbusiness/types/enums.go index 2e808db1b0e..c41d21a0edb 100644 --- a/service/qbusiness/types/enums.go +++ b/service/qbusiness/types/enums.go @@ -145,6 +145,25 @@ func (AttributeValueOperator) Values() []AttributeValueOperator { } } +type AutoSubscriptionStatus string + +// Enum values for AutoSubscriptionStatus +const ( + AutoSubscriptionStatusEnabled AutoSubscriptionStatus = "ENABLED" + AutoSubscriptionStatusDisabled AutoSubscriptionStatus = "DISABLED" +) + +// Values returns all known values for AutoSubscriptionStatus. Note that this can +// be expanded in the future, and so it is only as up to date as the client. +// +// The ordering of this slice is not guaranteed to be stable across updates. +func (AutoSubscriptionStatus) Values() []AutoSubscriptionStatus { + return []AutoSubscriptionStatus{ + "ENABLED", + "DISABLED", + } +} + type ChatMode string // Enum values for ChatMode @@ -440,6 +459,27 @@ func (GroupStatus) Values() []GroupStatus { } } +type IdentityType string + +// Enum values for IdentityType +const ( + IdentityTypeAwsIamIdpSaml IdentityType = "AWS_IAM_IDP_SAML" + IdentityTypeAwsIamIdpOidc IdentityType = "AWS_IAM_IDP_OIDC" + IdentityTypeAwsIamIdc IdentityType = "AWS_IAM_IDC" +) + +// Values returns all known values for IdentityType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. +// +// The ordering of this slice is not guaranteed to be stable across updates. +func (IdentityType) Values() []IdentityType { + return []IdentityType{ + "AWS_IAM_IDP_SAML", + "AWS_IAM_IDP_OIDC", + "AWS_IAM_IDC", + } +} + type IndexStatus string // Enum values for IndexStatus @@ -869,6 +909,25 @@ func (StringAttributeValueBoostingLevel) Values() []StringAttributeValueBoosting } } +type SubscriptionType string + +// Enum values for SubscriptionType +const ( + SubscriptionTypeQLite SubscriptionType = "Q_LITE" + SubscriptionTypeQBusiness SubscriptionType = "Q_BUSINESS" +) + +// Values returns all known values for SubscriptionType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. +// +// The ordering of this slice is not guaranteed to be stable across updates. +func (SubscriptionType) Values() []SubscriptionType { + return []SubscriptionType{ + "Q_LITE", + "Q_BUSINESS", + } +} + type ValidationExceptionReason string // Enum values for ValidationExceptionReason diff --git a/service/qbusiness/types/types.go b/service/qbusiness/types/types.go index 48905220f2b..17064b7f04b 100644 --- a/service/qbusiness/types/types.go +++ b/service/qbusiness/types/types.go @@ -250,6 +250,9 @@ type Application struct { // The name of the Amazon Q Business application. DisplayName *string + // The authentication type being used by a Amazon Q Business application. + IdentityType IdentityType + // The status of the Amazon Q Business application. The application is ready to // use when the status is ACTIVE . Status ApplicationStatus @@ -452,6 +455,24 @@ type AuthChallengeResponseEvent struct { noSmithyDocumentSerde } +// Subscription configuration information for an Amazon Q Business application +// using IAM identity federation for user management. +type AutoSubscriptionConfiguration struct { + + // Describes whether automatic subscriptions are enabled for an Amazon Q Business + // application using IAM identity federation for user management. + // + // This member is required. + AutoSubscribe AutoSubscriptionStatus + + // Describes the default subscription type assigned to an Amazon Q Business + // application using IAM identity federation for user management. If the value for + // autoSubscribe is set to ENABLED you must select a value for this field. + DefaultSubscriptionType SubscriptionType + + noSmithyDocumentSerde +} + // Information about the basic authentication credentials used to configure a // plugin. type BasicAuthConfiguration struct { @@ -1461,6 +1482,38 @@ type HookConfiguration struct { noSmithyDocumentSerde } +// Provides information about the identity provider (IdP) used to authenticate end +// users of an Amazon Q Business web experience. +// +// The following types satisfy this interface: +// +// IdentityProviderConfigurationMemberOpenIDConnectConfiguration +// IdentityProviderConfigurationMemberSamlConfiguration +type IdentityProviderConfiguration interface { + isIdentityProviderConfiguration() +} + +// Information about the OIDC-compliant identity provider (IdP) used to +// authenticate end users of an Amazon Q Business web experience. +type IdentityProviderConfigurationMemberOpenIDConnectConfiguration struct { + Value OpenIDConnectProviderConfiguration + + noSmithyDocumentSerde +} + +func (*IdentityProviderConfigurationMemberOpenIDConnectConfiguration) isIdentityProviderConfiguration() { +} + +// Information about the SAML 2.0-compliant identity provider (IdP) used to +// authenticate end users of an Amazon Q Business web experience. +type IdentityProviderConfigurationMemberSamlConfiguration struct { + Value SamlProviderConfiguration + + noSmithyDocumentSerde +} + +func (*IdentityProviderConfigurationMemberSamlConfiguration) isIdentityProviderConfiguration() {} + // Summary information for your Amazon Q Business index. type Index struct { @@ -1737,6 +1790,25 @@ type OAuth2ClientCredentialConfiguration struct { noSmithyDocumentSerde } +// Information about the OIDC-compliant identity provider (IdP) used to +// authenticate end users of an Amazon Q Business web experience. +type OpenIDConnectProviderConfiguration struct { + + // The Amazon Resource Name (ARN) of a Secrets Manager secret containing the OIDC + // client secret. + // + // This member is required. + SecretsArn *string + + // An IAM role with permissions to access KMS to decrypt the Secrets Manager + // secret containing your OIDC client secret. + // + // This member is required. + SecretsRole *string + + noSmithyDocumentSerde +} + // Configuration information about chat response personalization. For more // information, see [Personalizing chat responses]. // @@ -2065,6 +2137,19 @@ type SamlConfiguration struct { noSmithyDocumentSerde } +// Information about the SAML 2.0-compliant identity provider (IdP) used to +// authenticate end users of an Amazon Q Business web experience. +type SamlProviderConfiguration struct { + + // The URL where Amazon Q Business end users will be redirected for + // authentication. + // + // This member is required. + AuthenticationUrl *string + + noSmithyDocumentSerde +} + // Contains the relevant text excerpt from a source that was used to generate a // citation text segment in an Amazon Q Business chat response. type SnippetExcerpt struct { @@ -2365,6 +2450,7 @@ func (*UnknownUnionMember) isChatOutputStream() {} func (*UnknownUnionMember) isDocumentAttributeBoostingConfiguration() {} func (*UnknownUnionMember) isDocumentAttributeValue() {} func (*UnknownUnionMember) isDocumentContent() {} +func (*UnknownUnionMember) isIdentityProviderConfiguration() {} func (*UnknownUnionMember) isPluginAuthConfiguration() {} func (*UnknownUnionMember) isPrincipal() {} func (*UnknownUnionMember) isRetrieverConfiguration() {} diff --git a/service/qbusiness/types/types_exported_test.go b/service/qbusiness/types/types_exported_test.go index 13529aa1b9b..9d3c9b4692e 100644 --- a/service/qbusiness/types/types_exported_test.go +++ b/service/qbusiness/types/types_exported_test.go @@ -202,6 +202,28 @@ func ExampleDocumentContent_outputUsage() { var _ *types.S3 var _ []byte +func ExampleIdentityProviderConfiguration_outputUsage() { + var union types.IdentityProviderConfiguration + // type switches can be used to check the union value + switch v := union.(type) { + case *types.IdentityProviderConfigurationMemberOpenIDConnectConfiguration: + _ = v.Value // Value is types.OpenIDConnectProviderConfiguration + + case *types.IdentityProviderConfigurationMemberSamlConfiguration: + _ = v.Value // Value is types.SamlProviderConfiguration + + case *types.UnknownUnionMember: + fmt.Println("unknown tag:", v.Tag) + + default: + fmt.Println("union is nil or unknown type") + + } +} + +var _ *types.OpenIDConnectProviderConfiguration +var _ *types.SamlProviderConfiguration + func ExamplePluginAuthConfiguration_outputUsage() { var union types.PluginAuthConfiguration // type switches can be used to check the union value diff --git a/service/qbusiness/validators.go b/service/qbusiness/validators.go index 39b0b18460c..13f0e6d7bb2 100644 --- a/service/qbusiness/validators.go +++ b/service/qbusiness/validators.go @@ -1663,6 +1663,21 @@ func validateAuthChallengeResponseEvent(v *types.AuthChallengeResponseEvent) err } } +func validateAutoSubscriptionConfiguration(v *types.AutoSubscriptionConfiguration) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "AutoSubscriptionConfiguration"} + if len(v.AutoSubscribe) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("AutoSubscribe")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateBasicAuthConfiguration(v *types.BasicAuthConfiguration) error { if v == nil { return nil @@ -2122,6 +2137,30 @@ func validateHookConfiguration(v *types.HookConfiguration) error { } } +func validateIdentityProviderConfiguration(v types.IdentityProviderConfiguration) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "IdentityProviderConfiguration"} + switch uv := v.(type) { + case *types.IdentityProviderConfigurationMemberOpenIDConnectConfiguration: + if err := validateOpenIDConnectProviderConfiguration(&uv.Value); err != nil { + invalidParams.AddNested("[openIDConnectConfiguration]", err.(smithy.InvalidParamsError)) + } + + case *types.IdentityProviderConfigurationMemberSamlConfiguration: + if err := validateSamlProviderConfiguration(&uv.Value); err != nil { + invalidParams.AddNested("[samlConfiguration]", err.(smithy.InvalidParamsError)) + } + + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateInlineDocumentEnrichmentConfiguration(v *types.InlineDocumentEnrichmentConfiguration) error { if v == nil { return nil @@ -2311,6 +2350,24 @@ func validateOAuth2ClientCredentialConfiguration(v *types.OAuth2ClientCredential } } +func validateOpenIDConnectProviderConfiguration(v *types.OpenIDConnectProviderConfiguration) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "OpenIDConnectProviderConfiguration"} + if v.SecretsArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("SecretsArn")) + } + if v.SecretsRole == nil { + invalidParams.Add(smithy.NewErrParamRequired("SecretsRole")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validatePersonalizationConfiguration(v *types.PersonalizationConfiguration) error { if v == nil { return nil @@ -2546,6 +2603,21 @@ func validateSamlConfiguration(v *types.SamlConfiguration) error { } } +func validateSamlProviderConfiguration(v *types.SamlProviderConfiguration) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "SamlProviderConfiguration"} + if v.AuthenticationUrl == nil { + invalidParams.Add(smithy.NewErrParamRequired("AuthenticationUrl")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateStringAttributeBoostingConfiguration(v *types.StringAttributeBoostingConfiguration) error { if v == nil { return nil @@ -3025,6 +3097,11 @@ func validateOpCreateWebExperienceInput(v *CreateWebExperienceInput) error { invalidParams.AddNested("Tags", err.(smithy.InvalidParamsError)) } } + if v.IdentityProviderConfiguration != nil { + if err := validateIdentityProviderConfiguration(v.IdentityProviderConfiguration); err != nil { + invalidParams.AddNested("IdentityProviderConfiguration", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -3722,6 +3799,11 @@ func validateOpUpdateApplicationInput(v *UpdateApplicationInput) error { invalidParams.AddNested("PersonalizationConfiguration", err.(smithy.InvalidParamsError)) } } + if v.AutoSubscriptionConfiguration != nil { + if err := validateAutoSubscriptionConfiguration(v.AutoSubscriptionConfiguration); err != nil { + invalidParams.AddNested("AutoSubscriptionConfiguration", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -3903,6 +3985,11 @@ func validateOpUpdateWebExperienceInput(v *UpdateWebExperienceInput) error { invalidParams.AddNested("AuthenticationConfiguration", err.(smithy.InvalidParamsError)) } } + if v.IdentityProviderConfiguration != nil { + if err := validateIdentityProviderConfiguration(v.IdentityProviderConfiguration); err != nil { + invalidParams.AddNested("IdentityProviderConfiguration", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { diff --git a/service/supplychain/api_op_SendDataIntegrationEvent.go b/service/supplychain/api_op_SendDataIntegrationEvent.go index 46e6a34cd43..9dbfadf0249 100644 --- a/service/supplychain/api_op_SendDataIntegrationEvent.go +++ b/service/supplychain/api_op_SendDataIntegrationEvent.go @@ -12,7 +12,11 @@ import ( "time" ) -// Send transactional data events with real-time data for analysis or monitoring. +// Send the transactional data payload for the event with real-time data for +// analysis or monitoring. The real-time data events are stored in an Amazon Web +// Services service before being processed and stored in data lake. New data events +// are synced with data lake at 5 PM GMT everyday. The updated transactional data +// is available in data lake after ingestion. func (c *Client) SendDataIntegrationEvent(ctx context.Context, params *SendDataIntegrationEventInput, optFns ...func(*Options)) (*SendDataIntegrationEventOutput, error) { if params == nil { params = &SendDataIntegrationEventInput{} @@ -31,7 +35,10 @@ func (c *Client) SendDataIntegrationEvent(ctx context.Context, params *SendDataI // The request parameters for SendDataIntegrationEvent. type SendDataIntegrationEventInput struct { - // The data payload of the event. + // The data payload of the event. For more information on the data schema to use, + // see [Data entities supported in AWS Supply Chain]. + // + // [Data entities supported in AWS Supply Chain]: https://docs.aws.amazon.com/aws-supply-chain/latest/userguide/data-model-asc.html // // This member is required. Data *string