diff --git a/.changelog/6ea661f8f64c46f69dd06eec9baac25e.json b/.changelog/6ea661f8f64c46f69dd06eec9baac25e.json new file mode 100644 index 00000000000..45f2982aba1 --- /dev/null +++ b/.changelog/6ea661f8f64c46f69dd06eec9baac25e.json @@ -0,0 +1,8 @@ +{ + "id": "6ea661f8-f64c-46f6-9dd0-6eec9baac25e", + "type": "documentation", + "description": "Documentation updates for AWS Identity and Access Management (IAM).", + "modules": [ + "service/iam" + ] +} \ No newline at end of file diff --git a/.changelog/ae6ba8bce73548afa67d1f3ee4c9aeeb.json b/.changelog/ae6ba8bce73548afa67d1f3ee4c9aeeb.json new file mode 100644 index 00000000000..00ce0e764fc --- /dev/null +++ b/.changelog/ae6ba8bce73548afa67d1f3ee4c9aeeb.json @@ -0,0 +1,8 @@ +{ + "id": "ae6ba8bc-e735-48af-a67d-1f3ee4c9aeeb", + "type": "feature", + "description": "Add Amazon EC2 instance recommendations export", + "modules": [ + "service/applicationdiscoveryservice" + ] +} \ No newline at end of file diff --git a/.changelog/b3fa5d1d0d934810a6d12f8cd62ec230.json b/.changelog/b3fa5d1d0d934810a6d12f8cd62ec230.json new file mode 100644 index 00000000000..8ce9519198c --- /dev/null +++ b/.changelog/b3fa5d1d0d934810a6d12f8cd62ec230.json @@ -0,0 +1,8 @@ +{ + "id": "b3fa5d1d-0d93-4810-a6d1-2f8cd62ec230", + "type": "feature", + "description": "Updates the *InstanceStorageConfig APIs to support a new ResourceType: SCREEN_RECORDINGS to enable screen recording and specify the storage configurations for publishing the recordings. Also updates DescribeInstance and ListInstances APIs to include InstanceAccessUrl attribute in the API response.", + "modules": [ + "service/connect" + ] +} \ No newline at end of file diff --git a/.changelog/b51c4c4662334891bc8922c545b64922.json b/.changelog/b51c4c4662334891bc8922c545b64922.json new file mode 100644 index 00000000000..c95a6219890 --- /dev/null +++ b/.changelog/b51c4c4662334891bc8922c545b64922.json @@ -0,0 +1,8 @@ +{ + "id": "b51c4c46-6233-4891-bc89-22c545b64922", + "type": "feature", + "description": "This release adds SDK support for request-payer request header and request-charged response header in the \"GetBucketAccelerateConfiguration\", \"ListMultipartUploads\", \"ListObjects\", \"ListObjectsV2\" and \"ListObjectVersions\" S3 APIs.", + "modules": [ + "service/s3" + ] +} \ No newline at end of file diff --git a/.changelog/e0f360f981cb43b29e47d77bf7bd622c.json b/.changelog/e0f360f981cb43b29e47d77bf7bd622c.json new file mode 100644 index 00000000000..c6853050d15 --- /dev/null +++ b/.changelog/e0f360f981cb43b29e47d77bf7bd622c.json @@ -0,0 +1,8 @@ +{ + "id": "e0f360f9-81cb-43b2-9e47-d77bf7bd622c", + "type": "feature", + "description": "Improve pagination support for ListRegions", + "modules": [ + "service/account" + ] +} \ No newline at end of file diff --git a/service/applicationdiscoveryservice/api_op_DescribeAgents.go b/service/applicationdiscoveryservice/api_op_DescribeAgents.go index c3aafc1dfb3..f46fbd10ab0 100644 --- a/service/applicationdiscoveryservice/api_op_DescribeAgents.go +++ b/service/applicationdiscoveryservice/api_op_DescribeAgents.go @@ -11,8 +11,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Lists agents or connectors as specified by ID or other filters. All -// agents/connectors associated with your user account can be listed if you call +// Lists agents or collectors as specified by ID or other filters. All +// agents/collectors associated with your user can be listed if you call // DescribeAgents as is without passing any parameters. func (c *Client) DescribeAgents(ctx context.Context, params *DescribeAgentsInput, optFns ...func(*Options)) (*DescribeAgentsOutput, error) { if params == nil { @@ -31,16 +31,16 @@ func (c *Client) DescribeAgents(ctx context.Context, params *DescribeAgentsInput type DescribeAgentsInput struct { - // The agent or the Connector IDs for which you want information. If you specify - // no IDs, the system returns information about all agents/Connectors associated - // with your Amazon Web Services user account. + // The agent or the collector IDs for which you want information. If you specify + // no IDs, the system returns information about all agents/collectors associated + // with your user. AgentIds []string // You can filter the request using various logical operators and a key-value // format. For example: {"key": "collectionStatus", "value": "STARTED"} Filters []types.Filter - // The total number of agents/Connectors to return in a single page of output. The + // The total number of agents/collectors to return in a single page of output. The // maximum value is 100. MaxResults int32 @@ -55,11 +55,11 @@ type DescribeAgentsInput struct { type DescribeAgentsOutput struct { - // Lists agents or the Connector by ID or lists all agents/Connectors associated - // with your user account if you did not specify an agent/Connector ID. The output - // includes agent/Connector IDs, IP addresses, media access control (MAC) - // addresses, agent/Connector health, host name where the agent/Connector resides, - // and the version number of each agent/Connector. + // Lists agents or the collector by ID or lists all agents/collectors associated + // with your user, if you did not specify an agent/collector ID. The output + // includes agent/collector IDs, IP addresses, media access control (MAC) + // addresses, agent/collector health, host name where the agent/collector resides, + // and the version number of each agent/collector. AgentsInfo []types.AgentInfo // Token to retrieve the next set of results. For example, if you specified 100 diff --git a/service/applicationdiscoveryservice/api_op_DescribeContinuousExports.go b/service/applicationdiscoveryservice/api_op_DescribeContinuousExports.go index 620b2d2cbc1..5e9aa05bf95 100644 --- a/service/applicationdiscoveryservice/api_op_DescribeContinuousExports.go +++ b/service/applicationdiscoveryservice/api_op_DescribeContinuousExports.go @@ -13,8 +13,8 @@ import ( ) // Lists exports as specified by ID. All continuous exports associated with your -// user account can be listed if you call DescribeContinuousExports as is without -// passing any parameters. +// user can be listed if you call DescribeContinuousExports as is without passing +// any parameters. func (c *Client) DescribeContinuousExports(ctx context.Context, params *DescribeContinuousExportsInput, optFns ...func(*Options)) (*DescribeContinuousExportsOutput, error) { if params == nil { params = &DescribeContinuousExportsInput{} diff --git a/service/applicationdiscoveryservice/api_op_DescribeTags.go b/service/applicationdiscoveryservice/api_op_DescribeTags.go index e03ff96f162..93da48e2026 100644 --- a/service/applicationdiscoveryservice/api_op_DescribeTags.go +++ b/service/applicationdiscoveryservice/api_op_DescribeTags.go @@ -18,8 +18,8 @@ import ( // - tagValue // - configurationId // -// Also, all configuration items associated with your user account that have tags -// can be listed if you call DescribeTags as is without passing any parameters. +// Also, all configuration items associated with your user that have tags can be +// listed if you call DescribeTags as is without passing any parameters. func (c *Client) DescribeTags(ctx context.Context, params *DescribeTagsInput, optFns ...func(*Options)) (*DescribeTagsOutput, error) { if params == nil { params = &DescribeTagsInput{} diff --git a/service/applicationdiscoveryservice/api_op_GetDiscoverySummary.go b/service/applicationdiscoveryservice/api_op_GetDiscoverySummary.go index 652544d8523..9c89fb77a86 100644 --- a/service/applicationdiscoveryservice/api_op_GetDiscoverySummary.go +++ b/service/applicationdiscoveryservice/api_op_GetDiscoverySummary.go @@ -38,6 +38,7 @@ type GetDiscoverySummaryOutput struct { // Details about discovered agents, including agent status and health. AgentSummary *types.CustomerAgentInfo + // Details about Agentless Collector collectors, including status. AgentlessCollectorSummary *types.CustomerAgentlessCollectorInfo // The number of applications discovered. diff --git a/service/applicationdiscoveryservice/api_op_StartDataCollectionByAgentIds.go b/service/applicationdiscoveryservice/api_op_StartDataCollectionByAgentIds.go index ff408ce7e39..9131088ede6 100644 --- a/service/applicationdiscoveryservice/api_op_StartDataCollectionByAgentIds.go +++ b/service/applicationdiscoveryservice/api_op_StartDataCollectionByAgentIds.go @@ -11,7 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Instructs the specified agents or connectors to start collecting data. +// Instructs the specified agents to start collecting data. func (c *Client) StartDataCollectionByAgentIds(ctx context.Context, params *StartDataCollectionByAgentIdsInput, optFns ...func(*Options)) (*StartDataCollectionByAgentIdsOutput, error) { if params == nil { params = &StartDataCollectionByAgentIdsInput{} @@ -29,13 +29,13 @@ func (c *Client) StartDataCollectionByAgentIds(ctx context.Context, params *Star type StartDataCollectionByAgentIdsInput struct { - // The IDs of the agents or connectors from which to start collecting data. If you - // send a request to an agent/connector ID that you do not have permission to - // contact, according to your Amazon Web Services account, the service does not - // throw an exception. Instead, it returns the error in the Description field. If - // you send a request to multiple agents/connectors and you do not have permission - // to contact some of those agents/connectors, the system does not throw an - // exception. Instead, the system shows Failed in the Description field. + // The IDs of the agents from which to start collecting data. If you send a + // request to an agent ID that you do not have permission to contact, according to + // your Amazon Web Services account, the service does not throw an exception. + // Instead, it returns the error in the Description field. If you send a request to + // multiple agents and you do not have permission to contact some of those agents, + // the system does not throw an exception. Instead, the system shows Failed in the + // Description field. // // This member is required. AgentIds []string @@ -45,10 +45,9 @@ type StartDataCollectionByAgentIdsInput struct { type StartDataCollectionByAgentIdsOutput struct { - // Information about agents or the connector that were instructed to start - // collecting data. Information includes the agent/connector ID, a description of - // the operation performed, and whether the agent/connector configuration was - // updated. + // Information about agents that were instructed to start collecting data. + // Information includes the agent ID, a description of the operation performed, and + // whether the agent configuration was updated. AgentsConfigurationStatus []types.AgentConfigurationStatus // Metadata pertaining to the operation's result. diff --git a/service/applicationdiscoveryservice/api_op_StartExportTask.go b/service/applicationdiscoveryservice/api_op_StartExportTask.go index 5c11f901c05..98ac200a5e9 100644 --- a/service/applicationdiscoveryservice/api_op_StartExportTask.go +++ b/service/applicationdiscoveryservice/api_op_StartExportTask.go @@ -12,15 +12,25 @@ import ( "time" ) -// Begins the export of discovered data to an S3 bucket. If you specify agentIds -// in a filter, the task exports up to 72 hours of detailed data collected by the -// identified Application Discovery Agent, including network, process, and -// performance details. A time range for exported agent data may be set by using -// startTime and endTime . Export of detailed agent data is limited to five -// concurrently running exports. If you do not include an agentIds filter, summary -// data is exported that includes both Amazon Web Services Agentless Discovery -// Connector data and summary data from Amazon Web Services Discovery Agents. -// Export of summary data is limited to two exports per day. +// Begins the export of a discovered data report to an Amazon S3 bucket managed by +// Amazon Web Services. Exports might provide an estimate of fees and savings based +// on certain information that you provide. Fee estimates do not include any taxes +// that might apply. Your actual fees and savings depend on a variety of factors, +// including your actual usage of Amazon Web Services services, which might vary +// from the estimates provided in this report. If you do not specify preferences +// or agentIds in the filter, a summary of all servers, applications, tags, and +// performance is generated. This data is an aggregation of all server data +// collected through on-premises tooling, file import, application grouping and +// applying tags. If you specify agentIds in a filter, the task exports up to 72 +// hours of detailed data collected by the identified Application Discovery Agent, +// including network, process, and performance details. A time range for exported +// agent data may be set by using startTime and endTime . Export of detailed agent +// data is limited to five concurrently running exports. Export of detailed agent +// data is limited to two exports per day. If you enable +// ec2RecommendationsPreferences in preferences , an Amazon EC2 instance matching +// the characteristics of each server in Application Discovery Service is +// generated. Changing the attributes of the ec2RecommendationsPreferences changes +// the criteria of the recommendation. func (c *Client) StartExportTask(ctx context.Context, params *StartExportTaskInput, optFns ...func(*Options)) (*StartExportTaskOutput, error) { if params == nil { params = &StartExportTaskInput{} @@ -50,10 +60,15 @@ type StartExportTaskInput struct { // If a filter is present, it selects the single agentId of the Application // Discovery Agent for which data is exported. The agentId can be found in the // results of the DescribeAgents API or CLI. If no filter is present, startTime - // and endTime are ignored and exported data includes both Agentless Discovery - // Connector data and summary data from Application Discovery agents. + // and endTime are ignored and exported data includes both Amazon Web Services + // Application Discovery Service Agentless Collector collectors data and summary + // data from Application Discovery Agent agents. Filters []types.ExportFilter + // Indicates the type of data that needs to be exported. Only one ExportPreferences (https://docs.aws.amazon.com/application-discovery/latest/APIReference/API_ExportPreferences.html) + // can be enabled at any time. + Preferences types.ExportPreferences + // The start timestamp for exported data from the single Application Discovery // Agent selected in the filters. If no value is specified, data is exported // starting from the first data collected by the agent. diff --git a/service/applicationdiscoveryservice/api_op_StartImportTask.go b/service/applicationdiscoveryservice/api_op_StartImportTask.go index 14c6bb80828..6f672b73cbe 100644 --- a/service/applicationdiscoveryservice/api_op_StartImportTask.go +++ b/service/applicationdiscoveryservice/api_op_StartImportTask.go @@ -14,11 +14,12 @@ import ( // Starts an import task, which allows you to import details of your on-premises // environment directly into Amazon Web Services Migration Hub without having to -// use the Application Discovery Service (ADS) tools such as the Discovery -// Connector or Discovery Agent. This gives you the option to perform migration -// assessment and planning directly from your imported data, including the ability -// to group your devices as applications and track their migration status. To start -// an import request, do this: +// use the Amazon Web Services Application Discovery Service (Application Discovery +// Service) tools such as the Amazon Web Services Application Discovery Service +// Agentless Collector or Application Discovery Agent. This gives you the option to +// perform migration assessment and planning directly from your imported data, +// including the ability to group your devices as applications and track their +// migration status. To start an import request, do this: // - Download the specially formatted comma separated value (CSV) import // template, which you can find here: // https://s3.us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv (https://s3.us-west-2.amazonaws.com/templates-7cffcf56-bd96-4b1c-b45b-a5b42f282e46/import_template.csv) diff --git a/service/applicationdiscoveryservice/api_op_StopDataCollectionByAgentIds.go b/service/applicationdiscoveryservice/api_op_StopDataCollectionByAgentIds.go index b0faca0169c..0e2fddb4763 100644 --- a/service/applicationdiscoveryservice/api_op_StopDataCollectionByAgentIds.go +++ b/service/applicationdiscoveryservice/api_op_StopDataCollectionByAgentIds.go @@ -11,7 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Instructs the specified agents or connectors to stop collecting data. +// Instructs the specified agents to stop collecting data. func (c *Client) StopDataCollectionByAgentIds(ctx context.Context, params *StopDataCollectionByAgentIdsInput, optFns ...func(*Options)) (*StopDataCollectionByAgentIdsOutput, error) { if params == nil { params = &StopDataCollectionByAgentIdsInput{} @@ -29,7 +29,7 @@ func (c *Client) StopDataCollectionByAgentIds(ctx context.Context, params *StopD type StopDataCollectionByAgentIdsInput struct { - // The IDs of the agents or connectors from which to stop collecting data. + // The IDs of the agents from which to stop collecting data. // // This member is required. AgentIds []string @@ -39,10 +39,9 @@ type StopDataCollectionByAgentIdsInput struct { type StopDataCollectionByAgentIdsOutput struct { - // Information about the agents or connector that were instructed to stop - // collecting data. Information includes the agent/connector ID, a description of - // the operation performed, and whether the agent/connector configuration was - // updated. + // Information about the agents that were instructed to stop collecting data. + // Information includes the agent ID, a description of the operation performed, and + // whether the agent configuration was updated. AgentsConfigurationStatus []types.AgentConfigurationStatus // Metadata pertaining to the operation's result. diff --git a/service/applicationdiscoveryservice/doc.go b/service/applicationdiscoveryservice/doc.go index 5e1ae7f8655..39319a95689 100644 --- a/service/applicationdiscoveryservice/doc.go +++ b/service/applicationdiscoveryservice/doc.go @@ -4,39 +4,42 @@ // parameter types for AWS Application Discovery Service. // // Amazon Web Services Application Discovery Service Amazon Web Services -// Application Discovery Service helps you plan application migration projects. It -// automatically identifies servers, virtual machines (VMs), and network -// dependencies in your on-premises data centers. For more information, see the -// Amazon Web Services Application Discovery Service FAQ (http://aws.amazon.com/application-discovery/faqs/) +// Application Discovery Service (Application Discovery Service) helps you plan +// application migration projects. It automatically identifies servers, virtual +// machines (VMs), and network dependencies in your on-premises data centers. For +// more information, see the Amazon Web Services Application Discovery Service FAQ (http://aws.amazon.com/application-discovery/faqs/) // . Application Discovery Service offers three ways of performing discovery and // collecting data about your on-premises servers: // -// - Agentless discovery is recommended for environments that use VMware vCenter -// Server. This mode doesn't require you to install an agent on each host. It does -// not work in non-VMware environments. +// - Agentless discovery using Amazon Web Services Application Discovery Service +// Agentless Collector (Agentless Collector), which doesn't require you to install +// an agent on each host. // -// - Agentless discovery gathers server information regardless of the operating +// - Agentless Collector gathers server information regardless of the operating // systems, which minimizes the time required for initial on-premises // infrastructure assessment. // -// - Agentless discovery doesn't collect information about network dependencies, +// - Agentless Collector doesn't collect information about network dependencies, // only agent-based discovery collects that information. // -// - Agent-based discovery collects a richer set of data than agentless -// discovery by using the Amazon Web Services Application Discovery Agent, which -// you install on one or more hosts in your data center. +// - Agent-based discovery using the Amazon Web Services Application Discovery +// Agent (Application Discovery Agent) collects a richer set of data than agentless +// discovery, which you install on one or more hosts in your data center. // // - The agent captures infrastructure and application information, including an // inventory of running processes, system performance information, resource // utilization, and network dependencies. // // - The information collected by agents is secured at rest and in transit to -// the Application Discovery Service database in the cloud. +// the Application Discovery Service database in the Amazon Web Services cloud. For +// more information, see Amazon Web Services Application Discovery Agent (https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-agent.html) +// . // // - Amazon Web Services Partner Network (APN) solutions integrate with // Application Discovery Service, enabling you to import details of your -// on-premises environment directly into Migration Hub without using the discovery -// connector or discovery agent. +// on-premises environment directly into Amazon Web Services Migration Hub +// (Migration Hub) without using Agentless Collector or Application Discovery +// Agent. // // - Third-party application discovery tools can query Amazon Web Services // Application Discovery Service, and they can write to the Application Discovery @@ -45,32 +48,27 @@ // - In this way, you can import data into Migration Hub and view it, so that // you can associate applications with servers and track migrations. // -// Recommendations We recommend that you use agent-based discovery for non-VMware -// environments, and whenever you want to collect information about network -// dependencies. You can run agent-based and agentless discovery simultaneously. -// Use agentless discovery to complete the initial infrastructure assessment -// quickly, and then install agents on select hosts to collect additional -// information. Working With This Guide This API reference provides descriptions, -// syntax, and usage examples for each of the actions and data types for -// Application Discovery Service. The topic for each action shows the API request -// parameters and the response. Alternatively, you can use one of the Amazon Web -// Services SDKs to access an API that is tailored to the programming language or -// platform that you're using. For more information, see Amazon Web Services SDKs (http://aws.amazon.com/tools/#SDKs) +// Working With This Guide This API reference provides descriptions, syntax, and +// usage examples for each of the actions and data types for Application Discovery +// Service. The topic for each action shows the API request parameters and the +// response. Alternatively, you can use one of the Amazon Web Services SDKs to +// access an API that is tailored to the programming language or platform that +// you're using. For more information, see Amazon Web Services SDKs (http://aws.amazon.com/tools/#SDKs) // . -// - Remember that you must set your Migration Hub home region before you call +// - Remember that you must set your Migration Hub home Region before you call // any of these APIs. // - You must make API calls for write actions (create, notify, associate, -// disassociate, import, or put) while in your home region, or a +// disassociate, import, or put) while in your home Region, or a // HomeRegionNotSetException error is returned. // - API calls for read actions (list, describe, stop, and delete) are permitted -// outside of your home region. -// - Although it is unlikely, the Migration Hub home region could change. If you -// call APIs outside the home region, an InvalidInputException is returned. -// - You must call GetHomeRegion to obtain the latest Migration Hub home region. +// outside of your home Region. +// - Although it is unlikely, the Migration Hub home Region could change. If you +// call APIs outside the home Region, an InvalidInputException is returned. +// - You must call GetHomeRegion to obtain the latest Migration Hub home Region. // // This guide is intended for use with the Amazon Web Services Application -// Discovery Service User Guide (http://docs.aws.amazon.com/application-discovery/latest/userguide/) -// . All data is handled according to the Amazon Web Services Privacy Policy (http://aws.amazon.com/privacy/) +// Discovery Service User Guide (https://docs.aws.amazon.com/application-discovery/latest/userguide/) +// . All data is handled according to the Amazon Web Services Privacy Policy (https://aws.amazon.com/privacy/) // . You can operate Application Discovery Service offline to inspect collected // data before it is shared with the service. package applicationdiscoveryservice diff --git a/service/applicationdiscoveryservice/generated.json b/service/applicationdiscoveryservice/generated.json index 51ac1700611..590119ac0e4 100644 --- a/service/applicationdiscoveryservice/generated.json +++ b/service/applicationdiscoveryservice/generated.json @@ -44,6 +44,7 @@ "types/enums.go", "types/errors.go", "types/types.go", + "types/types_exported_test.go", "validators.go" ], "go": "1.15", diff --git a/service/applicationdiscoveryservice/serializers.go b/service/applicationdiscoveryservice/serializers.go index b13e8b609fc..ca089ebdb10 100644 --- a/service/applicationdiscoveryservice/serializers.go +++ b/service/applicationdiscoveryservice/serializers.go @@ -13,6 +13,7 @@ import ( "github.com/aws/smithy-go/middleware" smithytime "github.com/aws/smithy-go/time" smithyhttp "github.com/aws/smithy-go/transport/http" + "math" "path" "strings" ) @@ -1443,6 +1444,67 @@ func awsAwsjson11_serializeDocumentDescribeImportTasksFilterList(v []types.Impor return nil } +func awsAwsjson11_serializeDocumentEc2RecommendationsExportPreferences(v *types.Ec2RecommendationsExportPreferences, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.CpuPerformanceMetricBasis != nil { + ok := object.Key("cpuPerformanceMetricBasis") + if err := awsAwsjson11_serializeDocumentUsageMetricBasis(v.CpuPerformanceMetricBasis, ok); err != nil { + return err + } + } + + if v.Enabled { + ok := object.Key("enabled") + ok.Boolean(v.Enabled) + } + + if v.ExcludedInstanceTypes != nil { + ok := object.Key("excludedInstanceTypes") + if err := awsAwsjson11_serializeDocumentExcludedInstanceTypes(v.ExcludedInstanceTypes, ok); err != nil { + return err + } + } + + if v.PreferredRegion != nil { + ok := object.Key("preferredRegion") + ok.String(*v.PreferredRegion) + } + + if v.RamPerformanceMetricBasis != nil { + ok := object.Key("ramPerformanceMetricBasis") + if err := awsAwsjson11_serializeDocumentUsageMetricBasis(v.RamPerformanceMetricBasis, ok); err != nil { + return err + } + } + + if v.ReservedInstanceOptions != nil { + ok := object.Key("reservedInstanceOptions") + if err := awsAwsjson11_serializeDocumentReservedInstanceOptions(v.ReservedInstanceOptions, ok); err != nil { + return err + } + } + + if len(v.Tenancy) > 0 { + ok := object.Key("tenancy") + ok.String(string(v.Tenancy)) + } + + return nil +} + +func awsAwsjson11_serializeDocumentExcludedInstanceTypes(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 awsAwsjson11_serializeDocumentExportDataFormats(v []types.ExportDataFormat, value smithyjson.Value) error { array := value.Array() defer array.Close() @@ -1502,6 +1564,24 @@ func awsAwsjson11_serializeDocumentExportIds(v []string, value smithyjson.Value) return nil } +func awsAwsjson11_serializeDocumentExportPreferences(v types.ExportPreferences, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + switch uv := v.(type) { + case *types.ExportPreferencesMemberEc2RecommendationsPreferences: + av := object.Key("ec2RecommendationsPreferences") + if err := awsAwsjson11_serializeDocumentEc2RecommendationsExportPreferences(&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 awsAwsjson11_serializeDocumentFilter(v *types.Filter, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -1610,6 +1690,28 @@ func awsAwsjson11_serializeDocumentOrderByList(v []types.OrderByElement, value s return nil } +func awsAwsjson11_serializeDocumentReservedInstanceOptions(v *types.ReservedInstanceOptions, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.OfferingClass) > 0 { + ok := object.Key("offeringClass") + ok.String(string(v.OfferingClass)) + } + + if len(v.PurchasingOption) > 0 { + ok := object.Key("purchasingOption") + ok.String(string(v.PurchasingOption)) + } + + if len(v.TermLength) > 0 { + ok := object.Key("termLength") + ok.String(string(v.TermLength)) + } + + return nil +} + func awsAwsjson11_serializeDocumentTag(v *types.Tag, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -1683,6 +1785,36 @@ func awsAwsjson11_serializeDocumentToDeleteIdentifierList(v []string, value smit return nil } +func awsAwsjson11_serializeDocumentUsageMetricBasis(v *types.UsageMetricBasis, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Name != nil { + ok := object.Key("name") + ok.String(*v.Name) + } + + if v.PercentageAdjust != nil { + ok := object.Key("percentageAdjust") + switch { + case math.IsNaN(*v.PercentageAdjust): + ok.String("NaN") + + case math.IsInf(*v.PercentageAdjust, 1): + ok.String("Infinity") + + case math.IsInf(*v.PercentageAdjust, -1): + ok.String("-Infinity") + + default: + ok.Double(*v.PercentageAdjust) + + } + } + + return nil +} + func awsAwsjson11_serializeOpDocumentAssociateConfigurationItemsToApplicationInput(v *AssociateConfigurationItemsToApplicationInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -2101,6 +2233,13 @@ func awsAwsjson11_serializeOpDocumentStartExportTaskInput(v *StartExportTaskInpu } } + if v.Preferences != nil { + ok := object.Key("preferences") + if err := awsAwsjson11_serializeDocumentExportPreferences(v.Preferences, ok); err != nil { + return err + } + } + if v.StartTime != nil { ok := object.Key("startTime") ok.Double(smithytime.FormatEpochSeconds(*v.StartTime)) diff --git a/service/applicationdiscoveryservice/types/enums.go b/service/applicationdiscoveryservice/types/enums.go index 3697a195708..402e7af581b 100644 --- a/service/applicationdiscoveryservice/types/enums.go +++ b/service/applicationdiscoveryservice/types/enums.go @@ -119,8 +119,7 @@ type ExportDataFormat string // Enum values for ExportDataFormat const ( - ExportDataFormatCsv ExportDataFormat = "CSV" - ExportDataFormatGraphml ExportDataFormat = "GRAPHML" + ExportDataFormatCsv ExportDataFormat = "CSV" ) // Values returns all known values for ExportDataFormat. Note that this can be @@ -129,7 +128,6 @@ const ( func (ExportDataFormat) Values() []ExportDataFormat { return []ExportDataFormat{ "CSV", - "GRAPHML", } } @@ -209,6 +207,24 @@ func (ImportTaskFilterName) Values() []ImportTaskFilterName { } } +type OfferingClass string + +// Enum values for OfferingClass +const ( + OfferingClassStandard OfferingClass = "STANDARD" + OfferingClassConvertible OfferingClass = "CONVERTIBLE" +) + +// Values returns all known values for OfferingClass. 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 (OfferingClass) Values() []OfferingClass { + return []OfferingClass{ + "STANDARD", + "CONVERTIBLE", + } +} + type OrderString string // Enum values for OrderString @@ -226,3 +242,59 @@ func (OrderString) Values() []OrderString { "DESC", } } + +type PurchasingOption string + +// Enum values for PurchasingOption +const ( + PurchasingOptionAllUpfront PurchasingOption = "ALL_UPFRONT" + PurchasingOptionPartialUpfront PurchasingOption = "PARTIAL_UPFRONT" + PurchasingOptionNoUpfront PurchasingOption = "NO_UPFRONT" +) + +// Values returns all known values for PurchasingOption. 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 (PurchasingOption) Values() []PurchasingOption { + return []PurchasingOption{ + "ALL_UPFRONT", + "PARTIAL_UPFRONT", + "NO_UPFRONT", + } +} + +type Tenancy string + +// Enum values for Tenancy +const ( + TenancyDedicated Tenancy = "DEDICATED" + TenancyShared Tenancy = "SHARED" +) + +// Values returns all known values for Tenancy. 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 (Tenancy) Values() []Tenancy { + return []Tenancy{ + "DEDICATED", + "SHARED", + } +} + +type TermLength string + +// Enum values for TermLength +const ( + TermLengthOneYear TermLength = "ONE_YEAR" + TermLengthThreeYear TermLength = "THREE_YEAR" +) + +// Values returns all known values for TermLength. 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 (TermLength) Values() []TermLength { + return []TermLength{ + "ONE_YEAR", + "THREE_YEAR", + } +} diff --git a/service/applicationdiscoveryservice/types/errors.go b/service/applicationdiscoveryservice/types/errors.go index f59c719d048..a6768b9fadf 100644 --- a/service/applicationdiscoveryservice/types/errors.go +++ b/service/applicationdiscoveryservice/types/errors.go @@ -7,8 +7,8 @@ import ( smithy "github.com/aws/smithy-go" ) -// The Amazon Web Services user account does not have permission to perform the -// action. Check the IAM policy associated with this account. +// The user does not have permission to perform the action. Check the IAM policy +// associated with this user. type AuthorizationErrorException struct { Message *string @@ -59,7 +59,7 @@ func (e *ConflictErrorException) ErrorCode() string { } func (e *ConflictErrorException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// The home region is not set. Set the home region to continue. +// The home Region is not set. Set the home Region to continue. type HomeRegionNotSetException struct { Message *string diff --git a/service/applicationdiscoveryservice/types/types.go b/service/applicationdiscoveryservice/types/types.go index 502d5c35dc5..a0e2efee802 100644 --- a/service/applicationdiscoveryservice/types/types.go +++ b/service/applicationdiscoveryservice/types/types.go @@ -7,72 +7,72 @@ import ( "time" ) -// Information about agents or connectors that were instructed to start collecting -// data. Information includes the agent/connector ID, a description of the -// operation, and whether the agent/connector configuration was updated. +// Information about agents that were instructed to start collecting data. +// Information includes the agent ID, a description of the operation, and whether +// the agent configuration was updated. type AgentConfigurationStatus struct { - // The agent/connector ID. + // The agent ID. AgentId *string // A description of the operation performed. Description *string // Information about the status of the StartDataCollection and StopDataCollection - // operations. The system has recorded the data collection operation. The - // agent/connector receives this command the next time it polls for a new command. + // operations. The system has recorded the data collection operation. The agent + // receives this command the next time it polls for a new command. OperationSucceeded bool noSmithyDocumentSerde } -// Information about agents or connectors associated with the user’s Amazon Web -// Services account. Information includes agent or connector IDs, IP addresses, -// media access control (MAC) addresses, agent or connector health, hostname where -// the agent or connector resides, and agent version for each agent. +// Information about agents associated with the user’s Amazon Web Services +// account. Information includes agent IDs, IP addresses, media access control +// (MAC) addresses, agent or collector status, hostname where the agent resides, +// and agent version for each agent. type AgentInfo struct { - // The agent or connector ID. + // The agent or collector ID. AgentId *string - // Network details about the host where the agent or connector resides. + // Network details about the host where the agent or collector resides. AgentNetworkInfoList []AgentNetworkInfo // Type of agent. AgentType *string - // Status of the collection process for an agent or connector. + // Status of the collection process for an agent. CollectionStatus *string // The ID of the connector. ConnectorId *string - // The health of the agent or connector. + // The health of the agent. Health AgentStatus - // The name of the host where the agent or connector resides. The host can be a + // The name of the host where the agent or collector resides. The host can be a // server or virtual machine. HostName *string - // Time since agent or connector health was reported. + // Time since agent health was reported. LastHealthPingTime *string // Agent's first registration timestamp in UTC. RegisteredTime *string - // The agent or connector version. + // The agent or collector version. Version *string noSmithyDocumentSerde } -// Network details about the host where the agent/connector resides. +// Network details about the host where the agent/collector resides. type AgentNetworkInfo struct { - // The IP address for the host where the agent/connector resides. + // The IP address for the host where the agent/collector resides. IpAddress *string - // The MAC address for the host where the agent/connector resides. + // The MAC address for the host where the agent/collector resides. MacAddress *string noSmithyDocumentSerde @@ -162,13 +162,13 @@ type ContinuousExportDescription struct { // increase and try again. For more information, see Kinesis Data Streams Limits (http://docs.aws.amazon.com/streams/latest/dev/service-sizes-and-limits.html) // in the Amazon Kinesis Data Streams Developer Guide. // - FIREHOSE_ROLE_MISSING - The Data Exploration feature is in an error state - // because your IAM User is missing the AWSApplicationDiscoveryServiceFirehose - // role. Turn on Data Exploration in Amazon Athena and try again. For more - // information, see Step 3: Provide Application Discovery Service Access to - // Non-Administrator Users by Attaching Policies (http://docs.aws.amazon.com/application-discovery/latest/userguide/setting-up.html#setting-up-user-policy) + // because your user is missing the Amazon Web + // ServicesApplicationDiscoveryServiceFirehose role. Turn on Data Exploration in + // Amazon Athena and try again. For more information, see Creating the Amazon + // Web ServicesApplicationDiscoveryServiceFirehose Role (https://docs.aws.amazon.com/application-discovery/latest/userguide/security-iam-awsmanpol.html#security-iam-awsmanpol-create-firehose-role) // in the Application Discovery Service User Guide. // - FIREHOSE_STREAM_DOES_NOT_EXIST - The Data Exploration feature is in an - // error state because your IAM User is missing one or more of the Kinesis data + // error state because your user is missing one or more of the Kinesis data // delivery streams. // - INTERNAL_FAILURE - The Data Exploration feature is in an error state // because of an internal failure. Try again later. If this problem persists, @@ -252,26 +252,41 @@ type CustomerAgentInfo struct { noSmithyDocumentSerde } +// The inventory data for installed Agentless Collector collectors. type CustomerAgentlessCollectorInfo struct { + // The number of active Agentless Collector collectors. + // // This member is required. ActiveAgentlessCollectors int32 + // The number of deny-listed Agentless Collector collectors. + // // This member is required. DenyListedAgentlessCollectors int32 + // The number of healthy Agentless Collector collectors. + // // This member is required. HealthyAgentlessCollectors int32 + // The number of Agentless Collector collectors with SHUTDOWN status. + // // This member is required. ShutdownAgentlessCollectors int32 + // The total number of Agentless Collector collectors. + // // This member is required. TotalAgentlessCollectors int32 + // The number of unhealthy Agentless Collector collectors. + // // This member is required. UnhealthyAgentlessCollectors int32 + // The number of unknown Agentless Collector collectors. + // // This member is required. UnknownAgentlessCollectors int32 @@ -360,6 +375,42 @@ type CustomerMeCollectorInfo struct { noSmithyDocumentSerde } +// Indicates that the exported data must include EC2 instance type matches for +// on-premises servers that are discovered through Amazon Web Services Application +// Discovery Service. +type Ec2RecommendationsExportPreferences struct { + + // The recommended EC2 instance type that matches the CPU usage metric of server + // performance data. + CpuPerformanceMetricBasis *UsageMetricBasis + + // If set to true, the export preferences (https://docs.aws.amazon.com/application-discovery/latest/APIReference/API_StartExportTask.html#API_StartExportTask_RequestSyntax) + // is set to Ec2RecommendationsExportPreferences . + Enabled bool + + // An array of instance types to exclude from recommendations. + ExcludedInstanceTypes []string + + // The target Amazon Web Services Region for the recommendations. You can use any + // of the Region codes available for the chosen service, as listed in Amazon Web + // Services service endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html) + // in the Amazon Web Services General Reference. + PreferredRegion *string + + // The recommended EC2 instance type that matches the Memory usage metric of + // server performance data. + RamPerformanceMetricBasis *UsageMetricBasis + + // The contract type for a reserved instance. If blank, we assume an On-Demand + // instance is preferred. + ReservedInstanceOptions *ReservedInstanceOptions + + // The target tenancy to use for your recommended EC2 instances. + Tenancy Tenancy + + noSmithyDocumentSerde +} + // Used to select which agent's data is to be exported. A single agent ID may be // selected for export using the StartExportTask (http://docs.aws.amazon.com/application-discovery/latest/APIReference/API_StartExportTask.html) // action. @@ -430,6 +481,27 @@ type ExportInfo struct { noSmithyDocumentSerde } +// Indicates the type of data that is being exported. Only one ExportPreferences +// can be enabled for a StartExportTask (https://docs.aws.amazon.com/application-discovery/latest/APIReference/API_StartExportTask.html) +// action. +// +// The following types satisfy this interface: +// +// ExportPreferencesMemberEc2RecommendationsPreferences +type ExportPreferences interface { + isExportPreferences() +} + +// If enabled, exported data includes EC2 instance type matches for on-premises +// servers discovered through Amazon Web Services Application Discovery Service. +type ExportPreferencesMemberEc2RecommendationsPreferences struct { + Value Ec2RecommendationsExportPreferences + + noSmithyDocumentSerde +} + +func (*ExportPreferencesMemberEc2RecommendationsPreferences) isExportPreferences() {} + // A filter that can use conditional operators. For more information about // filters, see Querying Discovered Configuration Items (https://docs.aws.amazon.com/application-discovery/latest/userguide/discovery-api-queries.html) // in the Amazon Web Services Application Discovery Service User Guide. @@ -586,6 +658,27 @@ type OrderByElement struct { noSmithyDocumentSerde } +// Used to provide Reserved Instance preferences for the recommendation. +type ReservedInstanceOptions struct { + + // The flexibility to change the instance types needed for your Reserved Instance. + // + // This member is required. + OfferingClass OfferingClass + + // The payment plan to use for your Reserved Instance. + // + // This member is required. + PurchasingOption PurchasingOption + + // The preferred duration of the Reserved Instance term. + // + // This member is required. + TermLength TermLength + + noSmithyDocumentSerde +} + // Metadata that help you categorize IT assets. Do not store sensitive information // (like personal data) in tags. type Tag struct { @@ -619,4 +712,29 @@ type TagFilter struct { noSmithyDocumentSerde } +// Specifies the performance metrics to use for the server that is used for +// recommendations. +type UsageMetricBasis struct { + + // A utilization metric that is used by the recommendations. + Name *string + + // Specifies the percentage of the specified utilization metric that is used by + // the recommendations. + PercentageAdjust *float64 + + noSmithyDocumentSerde +} + type noSmithyDocumentSerde = smithydocument.NoSerde + +// UnknownUnionMember is returned when a union member is returned over the wire, +// but has an unknown tag. +type UnknownUnionMember struct { + Tag string + Value []byte + + noSmithyDocumentSerde +} + +func (*UnknownUnionMember) isExportPreferences() {} diff --git a/service/applicationdiscoveryservice/types/types_exported_test.go b/service/applicationdiscoveryservice/types/types_exported_test.go new file mode 100644 index 00000000000..e29cc2c7df7 --- /dev/null +++ b/service/applicationdiscoveryservice/types/types_exported_test.go @@ -0,0 +1,26 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package types_test + +import ( + "fmt" + "github.com/aws/aws-sdk-go-v2/service/applicationdiscoveryservice/types" +) + +func ExampleExportPreferences_outputUsage() { + var union types.ExportPreferences + // type switches can be used to check the union value + switch v := union.(type) { + case *types.ExportPreferencesMemberEc2RecommendationsPreferences: + _ = v.Value // Value is types.Ec2RecommendationsExportPreferences + + case *types.UnknownUnionMember: + fmt.Println("unknown tag:", v.Tag) + + default: + fmt.Println("union is nil or unknown type") + + } +} + +var _ *types.Ec2RecommendationsExportPreferences diff --git a/service/applicationdiscoveryservice/validators.go b/service/applicationdiscoveryservice/validators.go index bbb665096cf..79a53cd0b90 100644 --- a/service/applicationdiscoveryservice/validators.go +++ b/service/applicationdiscoveryservice/validators.go @@ -466,6 +466,23 @@ func addOpUpdateApplicationValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUpdateApplication{}, middleware.After) } +func validateEc2RecommendationsExportPreferences(v *types.Ec2RecommendationsExportPreferences) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "Ec2RecommendationsExportPreferences"} + if v.ReservedInstanceOptions != nil { + if err := validateReservedInstanceOptions(v.ReservedInstanceOptions); err != nil { + invalidParams.AddNested("ReservedInstanceOptions", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateExportFilter(v *types.ExportFilter) error { if v == nil { return nil @@ -504,6 +521,25 @@ func validateExportFilters(v []types.ExportFilter) error { } } +func validateExportPreferences(v types.ExportPreferences) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ExportPreferences"} + switch uv := v.(type) { + case *types.ExportPreferencesMemberEc2RecommendationsPreferences: + if err := validateEc2RecommendationsExportPreferences(&uv.Value); err != nil { + invalidParams.AddNested("[ec2RecommendationsPreferences]", err.(smithy.InvalidParamsError)) + } + + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateFilter(v *types.Filter) error { if v == nil { return nil @@ -574,6 +610,27 @@ func validateOrderByList(v []types.OrderByElement) error { } } +func validateReservedInstanceOptions(v *types.ReservedInstanceOptions) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ReservedInstanceOptions"} + if len(v.PurchasingOption) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("PurchasingOption")) + } + if len(v.OfferingClass) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("OfferingClass")) + } + if len(v.TermLength) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("TermLength")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateTag(v *types.Tag) error { if v == nil { return nil @@ -898,6 +955,11 @@ func validateOpStartExportTaskInput(v *StartExportTaskInput) error { invalidParams.AddNested("Filters", err.(smithy.InvalidParamsError)) } } + if v.Preferences != nil { + if err := validateExportPreferences(v.Preferences); err != nil { + invalidParams.AddNested("Preferences", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { diff --git a/service/connect/api_op_ResumeContactRecording.go b/service/connect/api_op_ResumeContactRecording.go index f59be9c0c8d..3312d38b22b 100644 --- a/service/connect/api_op_ResumeContactRecording.go +++ b/service/connect/api_op_ResumeContactRecording.go @@ -11,8 +11,8 @@ import ( ) // When a contact is being recorded, and the recording has been suspended using -// SuspendContactRecording, this API resumes recording the call. Only voice -// recordings are supported at this time. +// SuspendContactRecording, this API resumes recording the call or screen. Voice +// and screen recordings are supported. func (c *Client) ResumeContactRecording(ctx context.Context, params *ResumeContactRecordingInput, optFns ...func(*Options)) (*ResumeContactRecordingOutput, error) { if params == nil { params = &ResumeContactRecordingInput{} diff --git a/service/connect/api_op_SuspendContactRecording.go b/service/connect/api_op_SuspendContactRecording.go index 3feac2cae4a..cfed531f706 100644 --- a/service/connect/api_op_SuspendContactRecording.go +++ b/service/connect/api_op_SuspendContactRecording.go @@ -10,12 +10,12 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// When a contact is being recorded, this API suspends recording the call. For -// example, you might suspend the call recording while collecting sensitive -// information, such as a credit card number. Then use ResumeContactRecording to -// restart recording. The period of time that the recording is suspended is filled -// with silence in the final recording. Only voice recordings are supported at this -// time. +// When a contact is being recorded, this API suspends recording the call or +// screen. For example, you might suspend the call or screen recording while +// collecting sensitive information, such as a credit card number. Then use +// ResumeContactRecording to restart recording. The period of time that the +// recording is suspended is filled with silence in the final recording. Voice and +// screen recordings are supported. func (c *Client) SuspendContactRecording(ctx context.Context, params *SuspendContactRecordingInput, optFns ...func(*Options)) (*SuspendContactRecordingOutput, error) { if params == nil { params = &SuspendContactRecordingInput{} diff --git a/service/connect/deserializers.go b/service/connect/deserializers.go index 7da4ff75d1b..c1020e54aab 100644 --- a/service/connect/deserializers.go +++ b/service/connect/deserializers.go @@ -34380,6 +34380,15 @@ func awsRestjson1_deserializeDocumentInstance(v **types.Instance, value interfac sv.InboundCallsEnabled = ptr.Bool(jtv) } + case "InstanceAccessUrl": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Url to be of type string, got %T instead", value) + } + sv.InstanceAccessUrl = ptr.String(jtv) + } + case "InstanceAlias": if value != nil { jtv, ok := value.(string) @@ -34647,6 +34656,15 @@ func awsRestjson1_deserializeDocumentInstanceSummary(v **types.InstanceSummary, sv.InboundCallsEnabled = ptr.Bool(jtv) } + case "InstanceAccessUrl": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Url to be of type string, got %T instead", value) + } + sv.InstanceAccessUrl = ptr.String(jtv) + } + case "InstanceAlias": if value != nil { jtv, ok := value.(string) diff --git a/service/connect/types/enums.go b/service/connect/types/enums.go index 543c7c7de80..6cc97a20e4a 100644 --- a/service/connect/types/enums.go +++ b/service/connect/types/enums.go @@ -678,6 +678,7 @@ const ( InstanceStorageResourceTypeRealTimeContactAnalysisSegments InstanceStorageResourceType = "REAL_TIME_CONTACT_ANALYSIS_SEGMENTS" InstanceStorageResourceTypeAttachments InstanceStorageResourceType = "ATTACHMENTS" InstanceStorageResourceTypeContactEvaluations InstanceStorageResourceType = "CONTACT_EVALUATIONS" + InstanceStorageResourceTypeScreenRecordings InstanceStorageResourceType = "SCREEN_RECORDINGS" ) // Values returns all known values for InstanceStorageResourceType. Note that this @@ -694,6 +695,7 @@ func (InstanceStorageResourceType) Values() []InstanceStorageResourceType { "REAL_TIME_CONTACT_ANALYSIS_SEGMENTS", "ATTACHMENTS", "CONTACT_EVALUATIONS", + "SCREEN_RECORDINGS", } } diff --git a/service/connect/types/types.go b/service/connect/types/types.go index 747c983ed35..592028927ac 100644 --- a/service/connect/types/types.go +++ b/service/connect/types/types.go @@ -1777,6 +1777,9 @@ type Instance struct { // Whether inbound calls are enabled. InboundCallsEnabled *bool + // This URL allows contact center users to access Amazon Connect admin website. + InstanceAccessUrl *string + // The alias of instance. InstanceAlias *string @@ -1849,6 +1852,9 @@ type InstanceSummary struct { // Whether inbound calls are enabled. InboundCallsEnabled *bool + // This URL allows contact center users to access Amazon Connect admin website. + InstanceAccessUrl *string + // The alias of the instance. InstanceAlias *string diff --git a/service/iam/api_op_ListRoles.go b/service/iam/api_op_ListRoles.go index 2fd87aeb857..16fc2d42717 100644 --- a/service/iam/api_op_ListRoles.go +++ b/service/iam/api_op_ListRoles.go @@ -16,10 +16,14 @@ import ( // operation returns an empty list. For more information about roles, see Working // with roles (https://docs.aws.amazon.com/IAM/latest/UserGuide/WorkingWithRoles.html) // . IAM resource-listing operations return a subset of the available attributes -// for the resource. For example, this operation does not return tags, even though -// they are an attribute of the returned object. To view all of the information for -// a role, see GetRole . You can paginate the results using the MaxItems and Marker -// parameters. +// for the resource. This operation does not return the following attributes, even +// though they are an attribute of the returned object: +// - PermissionsBoundary +// - RoleLastUsed +// - Tags +// +// To view all of the information for a role, see GetRole . You can paginate the +// results using the MaxItems and Marker parameters. func (c *Client) ListRoles(ctx context.Context, params *ListRolesInput, optFns ...func(*Options)) (*ListRolesOutput, error) { if params == nil { params = &ListRolesInput{} diff --git a/service/iam/api_op_ListUsers.go b/service/iam/api_op_ListUsers.go index 498b0aeb8f2..72a79176237 100644 --- a/service/iam/api_op_ListUsers.go +++ b/service/iam/api_op_ListUsers.go @@ -15,10 +15,14 @@ import ( // Lists the IAM users that have the specified path prefix. If no path prefix is // specified, the operation returns all users in the Amazon Web Services account. // If there are none, the operation returns an empty list. IAM resource-listing -// operations return a subset of the available attributes for the resource. For -// example, this operation does not return tags, even though they are an attribute -// of the returned object. To view all of the information for a user, see GetUser . -// You can paginate the results using the MaxItems and Marker parameters. +// operations return a subset of the available attributes for the resource. This +// operation does not return the following attributes, even though they are an +// attribute of the returned object: +// - PermissionsBoundary +// - Tags +// +// To view all of the information for a user, see GetUser . You can paginate the +// results using the MaxItems and Marker parameters. func (c *Client) ListUsers(ctx context.Context, params *ListUsersInput, optFns ...func(*Options)) (*ListUsersOutput, error) { if params == nil { params = &ListUsersInput{} diff --git a/service/s3/api_op_CompleteMultipartUpload.go b/service/s3/api_op_CompleteMultipartUpload.go index 7ae2e104119..273aba1696a 100644 --- a/service/s3/api_op_CompleteMultipartUpload.go +++ b/service/s3/api_op_CompleteMultipartUpload.go @@ -198,7 +198,7 @@ type CompleteMultipartUploadOutput struct { Bucket *string // Indicates whether the multipart upload uses an S3 Bucket Key for server-side - // encryption with Amazon Web Services KMS (SSE-KMS). + // encryption with Key Management Service (KMS) keys (SSE-KMS). BucketKeyEnabled bool // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be @@ -253,13 +253,12 @@ type CompleteMultipartUploadOutput struct { // request. RequestCharged types.RequestCharged - // If present, specifies the ID of the Amazon Web Services Key Management Service - // (Amazon Web Services KMS) symmetric encryption customer managed key that was - // used for the object. + // If present, specifies the ID of the Key Management Service (KMS) symmetric + // encryption customer managed key that was used for the object. SSEKMSKeyId *string // The server-side encryption algorithm used when storing this object in Amazon S3 - // (for example, AES256, aws:kms ). + // (for example, AES256 , aws:kms ). ServerSideEncryption types.ServerSideEncryption // Version ID of the newly created object, in case the bucket has versioning diff --git a/service/s3/api_op_CopyObject.go b/service/s3/api_op_CopyObject.go index 4d01a465e92..97d2eb12bb2 100644 --- a/service/s3/api_op_CopyObject.go +++ b/service/s3/api_op_CopyObject.go @@ -44,10 +44,11 @@ import ( // S3 transfer acceleration does not support cross-Region copies. If you request a // cross-Region copy using a transfer acceleration endpoint, you get a 400 Bad // Request error. For more information, see Transfer Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) -// . Metadata When copying an object, you can preserve all metadata (default) or -// specify new metadata. However, the ACL is not preserved and is set to private -// for the user making the request. To override the default ACL setting, specify a -// new ACL when generating a copy request. For more information, see Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html) +// . Metadata When copying an object, you can preserve all metadata (the default) +// or specify new metadata. However, the access control list (ACL) is not preserved +// and is set to private for the user making the request. To override the default +// ACL setting, specify a new ACL when generating a copy request. For more +// information, see Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html) // . To specify whether you want the object metadata copied from the source object // or replaced with metadata provided in the request, you can optionally add the // x-amz-metadata-directive header. When you grant permissions, you can use the @@ -87,61 +88,62 @@ import ( // bucket. By default, all buckets have a base level of encryption configuration // that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the // destination bucket has a default encryption configuration that uses server-side -// encryption with an Key Management Service (KMS) key (SSE-KMS), or a -// customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS -// key, or a customer-provided key to encrypt the target object copy. When you -// perform a CopyObject operation, if you want to use a different type of -// encryption setting for the target object, you can use other appropriate -// encryption-related headers to encrypt the target object with a KMS key, an -// Amazon S3 managed key, or a customer-provided key. With server-side encryption, -// Amazon S3 encrypts your data as it writes it to disks in its data centers and -// decrypts the data when you access it. If the encryption setting in your request -// is different from the default encryption configuration of the destination -// bucket, the encryption setting in your request takes precedence. If the source -// object for the copy is stored in Amazon S3 using SSE-C, you must provide the -// necessary encryption information in your request so that Amazon S3 can decrypt -// the object for copying. For more information about server-side encryption, see -// Using Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html) +// encryption with Key Management Service (KMS) keys (SSE-KMS), dual-layer +// server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or +// server-side encryption with customer-provided encryption keys (SSE-C), Amazon S3 +// uses the corresponding KMS key, or a customer-provided key to encrypt the target +// object copy. When you perform a CopyObject operation, if you want to use a +// different type of encryption setting for the target object, you can use other +// appropriate encryption-related headers to encrypt the target object with a KMS +// key, an Amazon S3 managed key, or a customer-provided key. With server-side +// encryption, Amazon S3 encrypts your data as it writes your data to disks in its +// data centers and decrypts the data when you access it. If the encryption setting +// in your request is different from the default encryption configuration of the +// destination bucket, the encryption setting in your request takes precedence. If +// the source object for the copy is stored in Amazon S3 using SSE-C, you must +// provide the necessary encryption information in your request so that Amazon S3 +// can decrypt the object for copying. For more information about server-side +// encryption, see Using Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html) // . If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the // object. For more information, see Amazon S3 Bucket Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) // in the Amazon S3 User Guide. Access Control List (ACL)-Specific Request Headers // When copying an object, you can optionally use headers to grant ACL-based // permissions. By default, all objects are private. Only the owner has full access // control. When adding a new object, you can grant permissions to individual -// Amazon Web Services accounts or to predefined groups defined by Amazon S3. These -// permissions are then added to the ACL on the object. For more information, see -// Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) +// Amazon Web Services accounts or to predefined groups that are defined by Amazon +// S3. These permissions are then added to the ACL on the object. For more +// information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) // and Managing ACLs Using the REST API (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html) // . If the bucket that you're copying objects to uses the bucket owner enforced // setting for S3 Object Ownership, ACLs are disabled and no longer affect // permissions. Buckets that use this setting only accept PUT requests that don't -// specify an ACL or PUT requests that specify bucket owner full control ACLs, such -// as the bucket-owner-full-control canned ACL or an equivalent form of this ACL -// expressed in the XML format. For more information, see Controlling ownership of -// objects and disabling ACLs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) +// specify an ACL or PUT requests that specify bucket owner full control ACLs, +// such as the bucket-owner-full-control canned ACL or an equivalent form of this +// ACL expressed in the XML format. For more information, see Controlling +// ownership of objects and disabling ACLs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) // in the Amazon S3 User Guide. If your bucket uses the bucket owner enforced // setting for Object Ownership, all objects written to the bucket by any account // will be owned by the bucket owner. Checksums When copying an object, if it has a // checksum, that checksum will be copied to the new object by default. When you -// copy the object over, you may optionally specify a different checksum algorithm +// copy the object over, you can optionally specify a different checksum algorithm // to use with the x-amz-checksum-algorithm header. Storage Class Options You can // use the CopyObject action to change the storage class of an object that is -// already stored in Amazon S3 using the StorageClass parameter. For more +// already stored in Amazon S3 by using the StorageClass parameter. For more // information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) // in the Amazon S3 User Guide. If the source object's storage class is GLACIER, // you must restore a copy of this object before you can use it as a source object // for the copy operation. For more information, see RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html) // . For more information, see Copying Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html) -// . Versioning By default, x-amz-copy-source identifies the current version of an -// object to copy. If the current version is a delete marker, Amazon S3 behaves as -// if the object was deleted. To copy a different version, use the versionId -// subresource. If you enable versioning on the target bucket, Amazon S3 generates -// a unique version ID for the object being copied. This version ID is different -// from the version ID of the source object. Amazon S3 returns the version ID of -// the copied object in the x-amz-version-id response header in the response. If -// you do not enable versioning or suspend it on the target bucket, the version ID -// that Amazon S3 generates is always null. The following operations are related to -// CopyObject : +// . Versioning By default, x-amz-copy-source header identifies the current +// version of an object to copy. If the current version is a delete marker, Amazon +// S3 behaves as if the object was deleted. To copy a different version, use the +// versionId subresource. If you enable versioning on the target bucket, Amazon S3 +// generates a unique version ID for the object being copied. This version ID is +// different from the version ID of the source object. Amazon S3 returns the +// version ID of the copied object in the x-amz-version-id response header in the +// response. If you do not enable versioning or suspend it on the target bucket, +// the version ID that Amazon S3 generates is always null. The following operations +// are related to CopyObject : // - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) // - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) func (c *Client) CopyObject(ctx context.Context, params *CopyObjectInput, optFns ...func(*Options)) (*CopyObjectOutput, error) { @@ -223,10 +225,10 @@ type CopyObjectInput struct { ACL types.ObjectCannedACL // Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption - // with server-side encryption using AWS KMS (SSE-KMS). Setting this header to true - // causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS. - // Specifying this header with a COPY action doesn’t affect bucket-level settings - // for S3 Bucket Key. + // with server-side encryption using Key Management Service (KMS) keys (SSE-KMS). + // Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object + // encryption with SSE-KMS. Specifying this header with a COPY action doesn’t + // affect bucket-level settings for S3 Bucket Key. BucketKeyEnabled bool // Specifies caching behavior along the request/reply chain. @@ -350,16 +352,16 @@ type CopyObjectInput struct { // JSON with the encryption context key-value pairs. SSEKMSEncryptionContext *string - // Specifies the Amazon Web Services KMS key ID to use for object encryption. All - // GET and PUT requests for an object protected by Amazon Web Services KMS will - // fail if not made via SSL or using SigV4. For information about configuring using - // any of the officially supported Amazon Web Services SDKs and Amazon Web Services - // CLI, see Specifying the Signature Version in Request Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version) + // Specifies the KMS key ID to use for object encryption. All GET and PUT requests + // for an object protected by KMS will fail if they're not made via SSL or using + // SigV4. For information about configuring any of the officially supported Amazon + // Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature + // Version in Request Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version) // in the Amazon S3 User Guide. SSEKMSKeyId *string // The server-side encryption algorithm used when storing this object in Amazon S3 - // (for example, AES256, aws:kms ). + // (for example, AES256 , aws:kms , aws:kms:dsse ). ServerSideEncryption types.ServerSideEncryption // By default, Amazon S3 uses the STANDARD Storage Class to store newly created @@ -392,7 +394,7 @@ type CopyObjectInput struct { type CopyObjectOutput struct { // Indicates whether the copied object uses an S3 Bucket Key for server-side - // encryption with Amazon Web Services KMS (SSE-KMS). + // encryption with Key Management Service (KMS) keys (SSE-KMS). BucketKeyEnabled bool // Container for all response elements. @@ -423,13 +425,12 @@ type CopyObjectOutput struct { // holding JSON with the encryption context key-value pairs. SSEKMSEncryptionContext *string - // If present, specifies the ID of the Amazon Web Services Key Management Service - // (Amazon Web Services KMS) symmetric encryption customer managed key that was - // used for the object. + // If present, specifies the ID of the Key Management Service (KMS) symmetric + // encryption customer managed key that was used for the object. SSEKMSKeyId *string // The server-side encryption algorithm used when storing this object in Amazon S3 - // (for example, AES256, aws:kms ). + // (for example, AES256 , aws:kms , aws:kms:dsse ). ServerSideEncryption types.ServerSideEncryption // Version ID of the newly created copy. diff --git a/service/s3/api_op_CreateBucket.go b/service/s3/api_op_CreateBucket.go index 2675b0df36c..500f1bb2c38 100644 --- a/service/s3/api_op_CreateBucket.go +++ b/service/s3/api_op_CreateBucket.go @@ -25,70 +25,51 @@ import ( // create buckets in the Europe (Ireland) Region. For more information, see // Accessing a bucket (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro) // . If you send your create bucket request to the s3.amazonaws.com endpoint, the -// request goes to the us-east-1 Region. Accordingly, the signature calculations in -// Signature Version 4 must use us-east-1 as the Region, even if the location +// request goes to the us-east-1 Region. Accordingly, the signature calculations +// in Signature Version 4 must use us-east-1 as the Region, even if the location // constraint in the request specifies another Region where the bucket is to be // created. If you create a bucket in a Region other than US East (N. Virginia), // your application must be able to handle 307 redirect. For more information, see // Virtual hosting of buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html) -// . Access control lists (ACLs) When creating a bucket using this operation, you -// can optionally configure the bucket ACL to specify the accounts or groups that -// should be granted specific permissions on the bucket. If your CreateBucket -// request sets bucket owner enforced for S3 Object Ownership and specifies a -// bucket ACL that provides access to an external Amazon Web Services account, your -// request fails with a 400 error and returns the -// InvalidBucketAclWithObjectOwnership error code. For more information, see -// Controlling object ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) -// in the Amazon S3 User Guide. There are two ways to grant the appropriate -// permissions using the request headers. -// - Specify a canned ACL using the x-amz-acl request header. Amazon S3 supports -// a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined -// set of grantees and permissions. For more information, see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL) -// . -// - Specify access permissions explicitly using the x-amz-grant-read , -// x-amz-grant-write , x-amz-grant-read-acp , x-amz-grant-write-acp , and -// x-amz-grant-full-control headers. These headers map to the set of permissions -// Amazon S3 supports in an ACL. For more information, see Access control list -// (ACL) overview (https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html) -// . You specify each grantee as a type=value pair, where the type is one of the -// following: -// - id – if the value specified is the canonical user ID of an Amazon Web -// Services account -// - uri – if you are granting permissions to a predefined group -// - emailAddress – if the value specified is the email address of an Amazon Web -// Services account Using email addresses to specify a grantee is only supported in -// the following Amazon Web Services Regions: -// - US East (N. Virginia) -// - US West (N. California) -// - US West (Oregon) -// - Asia Pacific (Singapore) -// - Asia Pacific (Sydney) -// - Asia Pacific (Tokyo) -// - Europe (Ireland) -// - South America (São Paulo) For a list of all the Amazon S3 supported Regions -// and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) -// in the Amazon Web Services General Reference. For example, the following -// x-amz-grant-read header grants the Amazon Web Services accounts identified by -// account IDs permissions to read object data and its metadata: -// x-amz-grant-read: id="11112222333", id="444455556666" -// -// You can use either a canned ACL or specify access permissions explicitly. You -// cannot do both. Permissions In addition to s3:CreateBucket , the following -// permissions are required when your CreateBucket includes specific headers: -// - ACLs - If your CreateBucket request specifies ACL permissions and the ACL is -// public-read, public-read-write, authenticated-read, or if you specify access -// permissions explicitly through any other ACL, both s3:CreateBucket and -// s3:PutBucketAcl permissions are needed. If the ACL the CreateBucket request is -// private or doesn't specify any ACLs, only s3:CreateBucket permission is -// needed. +// . Permissions In addition to s3:CreateBucket , the following permissions are +// required when your CreateBucket request includes specific headers: +// - Access control lists (ACLs) - If your CreateBucket request specifies access +// control list (ACL) permissions and the ACL is public-read, public-read-write, +// authenticated-read, or if you specify access permissions explicitly through any +// other ACL, both s3:CreateBucket and s3:PutBucketAcl permissions are needed. If +// the ACL for the CreateBucket request is private or if the request doesn't +// specify any ACLs, only s3:CreateBucket permission is needed. // - Object Lock - If ObjectLockEnabledForBucket is set to true in your // CreateBucket request, s3:PutBucketObjectLockConfiguration and // s3:PutBucketVersioning permissions are required. // - S3 Object Ownership - If your CreateBucket request includes the -// x-amz-object-ownership header, s3:PutBucketOwnershipControls permission is -// required. +// x-amz-object-ownership header, then the s3:PutBucketOwnershipControls +// permission is required. By default, ObjectOwnership is set to +// BucketOWnerEnforced and ACLs are disabled. We recommend keeping ACLs disabled, +// except in uncommon use cases where you must control access for each object +// individually. If you want to change the ObjectOwnership setting, you can use +// the x-amz-object-ownership header in your CreateBucket request to set the +// ObjectOwnership setting of your choice. For more information about S3 Object +// Ownership, see Controlling object ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) +// in the Amazon S3 User Guide. +// - S3 Block Public Access - If your specific use case requires granting public +// access to your S3 resources, you can disable Block Public Access. You can create +// a new bucket with Block Public Access enabled, then separately call the +// DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html) +// API. To use this operation, you must have the s3:PutBucketPublicAccessBlock +// permission. By default, all Block Public Access settings are enabled for new +// buckets. To avoid inadvertent exposure of your resources, we recommend keeping +// the S3 Block Public Access settings enabled. For more information about S3 Block +// Public Access, see Blocking public access to your Amazon S3 storage (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) +// in the Amazon S3 User Guide. // -// The following operations are related to CreateBucket : +// If your CreateBucket request sets BucketOwnerEnforced for Amazon S3 Object +// Ownership and specifies a bucket ACL that provides access to an external Amazon +// Web Services account, your request fails with a 400 error and returns the +// InvalidBucketAcLWithObjectOwnership error code. For more information, see +// Setting Object Ownership on an existing bucket (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html) +// in the Amazon S3 User Guide. The following operations are related to +// CreateBucket : // - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) // - DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) func (c *Client) CreateBucket(ctx context.Context, params *CreateBucketInput, optFns ...func(*Options)) (*CreateBucketOutput, error) { diff --git a/service/s3/api_op_CreateMultipartUpload.go b/service/s3/api_op_CreateMultipartUpload.go index 471a7057e96..faf210adffa 100644 --- a/service/s3/api_op_CreateMultipartUpload.go +++ b/service/s3/api_op_CreateMultipartUpload.go @@ -219,10 +219,10 @@ type CreateMultipartUploadInput struct { ACL types.ObjectCannedACL // Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption - // with server-side encryption using AWS KMS (SSE-KMS). Setting this header to true - // causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS. - // Specifying this header with an object action doesn’t affect bucket-level - // settings for S3 Bucket Key. + // with server-side encryption using Key Management Service (KMS) keys (SSE-KMS). + // Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object + // encryption with SSE-KMS. Specifying this header with an object action doesn’t + // affect bucket-level settings for S3 Bucket Key. BucketKeyEnabled bool // Specifies caching behavior along the request/reply chain. @@ -312,16 +312,15 @@ type CreateMultipartUploadInput struct { SSEKMSEncryptionContext *string // Specifies the ID of the symmetric encryption customer managed key to use for - // object encryption. All GET and PUT requests for an object protected by Amazon - // Web Services KMS will fail if not made via SSL or using SigV4. For information - // about configuring using any of the officially supported Amazon Web Services SDKs - // and Amazon Web Services CLI, see Specifying the Signature Version in Request - // Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version) + // object encryption. All GET and PUT requests for an object protected by KMS will + // fail if they're not made via SSL or using SigV4. For information about + // configuring any of the officially supported Amazon Web Services SDKs and Amazon + // Web Services CLI, see Specifying the Signature Version in Request Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version) // in the Amazon S3 User Guide. SSEKMSKeyId *string // The server-side encryption algorithm used when storing this object in Amazon S3 - // (for example, AES256, aws:kms ). + // (for example, AES256 , aws:kms ). ServerSideEncryption types.ServerSideEncryption // By default, Amazon S3 uses the STANDARD Storage Class to store newly created @@ -379,7 +378,7 @@ type CreateMultipartUploadOutput struct { Bucket *string // Indicates whether the multipart upload uses an S3 Bucket Key for server-side - // encryption with Amazon Web Services KMS (SSE-KMS). + // encryption with Key Management Service (KMS) keys (SSE-KMS). BucketKeyEnabled bool // The algorithm that was used to create a checksum of the object. @@ -407,13 +406,12 @@ type CreateMultipartUploadOutput struct { // holding JSON with the encryption context key-value pairs. SSEKMSEncryptionContext *string - // If present, specifies the ID of the Amazon Web Services Key Management Service - // (Amazon Web Services KMS) symmetric encryption customer managed key that was - // used for the object. + // If present, specifies the ID of the Key Management Service (KMS) symmetric + // encryption customer managed key that was used for the object. SSEKMSKeyId *string // The server-side encryption algorithm used when storing this object in Amazon S3 - // (for example, AES256, aws:kms ). + // (for example, AES256 , aws:kms ). ServerSideEncryption types.ServerSideEncryption // ID for the initiated multipart upload. diff --git a/service/s3/api_op_DeleteBucketCors.go b/service/s3/api_op_DeleteBucketCors.go index 1415e1a1ffd..f38832bf1c2 100644 --- a/service/s3/api_op_DeleteBucketCors.go +++ b/service/s3/api_op_DeleteBucketCors.go @@ -15,8 +15,7 @@ import ( // operation, you must have permission to perform the s3:PutBucketCORS action. The // bucket owner has this permission by default and can grant this permission to // others. For information about cors , see Enabling Cross-Origin Resource Sharing (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) -// in the Amazon S3 User Guide. The following operations are related to -// DeleteBucketCors : +// in the Amazon S3 User Guide. Related Resources // - PutBucketCors (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html) // - RESTOPTIONSobject (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html) func (c *Client) DeleteBucketCors(ctx context.Context, params *DeleteBucketCorsInput, optFns ...func(*Options)) (*DeleteBucketCorsOutput, error) { diff --git a/service/s3/api_op_GetBucketAccelerateConfiguration.go b/service/s3/api_op_GetBucketAccelerateConfiguration.go index 2d608c31605..ab3d0ff04eb 100644 --- a/service/s3/api_op_GetBucketAccelerateConfiguration.go +++ b/service/s3/api_op_GetBucketAccelerateConfiguration.go @@ -58,11 +58,22 @@ type GetBucketAccelerateConfigurationInput struct { // (access denied). ExpectedBucketOwner *string + // Confirms that the requester knows that they will be charged for the request. + // Bucket owners need not specify this parameter in their requests. For information + // about downloading objects from Requester Pays buckets, see Downloading Objects + // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) + // in the Amazon S3 User Guide. + RequestPayer types.RequestPayer + noSmithyDocumentSerde } type GetBucketAccelerateConfigurationOutput struct { + // If present, indicates that the requester was successfully charged for the + // request. + RequestCharged types.RequestCharged + // The accelerate configuration of the bucket. Status types.BucketAccelerateStatus diff --git a/service/s3/api_op_GetObject.go b/service/s3/api_op_GetObject.go index 76f352074e3..53829661c03 100644 --- a/service/s3/api_op_GetObject.go +++ b/service/s3/api_op_GetObject.go @@ -30,19 +30,21 @@ import ( // specify the resource as /examplebucket/photos/2006/February/sample.jpg . For // more information about request types, see HTTP Host Header Bucket Specification (https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket) // . For more information about returning the ACL of an object, see GetObjectAcl (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html) -// . If the object you are retrieving is stored in the S3 Glacier or S3 Glacier -// Deep Archive storage class, or S3 Intelligent-Tiering Archive or S3 -// Intelligent-Tiering Deep Archive tiers, before you can retrieve the object you -// must first restore a copy using RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html) +// . If the object you are retrieving is stored in the S3 Glacier Flexible +// Retrieval or S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering +// Archive or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve +// the object you must first restore a copy using RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html) // . Otherwise, this action returns an InvalidObjectState error. For information // about restoring archived objects, see Restoring Archived Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html) // . Encryption request headers, like x-amz-server-side-encryption , should not be -// sent for GET requests if your object uses server-side encryption with KMS keys -// (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys -// (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 -// BadRequest error. If you encrypt an object by using server-side encryption with -// customer-provided encryption keys (SSE-C) when you store the object in Amazon -// S3, then when you GET the object, you must use the following headers: +// sent for GET requests if your object uses server-side encryption with Key +// Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with +// Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with Amazon +// S3 managed encryption keys (SSE-S3). If your object does use these types of +// keys, you’ll get an HTTP 400 Bad Request error. If you encrypt an object by +// using server-side encryption with customer-provided encryption keys (SSE-C) when +// you store the object in Amazon S3, then when you GET the object, you must use +// the following headers: // - x-amz-server-side-encryption-customer-algorithm // - x-amz-server-side-encryption-customer-key // - x-amz-server-side-encryption-customer-key-MD5 @@ -55,15 +57,13 @@ import ( // to retrieve the tag set associated with an object. Permissions You need the // relevant read object (or version) permission for this operation. For more // information, see Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html) -// . If the object you request does not exist, the error Amazon S3 returns depends -// on whether you also have the s3:ListBucket permission. -// - If you have the s3:ListBucket permission on the bucket, Amazon S3 will -// return an HTTP status code 404 ("no such key") error. -// - If you don’t have the s3:ListBucket permission, Amazon S3 will return an -// HTTP status code 403 ("access denied") error. -// -// Versioning By default, the GET action returns the current version of an object. -// To return a different version, use the versionId subresource. +// . If the object that you request doesn’t exist, the error that Amazon S3 returns +// depends on whether you also have the s3:ListBucket permission. If you have the +// s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code +// 404 (Not Found) error. If you don’t have the s3:ListBucket permission, Amazon +// S3 returns an HTTP status code 403 ("access denied") error. Versioning By +// default, the GET action returns the current version of an object. To return a +// different version, use the versionId subresource. // - If you supply a versionId , you need the s3:GetObjectVersion permission to // access a specific version of an object. If you request a specific version, you // do not need to have the s3:GetObject permission. If you request the current @@ -84,10 +84,10 @@ import ( // accepts when you create an object. The response headers that you can override // for the GET response are Content-Type , Content-Language , Expires , // Cache-Control , Content-Disposition , and Content-Encoding . To override these -// header values in the GET response, you use the following request parameters. You -// must sign the request, either using an Authorization header or a presigned URL, -// when using these parameters. They cannot be used with an unsigned (anonymous) -// request. +// header values in the GET response, you use the following request parameters. +// You must sign the request, either using an Authorization header or a presigned +// URL, when using these parameters. They cannot be used with an unsigned +// (anonymous) request. // - response-content-type // - response-content-language // - response-expires @@ -240,7 +240,7 @@ type GetObjectOutput struct { Body io.ReadCloser // Indicates whether the object uses an S3 Bucket Key for server-side encryption - // with Amazon Web Services KMS (SSE-KMS). + // with Key Management Service (KMS) keys (SSE-KMS). BucketKeyEnabled bool // Specifies caching behavior along the request/reply chain. @@ -361,13 +361,12 @@ type GetObjectOutput struct { // integrity verification of the customer-provided encryption key. SSECustomerKeyMD5 *string - // If present, specifies the ID of the Amazon Web Services Key Management Service - // (Amazon Web Services KMS) symmetric encryption customer managed key that was - // used for the object. + // If present, specifies the ID of the Key Management Service (KMS) symmetric + // encryption customer managed key that was used for the object. SSEKMSKeyId *string // The server-side encryption algorithm used when storing this object in Amazon S3 - // (for example, AES256, aws:kms ). + // (for example, AES256 , aws:kms , aws:kms:dsse ). ServerSideEncryption types.ServerSideEncryption // Provides storage class information of the object. Amazon S3 returns this header diff --git a/service/s3/api_op_HeadObject.go b/service/s3/api_op_HeadObject.go index a6321a34390..28b940de7f8 100644 --- a/service/s3/api_op_HeadObject.go +++ b/service/s3/api_op_HeadObject.go @@ -19,7 +19,7 @@ import ( // The HEAD action retrieves metadata from an object without returning the object // itself. This action is useful if you're only interested in an object's metadata. -// To use HEAD, you must have READ access to the object. A HEAD request has the +// To use HEAD , you must have READ access to the object. A HEAD request has the // same options as a GET action on an object. The response is identical to the GET // response except that there is no response body. Because of this, if the HEAD // request generates an error, it returns a generic 400 Bad Request , 403 Forbidden @@ -36,10 +36,11 @@ import ( // Customer-Provided Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html) // . // - Encryption request headers, like x-amz-server-side-encryption , should not -// be sent for GET requests if your object uses server-side encryption with KMS -// keys (SSE-KMS) or server-side encryption with Amazon S3–managed encryption keys -// (SSE-S3). If your object does use these types of keys, you’ll get an HTTP 400 -// BadRequest error. +// be sent for GET requests if your object uses server-side encryption with Key +// Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with +// Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with Amazon +// S3 managed encryption keys (SSE-S3). If your object does use these types of +// keys, you’ll get an HTTP 400 Bad Request error. // - The last modified property in this case is the creation date of the object. // // Request headers are limited to 8 KB in size. For more information, see Common @@ -60,12 +61,12 @@ import ( // . Permissions You need the relevant read object (or version) permission for this // operation. For more information, see Actions, resources, and condition keys for // Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html) . -// If the object you request does not exist, the error Amazon S3 returns depends on -// whether you also have the s3:ListBucket permission. +// If the object you request doesn't exist, the error that Amazon S3 returns +// depends on whether you also have the s3:ListBucket permission. // - If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an -// HTTP status code 404 ("no such key") error. +// HTTP status code 404 error. // - If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP -// status code 403 ("access denied") error. +// status code 403 error. // // The following actions are related to HeadObject : // - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) @@ -187,7 +188,7 @@ type HeadObjectOutput struct { ArchiveStatus types.ArchiveStatus // Indicates whether the object uses an S3 Bucket Key for server-side encryption - // with Amazon Web Services KMS (SSE-KMS). + // with Key Management Service (KMS) keys (SSE-KMS). BucketKeyEnabled bool // Specifies caching behavior along the request/reply chain. @@ -345,13 +346,12 @@ type HeadObjectOutput struct { // integrity verification of the customer-provided encryption key. SSECustomerKeyMD5 *string - // If present, specifies the ID of the Amazon Web Services Key Management Service - // (Amazon Web Services KMS) symmetric encryption customer managed key that was - // used for the object. + // If present, specifies the ID of the Key Management Service (KMS) symmetric + // encryption customer managed key that was used for the object. SSEKMSKeyId *string // The server-side encryption algorithm used when storing this object in Amazon S3 - // (for example, AES256, aws:kms ). + // (for example, AES256 , aws:kms , aws:kms:dsse ). ServerSideEncryption types.ServerSideEncryption // Provides storage class information of the object. Amazon S3 returns this header diff --git a/service/s3/api_op_ListMultipartUploads.go b/service/s3/api_op_ListMultipartUploads.go index af273ddcae7..863b92291e2 100644 --- a/service/s3/api_op_ListMultipartUploads.go +++ b/service/s3/api_op_ListMultipartUploads.go @@ -112,6 +112,13 @@ type ListMultipartUploadsInput struct { // folder in a file system.) Prefix *string + // Confirms that the requester knows that they will be charged for the request. + // Bucket owners need not specify this parameter in their requests. For information + // about downloading objects from Requester Pays buckets, see Downloading Objects + // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) + // in the Amazon S3 User Guide. + RequestPayer types.RequestPayer + // Together with key-marker, specifies the multipart upload after which listing // should begin. If key-marker is not specified, the upload-id-marker parameter is // ignored. Otherwise, any multipart uploads for a key equal to the key-marker @@ -168,6 +175,10 @@ type ListMultipartUploadsOutput struct { // prefix. The result contains only keys starting with the specified prefix. Prefix *string + // If present, indicates that the requester was successfully charged for the + // request. + RequestCharged types.RequestCharged + // Upload ID after which listing began. UploadIdMarker *string diff --git a/service/s3/api_op_ListObjectVersions.go b/service/s3/api_op_ListObjectVersions.go index 1e42e2aa2ae..e0de5858860 100644 --- a/service/s3/api_op_ListObjectVersions.go +++ b/service/s3/api_op_ListObjectVersions.go @@ -84,6 +84,13 @@ type ListObjectVersionsInput struct { // objects into a single result under CommonPrefixes. Prefix *string + // Confirms that the requester knows that they will be charged for the request. + // Bucket owners need not specify this parameter in their requests. For information + // about downloading objects from Requester Pays buckets, see Downloading Objects + // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) + // in the Amazon S3 User Guide. + RequestPayer types.RequestPayer + // Specifies the object version you want to start listing from. VersionIdMarker *string @@ -142,6 +149,10 @@ type ListObjectVersionsOutput struct { // Selects objects that start with the value supplied by this parameter. Prefix *string + // If present, indicates that the requester was successfully charged for the + // request. + RequestCharged types.RequestCharged + // Marks the last version of the key returned in a truncated response. VersionIdMarker *string diff --git a/service/s3/api_op_ListObjects.go b/service/s3/api_op_ListObjects.go index 01efbbd8a5b..280b0bfc2b4 100644 --- a/service/s3/api_op_ListObjects.go +++ b/service/s3/api_op_ListObjects.go @@ -149,6 +149,10 @@ type ListObjectsOutput struct { // Keys that begin with the indicated prefix. Prefix *string + // If present, indicates that the requester was successfully charged for the + // request. + RequestCharged types.RequestCharged + // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata diff --git a/service/s3/api_op_ListObjectsV2.go b/service/s3/api_op_ListObjectsV2.go index cd6c75e3578..ebba143b1f6 100644 --- a/service/s3/api_op_ListObjectsV2.go +++ b/service/s3/api_op_ListObjectsV2.go @@ -182,6 +182,10 @@ type ListObjectsV2Output struct { // Keys that begin with the indicated prefix. Prefix *string + // If present, indicates that the requester was successfully charged for the + // request. + RequestCharged types.RequestCharged + // If StartAfter was sent with the request, it is included in the response. StartAfter *string diff --git a/service/s3/api_op_PutBucketAcl.go b/service/s3/api_op_PutBucketAcl.go index 87aed1330f6..d5e2c0dfc82 100644 --- a/service/s3/api_op_PutBucketAcl.go +++ b/service/s3/api_op_PutBucketAcl.go @@ -30,7 +30,7 @@ import ( // objects in it. Requests to set ACLs or update ACLs fail and return the // AccessControlListNotSupported error code. Requests to read ACLs are still // supported. For more information, see Controlling object ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) -// in the Amazon S3 User Guide. Permissions You can set access permissions using +// in the Amazon S3 User Guide. Permissions You can set access permissions by using // one of the following methods: // - Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a // set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined diff --git a/service/s3/api_op_PutBucketEncryption.go b/service/s3/api_op_PutBucketEncryption.go index 26aa8eabc78..2938c36649b 100644 --- a/service/s3/api_op_PutBucketEncryption.go +++ b/service/s3/api_op_PutBucketEncryption.go @@ -17,16 +17,18 @@ import ( // Amazon S3 Bucket Keys for an existing bucket. By default, all buckets have a // default encryption configuration that uses server-side encryption with Amazon S3 // managed keys (SSE-S3). You can optionally configure default encryption for a -// bucket by using server-side encryption with an Amazon Web Services KMS key -// (SSE-KMS) or a customer-provided key (SSE-C). If you specify default encryption -// by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. For information -// about bucket default encryption, see Amazon S3 bucket default encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) +// bucket by using server-side encryption with Key Management Service (KMS) keys +// (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys +// (DSSE-KMS), or server-side encryption with customer-provided keys (SSE-C). If +// you specify default encryption by using SSE-KMS, you can also configure Amazon +// S3 Bucket Keys. For information about bucket default encryption, see Amazon S3 +// bucket default encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) // in the Amazon S3 User Guide. For more information about S3 Bucket Keys, see // Amazon S3 Bucket Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) // in the Amazon S3 User Guide. This action requires Amazon Web Services Signature // Version 4. For more information, see Authenticating Requests (Amazon Web // Services Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html) -// . To use this operation, you must have permissions to perform the +// . To use this operation, you must have permission to perform the // s3:PutEncryptionConfiguration action. The bucket owner has this permission by // default. The bucket owner can grant this permission to others. For more // information about permissions, see Permissions Related to Bucket Subresource diff --git a/service/s3/api_op_PutBucketLifecycleConfiguration.go b/service/s3/api_op_PutBucketLifecycleConfiguration.go index cb4bbeb7ac0..f3da8cf079a 100644 --- a/service/s3/api_op_PutBucketLifecycleConfiguration.go +++ b/service/s3/api_op_PutBucketLifecycleConfiguration.go @@ -29,10 +29,10 @@ import ( // Amazon S3 Lifecycle configuration can have up to 1,000 rules. This limit is not // adjustable. Each rule consists of the following: // -// - Filter identifying a subset of objects to which the rule applies. The +// - A filter identifying a subset of objects to which the rule applies. The // filter can be based on a key name prefix, object tags, or a combination of both. // -// - Status whether the rule is in effect. +// - A status indicating whether the rule is in effect. // // - One or more lifecycle transition and expiration actions that you want // Amazon S3 to perform on the objects identified by the filter. If the state of @@ -49,7 +49,7 @@ import ( // Services account that created it) can access the resource. The resource owner // can optionally grant access permissions to others by writing an access policy. // For this operation, a user must get the s3:PutLifecycleConfiguration -// permission. You can also explicitly deny permissions. Explicit deny also +// permission. You can also explicitly deny permissions. An explicit deny also // supersedes any other permissions. If you want to block users or accounts from // removing or deleting objects from your bucket, you must deny them permissions // for the following actions: diff --git a/service/s3/api_op_PutBucketLogging.go b/service/s3/api_op_PutBucketLogging.go index be2b2b4a787..3efec48f0ae 100644 --- a/service/s3/api_op_PutBucketLogging.go +++ b/service/s3/api_op_PutBucketLogging.go @@ -25,18 +25,18 @@ import ( // granted using policies. For more information, see Permissions for server access // log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general) // in the Amazon S3 User Guide. Grantee Values You can specify the person (grantee) -// to whom you're assigning access rights (using request elements) in the following -// ways: +// to whom you're assigning access rights (by using request elements) in the +// following ways: // - By the person's ID: <>ID<><>GranteesEmail<> DisplayName is optional and // ignored in the request. // - By Email address: <>Grantees@email.com<> The grantee is resolved to the -// CanonicalUser and, in a response to a GET Object acl request, appears as the +// CanonicalUser and, in a response to a GETObjectAcl request, appears as the // CanonicalUser. // - By URI: <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<> // // To enable logging, you use LoggingEnabled and its children request elements. To -// disable logging, you use an empty BucketLoggingStatus request element: For more -// information about server access logging, see Server Access Logging (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html) +// disable logging, you use an empty BucketLoggingStatus request element: For +// more information about server access logging, see Server Access Logging (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html) // in the Amazon S3 User Guide. For more information about creating a bucket, see // CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // . For more information about returning the logging status of a bucket, see diff --git a/service/s3/api_op_PutBucketMetricsConfiguration.go b/service/s3/api_op_PutBucketMetricsConfiguration.go index aec2ed9de2c..1983c01c3f0 100644 --- a/service/s3/api_op_PutBucketMetricsConfiguration.go +++ b/service/s3/api_op_PutBucketMetricsConfiguration.go @@ -29,7 +29,7 @@ import ( // - GetBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html) // - ListBucketMetricsConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html) // -// GetBucketLifecycle has the following special error: +// PutBucketMetricsConfiguration has the following special error: // - Error code: TooManyConfigurations // - Description: You are attempting to create a new configuration but have // already reached the 1,000-configuration limit. diff --git a/service/s3/api_op_PutBucketNotificationConfiguration.go b/service/s3/api_op_PutBucketNotificationConfiguration.go index 632c276afff..eff40352532 100644 --- a/service/s3/api_op_PutBucketNotificationConfiguration.go +++ b/service/s3/api_op_PutBucketNotificationConfiguration.go @@ -33,8 +33,8 @@ import ( // configurations that you can create per bucket, see Amazon S3 service quotas (https://docs.aws.amazon.com/general/latest/gr/s3.html#limits_s3) // in Amazon Web Services General Reference. By default, only the bucket owner can // configure notifications on a bucket. However, bucket owners can use a bucket -// policy to grant permission to other users to set this configuration with -// s3:PutBucketNotification permission. The PUT notification is an atomic +// policy to grant permission to other users to set this configuration with the +// required s3:PutBucketNotification permission. The PUT notification is an atomic // operation. For example, suppose your notification configuration includes SNS // topic, SQS queue, and Lambda function configurations. When you send a PUT // request with this configuration, Amazon S3 sends test messages to your SNS diff --git a/service/s3/api_op_PutObject.go b/service/s3/api_op_PutObject.go index afa810f13c0..769c17897f0 100644 --- a/service/s3/api_op_PutObject.go +++ b/service/s3/api_op_PutObject.go @@ -41,14 +41,15 @@ import ( // about Amazon S3 Object Lock, see Amazon S3 Object Lock Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html) // in the Amazon S3 User Guide. // -// You have three mutually exclusive options to protect data using server-side +// You have four mutually exclusive options to protect data using server-side // encryption in Amazon S3, depending on how you choose to manage the encryption // keys. Specifically, the encryption key options are Amazon S3 managed keys -// (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and customer-provided keys -// (SSE-C). Amazon S3 encrypts data with server-side encryption by using Amazon S3 -// managed keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt -// data at by rest using server-side encryption with other key options. For more -// information, see Using Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) +// (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and +// customer-provided keys (SSE-C). Amazon S3 encrypts data with server-side +// encryption by using Amazon S3 managed keys (SSE-S3) by default. You can +// optionally tell Amazon S3 to encrypt data at rest by using server-side +// encryption with other key options. For more information, see Using Server-Side +// Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) // . When adding a new object, you can use headers to grant ACL-based permissions // to individual Amazon Web Services accounts or to predefined groups defined by // Amazon S3. These permissions are then added to the ACL on the object. By @@ -131,10 +132,10 @@ type PutObjectInput struct { Body io.Reader // Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption - // with server-side encryption using AWS KMS (SSE-KMS). Setting this header to true - // causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS. - // Specifying this header with a PUT action doesn’t affect bucket-level settings - // for S3 Bucket Key. + // with server-side encryption using Key Management Service (KMS) keys (SSE-KMS). + // Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object + // encryption with SSE-KMS. Specifying this header with a PUT action doesn’t affect + // bucket-level settings for S3 Bucket Key. BucketKeyEnabled bool // Can be used to specify caching behavior along the request/reply chain. For more @@ -286,17 +287,19 @@ type PutObjectInput struct { // GetObject or CopyObject operations on this object. SSEKMSEncryptionContext *string - // If x-amz-server-side-encryption has a valid value of aws:kms , this header - // specifies the ID of the Amazon Web Services Key Management Service (Amazon Web - // Services KMS) symmetric encryption customer managed key that was used for the - // object. If you specify x-amz-server-side-encryption:aws:kms , but do not provide + // If x-amz-server-side-encryption has a valid value of aws:kms or aws:kms:dsse , + // this header specifies the ID of the Key Management Service (KMS) symmetric + // encryption customer managed key that was used for the object. If you specify + // x-amz-server-side-encryption:aws:kms or + // x-amz-server-side-encryption:aws:kms:dsse , but do not provide // x-amz-server-side-encryption-aws-kms-key-id , Amazon S3 uses the Amazon Web - // Services managed key to protect the data. If the KMS key does not exist in the - // same account issuing the command, you must use the full ARN and not just the ID. + // Services managed key ( aws/s3 ) to protect the data. If the KMS key does not + // exist in the same account that's issuing the command, you must use the full ARN + // and not just the ID. SSEKMSKeyId *string // The server-side encryption algorithm used when storing this object in Amazon S3 - // (for example, AES256, aws:kms ). + // (for example, AES256 , aws:kms , aws:kms:dsse ). ServerSideEncryption types.ServerSideEncryption // By default, Amazon S3 uses the STANDARD Storage Class to store newly created @@ -331,7 +334,7 @@ type PutObjectInput struct { type PutObjectOutput struct { // Indicates whether the uploaded object uses an S3 Bucket Key for server-side - // encryption with Amazon Web Services KMS (SSE-KMS). + // encryption with Key Management Service (KMS) keys (SSE-KMS). BucketKeyEnabled bool // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be @@ -393,14 +396,13 @@ type PutObjectOutput struct { // for future GetObject or CopyObject operations on this object. SSEKMSEncryptionContext *string - // If x-amz-server-side-encryption is has a valid value of aws:kms , this header - // specifies the ID of the Amazon Web Services Key Management Service (Amazon Web - // Services KMS) symmetric encryption customer managed key that was used for the - // object. + // If x-amz-server-side-encryption has a valid value of aws:kms or aws:kms:dsse , + // this header specifies the ID of the Key Management Service (KMS) symmetric + // encryption customer managed key that was used for the object. SSEKMSKeyId *string // The server-side encryption algorithm used when storing this object in Amazon S3 - // (for example, AES256, aws:kms ). + // (for example, AES256 , aws:kms , aws:kms:dsse ). ServerSideEncryption types.ServerSideEncryption // Version of the object. diff --git a/service/s3/api_op_RestoreObject.go b/service/s3/api_op_RestoreObject.go index 01ad5420cf2..7ffe6748c54 100644 --- a/service/s3/api_op_RestoreObject.go +++ b/service/s3/api_op_RestoreObject.go @@ -63,46 +63,47 @@ import ( // Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) // in the Amazon S3 User Guide. Restoring objects Objects that you archive to the -// S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive storage class, and S3 -// Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, are -// not accessible in real time. For objects in the S3 Glacier Flexible Retrieval or -// S3 Glacier Deep Archive storage classes, you must first initiate a restore -// request, and then wait until a temporary copy of the object is available. If you -// want a permanent copy of the object, create a copy of it in the Amazon S3 -// Standard storage class in your S3 bucket. To access an archived object, you must -// restore the object for the duration (number of days) that you specify. For -// objects in the Archive Access or Deep Archive Access tiers of S3 -// Intelligent-Tiering, you must first initiate a restore request, and then wait -// until the object is moved into the Frequent Access tier. To restore a specific -// object version, you can provide a version ID. If you don't provide a version ID, -// Amazon S3 restores the current version. When restoring an archived object, you -// can specify one of the following data access tier options in the Tier element -// of the request body: +// S3 Glacier Flexible Retrieval Flexible Retrieval or S3 Glacier Deep Archive +// storage class, and S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep +// Archive tiers, are not accessible in real time. For objects in the S3 Glacier +// Flexible Retrieval Flexible Retrieval or S3 Glacier Deep Archive storage +// classes, you must first initiate a restore request, and then wait until a +// temporary copy of the object is available. If you want a permanent copy of the +// object, create a copy of it in the Amazon S3 Standard storage class in your S3 +// bucket. To access an archived object, you must restore the object for the +// duration (number of days) that you specify. For objects in the Archive Access or +// Deep Archive Access tiers of S3 Intelligent-Tiering, you must first initiate a +// restore request, and then wait until the object is moved into the Frequent +// Access tier. To restore a specific object version, you can provide a version ID. +// If you don't provide a version ID, Amazon S3 restores the current version. When +// restoring an archived object, you can specify one of the following data access +// tier options in the Tier element of the request body: // - Expedited - Expedited retrievals allow you to quickly access your data -// stored in the S3 Glacier Flexible Retrieval storage class or S3 -// Intelligent-Tiering Archive tier when occasional urgent requests for restoring -// archives are required. For all but the largest archived objects (250 MB+), data -// accessed using Expedited retrievals is typically made available within 1–5 -// minutes. Provisioned capacity ensures that retrieval capacity for Expedited -// retrievals is available when you need it. Expedited retrievals and provisioned -// capacity are not available for objects stored in the S3 Glacier Deep Archive -// storage class or S3 Intelligent-Tiering Deep Archive tier. +// stored in the S3 Glacier Flexible Retrieval Flexible Retrieval storage class or +// S3 Intelligent-Tiering Archive tier when occasional urgent requests for +// restoring archives are required. For all but the largest archived objects (250 +// MB+), data accessed using Expedited retrievals is typically made available +// within 1–5 minutes. Provisioned capacity ensures that retrieval capacity for +// Expedited retrievals is available when you need it. Expedited retrievals and +// provisioned capacity are not available for objects stored in the S3 Glacier Deep +// Archive storage class or S3 Intelligent-Tiering Deep Archive tier. // - Standard - Standard retrievals allow you to access any of your archived // objects within several hours. This is the default option for retrieval requests // that do not specify the retrieval option. Standard retrievals typically finish -// within 3–5 hours for objects stored in the S3 Glacier Flexible Retrieval storage -// class or S3 Intelligent-Tiering Archive tier. They typically finish within 12 -// hours for objects stored in the S3 Glacier Deep Archive storage class or S3 -// Intelligent-Tiering Deep Archive tier. Standard retrievals are free for objects -// stored in S3 Intelligent-Tiering. +// within 3–5 hours for objects stored in the S3 Glacier Flexible Retrieval +// Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier. They +// typically finish within 12 hours for objects stored in the S3 Glacier Deep +// Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard +// retrievals are free for objects stored in S3 Intelligent-Tiering. // - Bulk - Bulk retrievals free for objects stored in the S3 Glacier Flexible // Retrieval and S3 Intelligent-Tiering storage classes, enabling you to retrieve // large amounts, even petabytes, of data at no cost. Bulk retrievals typically // finish within 5–12 hours for objects stored in the S3 Glacier Flexible Retrieval -// storage class or S3 Intelligent-Tiering Archive tier. Bulk retrievals are also -// the lowest-cost retrieval option when restoring objects from S3 Glacier Deep -// Archive. They typically finish within 48 hours for objects stored in the S3 -// Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. +// Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier. Bulk +// retrievals are also the lowest-cost retrieval option when restoring objects from +// S3 Glacier Deep Archive. They typically finish within 48 hours for objects +// stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering +// Deep Archive tier. // // For more information about archive retrieval options and provisioned capacity // for Expedited data access, see Restoring Archived Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html) diff --git a/service/s3/api_op_SelectObjectContent.go b/service/s3/api_op_SelectObjectContent.go index 01220796d39..d4c1571a4a9 100644 --- a/service/s3/api_op_SelectObjectContent.go +++ b/service/s3/api_op_SelectObjectContent.go @@ -59,9 +59,12 @@ import ( // request (see SelectObjectContentRequest - ScanRange (https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange) // in the request parameters), you cannot specify the range of bytes of an object // to return. -// - GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You cannot -// specify the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY storage classes. For -// more information, about storage classes see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro) +// - The GLACIER , DEEP_ARCHIVE , and REDUCED_REDUNDANCY storage classes, or the +// ARCHIVE_ACCESS and DEEP_ARCHIVE_ACCESS access tiers of the INTELLIGENT_TIERING +// storage class: You cannot query objects in the GLACIER , DEEP_ARCHIVE , or +// REDUCED_REDUNDANCY storage classes, nor objects in the ARCHIVE_ACCESS or +// DEEP_ARCHIVE_ACCESS access tiers of the INTELLIGENT_TIERING storage class. For +// more information about storage classes, see Using Amazon S3 storage classes (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html) // in the Amazon S3 User Guide. // // Special Errors For a list of special errors for this operation, see List of diff --git a/service/s3/api_op_UploadPart.go b/service/s3/api_op_UploadPart.go index 5f317e242ca..0c6112fab08 100644 --- a/service/s3/api_op_UploadPart.go +++ b/service/s3/api_op_UploadPart.go @@ -225,7 +225,7 @@ type UploadPartInput struct { type UploadPartOutput struct { // Indicates whether the multipart upload uses an S3 Bucket Key for server-side - // encryption with Amazon Web Services KMS (SSE-KMS). + // encryption with Key Management Service (KMS) keys (SSE-KMS). BucketKeyEnabled bool // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be @@ -273,13 +273,12 @@ type UploadPartOutput struct { // integrity verification of the customer-provided encryption key. SSECustomerKeyMD5 *string - // If present, specifies the ID of the Amazon Web Services Key Management Service - // (Amazon Web Services KMS) symmetric encryption customer managed key was used for - // the object. + // If present, specifies the ID of the Key Management Service (KMS) symmetric + // encryption customer managed key was used for the object. SSEKMSKeyId *string // The server-side encryption algorithm used when storing this object in Amazon S3 - // (for example, AES256, aws:kms ). + // (for example, AES256 , aws:kms ). ServerSideEncryption types.ServerSideEncryption // Metadata pertaining to the operation's result. diff --git a/service/s3/api_op_UploadPartCopy.go b/service/s3/api_op_UploadPartCopy.go index afa41fdbc62..9ceebcaa4c1 100644 --- a/service/s3/api_op_UploadPartCopy.go +++ b/service/s3/api_op_UploadPartCopy.go @@ -238,7 +238,7 @@ type UploadPartCopyInput struct { type UploadPartCopyOutput struct { // Indicates whether the multipart upload uses an S3 Bucket Key for server-side - // encryption with Amazon Web Services KMS (SSE-KMS). + // encryption with Key Management Service (KMS) keys (SSE-KMS). BucketKeyEnabled bool // Container for all response elements. @@ -262,13 +262,12 @@ type UploadPartCopyOutput struct { // integrity verification of the customer-provided encryption key. SSECustomerKeyMD5 *string - // If present, specifies the ID of the Amazon Web Services Key Management Service - // (Amazon Web Services KMS) symmetric encryption customer managed key that was - // used for the object. + // If present, specifies the ID of the Key Management Service (KMS) symmetric + // encryption customer managed key that was used for the object. SSEKMSKeyId *string // The server-side encryption algorithm used when storing this object in Amazon S3 - // (for example, AES256, aws:kms ). + // (for example, AES256 , aws:kms ). ServerSideEncryption types.ServerSideEncryption // Metadata pertaining to the operation's result. diff --git a/service/s3/deserializers.go b/service/s3/deserializers.go index f45cf19c5d3..0608d4f78bf 100644 --- a/service/s3/deserializers.go +++ b/service/s3/deserializers.go @@ -2369,6 +2369,11 @@ func (m *awsRestxml_deserializeOpGetBucketAccelerateConfiguration) HandleDeseria output := &GetBucketAccelerateConfigurationOutput{} out.Result = output + err = awsRestxml_deserializeOpHttpBindingsGetBucketAccelerateConfigurationOutput(output, response) + if err != nil { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response with invalid Http bindings, %w", err)} + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(response.Body, ringBuffer) @@ -2440,6 +2445,18 @@ func awsRestxml_deserializeOpErrorGetBucketAccelerateConfiguration(response *smi } } +func awsRestxml_deserializeOpHttpBindingsGetBucketAccelerateConfigurationOutput(v *GetBucketAccelerateConfigurationOutput, response *smithyhttp.Response) error { + if v == nil { + return fmt.Errorf("unsupported deserialization for nil %T", v) + } + + if headerValues := response.Header.Values("x-amz-request-charged"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.RequestCharged = types.RequestCharged(headerValues[0]) + } + + return nil +} func awsRestxml_deserializeOpDocumentGetBucketAccelerateConfigurationOutput(v **GetBucketAccelerateConfigurationOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -7950,6 +7967,11 @@ func (m *awsRestxml_deserializeOpListMultipartUploads) HandleDeserialize(ctx con output := &ListMultipartUploadsOutput{} out.Result = output + err = awsRestxml_deserializeOpHttpBindingsListMultipartUploadsOutput(output, response) + if err != nil { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response with invalid Http bindings, %w", err)} + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(response.Body, ringBuffer) @@ -8021,6 +8043,18 @@ func awsRestxml_deserializeOpErrorListMultipartUploads(response *smithyhttp.Resp } } +func awsRestxml_deserializeOpHttpBindingsListMultipartUploadsOutput(v *ListMultipartUploadsOutput, response *smithyhttp.Response) error { + if v == nil { + return fmt.Errorf("unsupported deserialization for nil %T", v) + } + + if headerValues := response.Header.Values("x-amz-request-charged"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.RequestCharged = types.RequestCharged(headerValues[0]) + } + + return nil +} func awsRestxml_deserializeOpDocumentListMultipartUploadsOutput(v **ListMultipartUploadsOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -8232,6 +8266,11 @@ func (m *awsRestxml_deserializeOpListObjects) HandleDeserialize(ctx context.Cont output := &ListObjectsOutput{} out.Result = output + err = awsRestxml_deserializeOpHttpBindingsListObjectsOutput(output, response) + if err != nil { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response with invalid Http bindings, %w", err)} + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(response.Body, ringBuffer) @@ -8306,6 +8345,18 @@ func awsRestxml_deserializeOpErrorListObjects(response *smithyhttp.Response, met } } +func awsRestxml_deserializeOpHttpBindingsListObjectsOutput(v *ListObjectsOutput, response *smithyhttp.Response) error { + if v == nil { + return fmt.Errorf("unsupported deserialization for nil %T", v) + } + + if headerValues := response.Header.Values("x-amz-request-charged"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.RequestCharged = types.RequestCharged(headerValues[0]) + } + + return nil +} func awsRestxml_deserializeOpDocumentListObjectsOutput(v **ListObjectsOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -8491,6 +8542,11 @@ func (m *awsRestxml_deserializeOpListObjectsV2) HandleDeserialize(ctx context.Co output := &ListObjectsV2Output{} out.Result = output + err = awsRestxml_deserializeOpHttpBindingsListObjectsV2Output(output, response) + if err != nil { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response with invalid Http bindings, %w", err)} + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(response.Body, ringBuffer) @@ -8565,6 +8621,18 @@ func awsRestxml_deserializeOpErrorListObjectsV2(response *smithyhttp.Response, m } } +func awsRestxml_deserializeOpHttpBindingsListObjectsV2Output(v *ListObjectsV2Output, response *smithyhttp.Response) error { + if v == nil { + return fmt.Errorf("unsupported deserialization for nil %T", v) + } + + if headerValues := response.Header.Values("x-amz-request-charged"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.RequestCharged = types.RequestCharged(headerValues[0]) + } + + return nil +} func awsRestxml_deserializeOpDocumentListObjectsV2Output(v **ListObjectsV2Output, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -8780,6 +8848,11 @@ func (m *awsRestxml_deserializeOpListObjectVersions) HandleDeserialize(ctx conte output := &ListObjectVersionsOutput{} out.Result = output + err = awsRestxml_deserializeOpHttpBindingsListObjectVersionsOutput(output, response) + if err != nil { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response with invalid Http bindings, %w", err)} + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(response.Body, ringBuffer) @@ -8851,6 +8924,18 @@ func awsRestxml_deserializeOpErrorListObjectVersions(response *smithyhttp.Respon } } +func awsRestxml_deserializeOpHttpBindingsListObjectVersionsOutput(v *ListObjectVersionsOutput, response *smithyhttp.Response) error { + if v == nil { + return fmt.Errorf("unsupported deserialization for nil %T", v) + } + + if headerValues := response.Header.Values("x-amz-request-charged"); len(headerValues) != 0 { + headerValues[0] = strings.TrimSpace(headerValues[0]) + v.RequestCharged = types.RequestCharged(headerValues[0]) + } + + return nil +} func awsRestxml_deserializeOpDocumentListObjectVersionsOutput(v **ListObjectVersionsOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/s3/serializers.go b/service/s3/serializers.go index 126dedcf3b3..300826c8747 100644 --- a/service/s3/serializers.go +++ b/service/s3/serializers.go @@ -2065,6 +2065,11 @@ func awsRestxml_serializeOpHttpBindingsGetBucketAccelerateConfigurationInput(v * encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner) } + if len(v.RequestPayer) > 0 { + locationName := "X-Amz-Request-Payer" + encoder.SetHeader(locationName).String(string(v.RequestPayer)) + } + return nil } @@ -4658,6 +4663,11 @@ func awsRestxml_serializeOpHttpBindingsListMultipartUploadsInput(v *ListMultipar encoder.SetQuery("prefix").String(*v.Prefix) } + if len(v.RequestPayer) > 0 { + locationName := "X-Amz-Request-Payer" + encoder.SetHeader(locationName).String(string(v.RequestPayer)) + } + if v.UploadIdMarker != nil { encoder.SetQuery("upload-id-marker").String(*v.UploadIdMarker) } @@ -4929,6 +4939,11 @@ func awsRestxml_serializeOpHttpBindingsListObjectVersionsInput(v *ListObjectVers encoder.SetQuery("prefix").String(*v.Prefix) } + if len(v.RequestPayer) > 0 { + locationName := "X-Amz-Request-Payer" + encoder.SetHeader(locationName).String(string(v.RequestPayer)) + } + if v.VersionIdMarker != nil { encoder.SetQuery("version-id-marker").String(*v.VersionIdMarker) } diff --git a/service/s3/types/types.go b/service/s3/types/types.go index 16d30099dc6..e398a0a0fef 100644 --- a/service/s3/types/types.go +++ b/service/s3/types/types.go @@ -579,7 +579,7 @@ type DefaultRetention struct { // Container for the objects to delete. type Delete struct { - // The objects to delete. + // The object to delete. // // This member is required. Objects []ObjectIdentifier @@ -721,7 +721,7 @@ type Encryption struct { // If the encryption type is aws:kms , this optional value specifies the ID of the // symmetric encryption customer managed key to use for encryption of job results. // Amazon S3 only supports symmetric encryption KMS keys. For more information, see - // Asymmetric keys in Amazon Web Services KMS (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) + // Asymmetric keys in KMS (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) // in the Amazon Web Services Key Management Service Developer Guide. KMSKeyId *string @@ -3034,9 +3034,8 @@ type SourceSelectionCriteria struct { // Specifies the use of SSE-KMS to encrypt delivered inventory reports. type SSEKMS struct { - // Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web - // Services KMS) symmetric encryption customer managed key to use for encrypting - // inventory reports. + // Specifies the ID of the Key Management Service (KMS) symmetric encryption + // customer managed key to use for encrypting inventory reports. // // This member is required. KeyId *string