diff --git a/CHANGELOG.md b/CHANGELOG.md index 32a6b38e73..a77c99bb36 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,17 @@ +Release v1.34.8 (2020-08-19) +=== + +### Service Client Updates +* `service/ivs`: Updates service API, documentation, and paginators +* `service/lakeformation`: Updates service API and documentation +* `service/organizations`: Updates service documentation + * Minor documentation updates for AWS Organizations +* `service/servicecatalog`: Updates service API and documentation + * Enhance SearchProvisionedProducts API to allow queries using productName and provisioningArtifactName. Added lastProvisioningRecordId and lastSuccessfulRecordId to Read ProvisionedProduct APIs +* `service/storagegateway`: Updates service API and documentation + * Added WORM, tape retention lock, and custom pool features for virtual tapes. +* `service/transcribe-streaming`: Updates service API and documentation + Release v1.34.7 (2020-08-18) === diff --git a/aws/endpoints/defaults.go b/aws/endpoints/defaults.go index 6b12c99e42..aff5786aeb 100644 --- a/aws/endpoints/defaults.go +++ b/aws/endpoints/defaults.go @@ -5316,6 +5316,7 @@ var awsPartition = partition{ Protocols: []string{"https"}, }, Endpoints: endpoints{ + "af-south-1": endpoint{}, "ap-east-1": endpoint{}, "ap-northeast-1": endpoint{}, "ap-northeast-2": endpoint{}, @@ -5325,6 +5326,7 @@ var awsPartition = partition{ "ca-central-1": endpoint{}, "eu-central-1": endpoint{}, "eu-north-1": endpoint{}, + "eu-south-1": endpoint{}, "eu-west-1": endpoint{}, "eu-west-2": endpoint{}, "eu-west-3": endpoint{}, diff --git a/aws/version.go b/aws/version.go index 16de6364e2..aaeb120b55 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.34.7" +const SDKVersion = "1.34.8" diff --git a/models/apis/ivs/2020-07-14/api-2.json b/models/apis/ivs/2020-07-14/api-2.json index 18acaa193f..3b8fc7045c 100644 --- a/models/apis/ivs/2020-07-14/api-2.json +++ b/models/apis/ivs/2020-07-14/api-2.json @@ -76,6 +76,21 @@ {"shape":"PendingVerification"} ] }, + "DeletePlaybackKeyPair":{ + "name":"DeletePlaybackKeyPair", + "http":{ + "method":"POST", + "requestUri":"/DeletePlaybackKeyPair" + }, + "input":{"shape":"DeletePlaybackKeyPairRequest"}, + "output":{"shape":"DeletePlaybackKeyPairResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"PendingVerification"} + ] + }, "DeleteStreamKey":{ "name":"DeleteStreamKey", "http":{ @@ -104,6 +119,20 @@ {"shape":"ResourceNotFoundException"} ] }, + "GetPlaybackKeyPair":{ + "name":"GetPlaybackKeyPair", + "http":{ + "method":"POST", + "requestUri":"/GetPlaybackKeyPair" + }, + "input":{"shape":"GetPlaybackKeyPairRequest"}, + "output":{"shape":"GetPlaybackKeyPairResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, "GetStream":{ "name":"GetStream", "http":{ @@ -133,6 +162,22 @@ {"shape":"ResourceNotFoundException"} ] }, + "ImportPlaybackKeyPair":{ + "name":"ImportPlaybackKeyPair", + "http":{ + "method":"POST", + "requestUri":"/ImportPlaybackKeyPair" + }, + "input":{"shape":"ImportPlaybackKeyPairRequest"}, + "output":{"shape":"ImportPlaybackKeyPairResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"ConflictException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"PendingVerification"} + ] + }, "ListChannels":{ "name":"ListChannels", "http":{ @@ -146,6 +191,19 @@ {"shape":"AccessDeniedException"} ] }, + "ListPlaybackKeyPairs":{ + "name":"ListPlaybackKeyPairs", + "http":{ + "method":"POST", + "requestUri":"/ListPlaybackKeyPairs" + }, + "input":{"shape":"ListPlaybackKeyPairsRequest"}, + "output":{"shape":"ListPlaybackKeyPairsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ] + }, "ListStreamKeys":{ "name":"ListStreamKeys", "http":{ @@ -311,6 +369,7 @@ "errors":{"shape":"BatchErrors"} } }, + "Boolean":{"type":"boolean"}, "Channel":{ "type":"structure", "members":{ @@ -320,6 +379,7 @@ "type":{"shape":"ChannelType"}, "ingestEndpoint":{"shape":"IngestEndpoint"}, "playbackUrl":{"shape":"PlaybackURL"}, + "authorized":{"shape":"IsAuthorized"}, "tags":{"shape":"Tags"} } }, @@ -366,6 +426,7 @@ "arn":{"shape":"ChannelArn"}, "name":{"shape":"ChannelName"}, "latencyMode":{"shape":"ChannelLatencyMode"}, + "authorized":{"shape":"IsAuthorized"}, "tags":{"shape":"Tags"} } }, @@ -394,6 +455,7 @@ "name":{"shape":"ChannelName"}, "latencyMode":{"shape":"ChannelLatencyMode"}, "type":{"shape":"ChannelType"}, + "authorized":{"shape":"Boolean"}, "tags":{"shape":"Tags"} } }, @@ -425,6 +487,18 @@ "arn":{"shape":"ChannelArn"} } }, + "DeletePlaybackKeyPairRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"PlaybackKeyPairArn"} + } + }, + "DeletePlaybackKeyPairResponse":{ + "type":"structure", + "members":{ + } + }, "DeleteStreamKeyRequest":{ "type":"structure", "required":["arn"], @@ -445,6 +519,19 @@ "channel":{"shape":"Channel"} } }, + "GetPlaybackKeyPairRequest":{ + "type":"structure", + "required":["arn"], + "members":{ + "arn":{"shape":"PlaybackKeyPairArn"} + } + }, + "GetPlaybackKeyPairResponse":{ + "type":"structure", + "members":{ + "keyPair":{"shape":"PlaybackKeyPair"} + } + }, "GetStreamKeyRequest":{ "type":"structure", "required":["arn"], @@ -471,6 +558,21 @@ "stream":{"shape":"Stream"} } }, + "ImportPlaybackKeyPairRequest":{ + "type":"structure", + "required":["publicKeyMaterial"], + "members":{ + "publicKeyMaterial":{"shape":"PlaybackPublicKeyMaterial"}, + "name":{"shape":"PlaybackKeyPairName"}, + "tags":{"shape":"Tags"} + } + }, + "ImportPlaybackKeyPairResponse":{ + "type":"structure", + "members":{ + "keyPair":{"shape":"PlaybackKeyPair"} + } + }, "IngestEndpoint":{"type":"string"}, "InternalServerException":{ "type":"structure", @@ -480,6 +582,7 @@ "error":{"httpStatusCode":500}, "exception":true }, + "IsAuthorized":{"type":"boolean"}, "ListChannelsRequest":{ "type":"structure", "members":{ @@ -496,6 +599,21 @@ "nextToken":{"shape":"PaginationToken"} } }, + "ListPlaybackKeyPairsRequest":{ + "type":"structure", + "members":{ + "nextToken":{"shape":"PaginationToken"}, + "maxResults":{"shape":"MaxPlaybackKeyPairResults"} + } + }, + "ListPlaybackKeyPairsResponse":{ + "type":"structure", + "required":["keyPairs"], + "members":{ + "keyPairs":{"shape":"PlaybackKeyPairList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "ListStreamKeysRequest":{ "type":"structure", "required":["channelArn"], @@ -554,6 +672,11 @@ "max":50, "min":1 }, + "MaxPlaybackKeyPairResults":{ + "type":"integer", + "max":50, + "min":1 + }, "MaxStreamKeyResults":{ "type":"integer", "max":50, @@ -582,6 +705,41 @@ "error":{"httpStatusCode":403}, "exception":true }, + "PlaybackKeyPair":{ + "type":"structure", + "members":{ + "arn":{"shape":"PlaybackKeyPairArn"}, + "name":{"shape":"PlaybackKeyPairName"}, + "fingerprint":{"shape":"PlaybackKeyPairFingerprint"}, + "tags":{"shape":"Tags"} + } + }, + "PlaybackKeyPairArn":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^arn:aws:[is]vs:[a-z0-9-]+:[0-9]+:playback-key/[a-zA-Z0-9-]+$" + }, + "PlaybackKeyPairFingerprint":{"type":"string"}, + "PlaybackKeyPairList":{ + "type":"list", + "member":{"shape":"PlaybackKeyPairSummary"} + }, + "PlaybackKeyPairName":{ + "type":"string", + "max":128, + "min":0, + "pattern":"^[a-zA-Z0-9-_]*$" + }, + "PlaybackKeyPairSummary":{ + "type":"structure", + "members":{ + "arn":{"shape":"PlaybackKeyPairArn"}, + "name":{"shape":"PlaybackKeyPairName"}, + "tags":{"shape":"Tags"} + } + }, + "PlaybackPublicKeyMaterial":{"type":"string"}, "PlaybackURL":{"type":"string"}, "PutMetadataRequest":{ "type":"structure", @@ -799,7 +957,8 @@ "arn":{"shape":"ChannelArn"}, "name":{"shape":"ChannelName"}, "latencyMode":{"shape":"ChannelLatencyMode"}, - "type":{"shape":"ChannelType"} + "type":{"shape":"ChannelType"}, + "authorized":{"shape":"Boolean"} } }, "UpdateChannelResponse":{ diff --git a/models/apis/ivs/2020-07-14/docs-2.json b/models/apis/ivs/2020-07-14/docs-2.json index 06b7d34b29..35675b07dc 100644 --- a/models/apis/ivs/2020-07-14/docs-2.json +++ b/models/apis/ivs/2020-07-14/docs-2.json @@ -1,17 +1,21 @@ { "version": "2.0", - "service": "

Introduction

The Amazon Interactive Video Service (IVS) API is REST compatible, using a standard HTTP API and an AWS SNS event stream for responses. JSON is used for both requests and responses, including errors.

The API is an AWS regional service, currently in these regions: us-west-2, us-east-1, and eu-west-1.

All API request parameters and URLs are case sensitive.

For a summary of notable documentation changes in each release, see Document History.

Service Endpoints

The following are the Amazon IVS service endpoints (all HTTPS):

Region name: US West (Oregon)

Region name: US East (Virginia)

Region name: EU West (Dublin)

Allowed Header Values

Resources

The following resources contain information about your IVS live stream (see Getting Started with Amazon IVS):

Tagging

A tag is a metadata label that you assign to an AWS resource. A tag comprises a key and a value, both set by you. For example, you might set a tag as topic:nature to label a particular video category. See Tagging AWS Resources for more information, including restrictions that apply to tags.

Tags can help you identify and organize your AWS resources. For example, you can use the same tag for different resources to indicate that they are related. You can also use tags to manage access (see Access Tags).

The Amazon IVS API has these tag-related endpoints: TagResource, UntagResource, and ListTagsForResource. The following resources support tagging: Channels and Stream Keys.

API Endpoints

Channel:

StreamKey:

Stream:

AWS Tags:

", + "service": "

Introduction

The Amazon Interactive Video Service (IVS) API is REST compatible, using a standard HTTP API and an AWS SNS event stream for responses. JSON is used for both requests and responses, including errors.

The API is an AWS regional service, currently in these regions: us-west-2, us-east-1, and eu-west-1.

All API request parameters and URLs are case sensitive.

For a summary of notable documentation changes in each release, see Document History.

Service Endpoints

The following are the Amazon IVS service endpoints (all HTTPS):

Region name: US West (Oregon)

Region name: US East (Virginia)

Region name: EU West (Dublin)

Allowed Header Values

Resources

The following resources contain information about your IVS live stream (see Getting Started with Amazon IVS):

Tagging

A tag is a metadata label that you assign to an AWS resource. A tag comprises a key and a value, both set by you. For example, you might set a tag as topic:nature to label a particular video category. See Tagging AWS Resources for more information, including restrictions that apply to tags.

Tags can help you identify and organize your AWS resources. For example, you can use the same tag for different resources to indicate that they are related. You can also use tags to manage access (see Access Tags).

The Amazon IVS API has these tag-related endpoints: TagResource, UntagResource, and ListTagsForResource. The following resources support tagging: Channels, Stream Keys, and Playback Key Pairs.

Channel Endpoints

StreamKey Endpoints

Stream Endpoints

PlaybackKeyPair Endpoints

AWS Tags Endpoints

", "operations": { "BatchGetChannel": "

Performs GetChannel on multiple ARNs simultaneously.

", "BatchGetStreamKey": "

Performs GetStreamKey on multiple ARNs simultaneously.

", "CreateChannel": "

Creates a new channel and an associated stream key to start streaming.

", "CreateStreamKey": "

Creates a stream key, used to initiate a stream, for the specified channel ARN.

Note that CreateChannel creates a stream key. If you subsequently use CreateStreamKey on the same channel, it will fail because a stream key already exists and there is a limit of 1 stream key per channel. To reset the stream key on a channel, use DeleteStreamKey and then CreateStreamKey.

", "DeleteChannel": "

Deletes the specified channel and its associated stream keys.

", + "DeletePlaybackKeyPair": "

Deletes a specified authorization key pair. This invalidates future viewer tokens generated using the key pair’s privateKey.

", "DeleteStreamKey": "

Deletes the stream key for the specified ARN, so it can no longer be used to stream.

", "GetChannel": "

Gets the channel configuration for the specified channel ARN. See also BatchGetChannel.

", + "GetPlaybackKeyPair": "

Gets a specified playback authorization key pair and returns the arn and fingerprint. The privateKey held by the caller can be used to generate viewer authorization tokens, to grant viewers access to authorized channels.

", "GetStream": "

Gets information about the active (live) stream on a specified channel.

", "GetStreamKey": "

Gets stream-key information for a specified ARN.

", + "ImportPlaybackKeyPair": "

Imports the public portion of a new key pair and returns its arn and fingerprint. The privateKey can then be used to generate viewer authorization tokens, to grant viewers access to authorized channels.

", "ListChannels": "

Gets summary information about all channels in your account, in the AWS region where the API request is processed. This list can be filtered to match a specified string.

", + "ListPlaybackKeyPairs": "

Gets summary information about playback key pairs.

", "ListStreamKeys": "

Gets summary information about stream keys for the specified channel.

", "ListStreams": "

Gets summary information about live streams in your account, in the AWS region where the API request is processed.

", "ListTagsForResource": "

Gets information about AWS tags for the specified ARN.

", @@ -60,6 +64,13 @@ "refs": { } }, + "Boolean": { + "base": null, + "refs": { + "CreateChannelRequest$authorized": "

Whether the channel is authorized. Default: false.

", + "UpdateChannelRequest$authorized": "

Whether the channel is authorized. Default: false.

" + } + }, "Channel": { "base": "

Object specifying a channel.

", "refs": { @@ -175,6 +186,16 @@ "refs": { } }, + "DeletePlaybackKeyPairRequest": { + "base": null, + "refs": { + } + }, + "DeletePlaybackKeyPairResponse": { + "base": null, + "refs": { + } + }, "DeleteStreamKeyRequest": { "base": null, "refs": { @@ -190,6 +211,16 @@ "refs": { } }, + "GetPlaybackKeyPairRequest": { + "base": null, + "refs": { + } + }, + "GetPlaybackKeyPairResponse": { + "base": null, + "refs": { + } + }, "GetStreamKeyRequest": { "base": null, "refs": { @@ -210,6 +241,16 @@ "refs": { } }, + "ImportPlaybackKeyPairRequest": { + "base": null, + "refs": { + } + }, + "ImportPlaybackKeyPairResponse": { + "base": null, + "refs": { + } + }, "IngestEndpoint": { "base": null, "refs": { @@ -221,6 +262,13 @@ "refs": { } }, + "IsAuthorized": { + "base": null, + "refs": { + "Channel$authorized": "

Whether the channel is authorized.

", + "ChannelSummary$authorized": "

Whether the channel is authorized.

" + } + }, "ListChannelsRequest": { "base": null, "refs": { @@ -231,6 +279,16 @@ "refs": { } }, + "ListPlaybackKeyPairsRequest": { + "base": null, + "refs": { + } + }, + "ListPlaybackKeyPairsResponse": { + "base": null, + "refs": { + } + }, "ListStreamKeysRequest": { "base": null, "refs": { @@ -267,6 +325,12 @@ "ListChannelsRequest$maxResults": "

Maximum number of channels to return.

" } }, + "MaxPlaybackKeyPairResults": { + "base": null, + "refs": { + "ListPlaybackKeyPairsRequest$maxResults": "

The first key pair to retrieve. This is used for pagination; see the nextToken response field.

" + } + }, "MaxStreamKeyResults": { "base": null, "refs": { @@ -290,6 +354,8 @@ "refs": { "ListChannelsRequest$nextToken": "

The first channel to retrieve. This is used for pagination; see the nextToken response field.

", "ListChannelsResponse$nextToken": "

If there are more channels than maxResults, use nextToken in the request to get the next set.

", + "ListPlaybackKeyPairsRequest$nextToken": "

Maximum number of key pairs to return.

", + "ListPlaybackKeyPairsResponse$nextToken": "

If there are more key pairs than maxResults, use nextToken in the request to get the next set.

", "ListStreamKeysRequest$nextToken": "

The first stream key to retrieve. This is used for pagination; see the nextToken response field.

", "ListStreamKeysResponse$nextToken": "

If there are more stream keys than maxResults, use nextToken in the request to get the next set.

", "ListStreamsRequest$nextToken": "

The first stream to retrieve. This is used for pagination; see the nextToken response field.

", @@ -301,6 +367,54 @@ "refs": { } }, + "PlaybackKeyPair": { + "base": "

A key pair used to sign and validate a playback authorization token.

", + "refs": { + "GetPlaybackKeyPairResponse$keyPair": null, + "ImportPlaybackKeyPairResponse$keyPair": null + } + }, + "PlaybackKeyPairArn": { + "base": null, + "refs": { + "DeletePlaybackKeyPairRequest$arn": "

ARN of the key pair to be deleted.

", + "GetPlaybackKeyPairRequest$arn": "

ARN of the key pair to be returned.

", + "PlaybackKeyPair$arn": "

Key-pair ARN.

", + "PlaybackKeyPairSummary$arn": "

Key-pair ARN.

" + } + }, + "PlaybackKeyPairFingerprint": { + "base": null, + "refs": { + "PlaybackKeyPair$fingerprint": "

Key-pair identifier.

" + } + }, + "PlaybackKeyPairList": { + "base": null, + "refs": { + "ListPlaybackKeyPairsResponse$keyPairs": "

List of key pairs.

" + } + }, + "PlaybackKeyPairName": { + "base": null, + "refs": { + "ImportPlaybackKeyPairRequest$name": "

An arbitrary string (a nickname) assigned to a playback key pair that helps the customer identify that resource. The value does not need to be unique.

", + "PlaybackKeyPair$name": "

Key-pair name.

", + "PlaybackKeyPairSummary$name": "

Key-pair name.

" + } + }, + "PlaybackKeyPairSummary": { + "base": "

Summary information about a playback key pair.

", + "refs": { + "PlaybackKeyPairList$member": null + } + }, + "PlaybackPublicKeyMaterial": { + "base": null, + "refs": { + "ImportPlaybackKeyPairRequest$publicKeyMaterial": "

The public portion of a customer-generated key pair.

" + } + }, "PlaybackURL": { "base": null, "refs": { @@ -491,9 +605,12 @@ "ChannelSummary$tags": "

Array of 1-50 maps, each of the form string:string (key:value).

", "CreateChannelRequest$tags": "

See Channel$tags.

", "CreateStreamKeyRequest$tags": "

See Channel$tags.

", + "ImportPlaybackKeyPairRequest$tags": "

Any tags provided with the request are added to the playback key pair tags.

", "ListTagsForResourceResponse$tags": null, - "StreamKey$tags": "

Array of 1-50 maps, each of the form string:string (key:value)

", - "StreamKeySummary$tags": "

Array of 1-50 maps, each of the form string:string (key:value)

", + "PlaybackKeyPair$tags": "

Array of 1-50 maps, each of the form string:string (key:value).

", + "PlaybackKeyPairSummary$tags": "

Array of 1-50 maps, each of the form string:string (key:value)

", + "StreamKey$tags": "

Array of 1-50 maps, each of the form string:string (key:value).

", + "StreamKeySummary$tags": "

Array of 1-50 maps, each of the form string:string (key:value).

", "TagResourceRequest$tags": "

Array of tags to be added or updated.

" } }, diff --git a/models/apis/ivs/2020-07-14/paginators-1.json b/models/apis/ivs/2020-07-14/paginators-1.json index 2d16f89657..4aef609860 100644 --- a/models/apis/ivs/2020-07-14/paginators-1.json +++ b/models/apis/ivs/2020-07-14/paginators-1.json @@ -6,6 +6,12 @@ "limit_key": "maxResults", "result_key": "channels" }, + "ListPlaybackKeyPairs": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "keyPairs" + }, "ListStreamKeys": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/apis/lakeformation/2017-03-31/api-2.json b/models/apis/lakeformation/2017-03-31/api-2.json index cf159d7a66..3dde5425cc 100644 --- a/models/apis/lakeformation/2017-03-31/api-2.json +++ b/models/apis/lakeformation/2017-03-31/api-2.json @@ -386,6 +386,12 @@ "min":0, "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\r\\n\\t]*" }, + "DetailsMap":{ + "type":"structure", + "members":{ + "ResourceShare":{"shape":"ResourceShareList"} + } + }, "EntityNotFoundException":{ "type":"structure", "members":{ @@ -589,7 +595,8 @@ "Principal":{"shape":"DataLakePrincipal"}, "Resource":{"shape":"Resource"}, "Permissions":{"shape":"PermissionList"}, - "PermissionsWithGrantOption":{"shape":"PermissionList"} + "PermissionsWithGrantOption":{"shape":"PermissionList"}, + "AdditionalDetails":{"shape":"DetailsMap"} } }, "PrincipalResourcePermissionsList":{ @@ -609,6 +616,7 @@ "members":{ } }, + "RAMResourceShareArn":{"type":"string"}, "RegisterResourceRequest":{ "type":"structure", "required":["ResourceArn"], @@ -646,6 +654,10 @@ "type":"list", "member":{"shape":"ResourceInfo"} }, + "ResourceShareList":{ + "type":"list", + "member":{"shape":"RAMResourceShareArn"} + }, "RevokePermissionsRequest":{ "type":"structure", "required":[ diff --git a/models/apis/lakeformation/2017-03-31/docs-2.json b/models/apis/lakeformation/2017-03-31/docs-2.json index e683d8ded8..9f31abc487 100644 --- a/models/apis/lakeformation/2017-03-31/docs-2.json +++ b/models/apis/lakeformation/2017-03-31/docs-2.json @@ -192,6 +192,12 @@ "ErrorDetail$ErrorMessage": "

A message describing the error.

" } }, + "DetailsMap": { + "base": "

A structure containing the additional details to be returned in the AdditionalDetails attribute of PrincipalResourcePermissions.

If a catalog resource is shared through AWS Resource Access Manager (AWS RAM), then there will exist a corresponding RAM share resource ARN.

", + "refs": { + "PrincipalResourcePermissions$AdditionalDetails": "

This attribute can be used to return any additional details of PrincipalResourcePermissions. Currently returns only as a RAM share resource ARN.

" + } + }, "EntityNotFoundException": { "base": "

A specified entity does not exist

", "refs": { @@ -399,6 +405,12 @@ "refs": { } }, + "RAMResourceShareArn": { + "base": null, + "refs": { + "ResourceShareList$member": null + } + }, "RegisterResourceRequest": { "base": null, "refs": { @@ -444,6 +456,12 @@ "ListResourcesResponse$ResourceInfoList": "

A summary of the data lake resources.

" } }, + "ResourceShareList": { + "base": null, + "refs": { + "DetailsMap$ResourceShare": "

A share resource ARN for a catalog resource shared through AWS Resource Access Manager (AWS RAM).

" + } + }, "RevokePermissionsRequest": { "base": null, "refs": { diff --git a/models/apis/organizations/2016-11-28/docs-2.json b/models/apis/organizations/2016-11-28/docs-2.json index d0b088b4db..a788dc2f30 100644 --- a/models/apis/organizations/2016-11-28/docs-2.json +++ b/models/apis/organizations/2016-11-28/docs-2.json @@ -29,7 +29,7 @@ "EnableAllFeatures": "

Enables all features in an organization. This enables the use of organization policies that can restrict the services and actions that can be called in each account. Until you enable all features, you have access only to consolidated billing, and you can't use any of the advanced account administration features that AWS Organizations supports. For more information, see Enabling All Features in Your Organization in the AWS Organizations User Guide.

This operation is required only for organizations that were created explicitly with only the consolidated billing features enabled. Calling this operation sends a handshake to every invited account in the organization. The feature set change can be finalized and the additional features enabled only after all administrators in the invited accounts approve the change by accepting the handshake.

After you enable all features, you can separately enable or disable individual policy types in a root using EnablePolicyType and DisablePolicyType. To see the status of policy types in a root, use ListRoots.

After all invited member accounts accept the handshake, you finalize the feature set change by accepting the handshake that contains \"Action\": \"ENABLE_ALL_FEATURES\". This completes the change.

After you enable all features in your organization, the master account in the organization can apply policies on all member accounts. These policies can restrict what users and even administrators in those accounts can do. The master account can apply policies that prevent accounts from leaving the organization. Ensure that your account administrators are aware of this.

This operation can be called only from the organization's master account.

", "EnablePolicyType": "

Enables a policy type in a root. After you enable a policy type in a root, you can attach policies of that type to the root, any organizational unit (OU), or account in that root. You can undo this by using the DisablePolicyType operation.

This is an asynchronous request that AWS performs in the background. AWS recommends that you first use ListRoots to see the status of policy types for a specified root, and then use this operation.

This operation can be called only from the organization's master account.

You can enable a policy type in a root only if that policy type is available in the organization. To view the status of available policy types in the organization, use DescribeOrganization.

", "InviteAccountToOrganization": "

Sends an invitation to another account to join your organization as a member account. AWS Organizations sends email on your behalf to the email address that is associated with the other account's owner. The invitation is implemented as a Handshake whose details are in the response.

This operation can be called only from the organization's master account.

", - "LeaveOrganization": "

Removes a member account from its parent organization. This version of the operation is performed by the account that wants to leave. To remove a member account as a user in the master account, use RemoveAccountFromOrganization instead.

This operation can be called only from a member account in the organization.

", + "LeaveOrganization": "

Removes a member account from its parent organization. This version of the operation is performed by the account that wants to leave. To remove a member account as a user in the master account, use RemoveAccountFromOrganization instead.

This operation can be called only from a member account in the organization.

", "ListAWSServiceAccessForOrganization": "

Returns a list of the AWS services that you enabled to integrate with your organization. After a service on this list creates the resources that it requires for the integration, it can perform operations on your organization and its accounts.

For more information about integrating other services with AWS Organizations, including the list of services that currently work with Organizations, see Integrating AWS Organizations with Other AWS Services in the AWS Organizations User Guide.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

", "ListAccounts": "

Lists all the accounts in the organization. To request only the accounts in a specified root or organizational unit (OU), use the ListAccountsForParent operation instead.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

", "ListAccountsForParent": "

Lists the accounts in an organization that are contained by the specified target root or organizational unit (OU). If you specify the root, you get a list of all the accounts that aren't in any OU. If you specify an OU, you get a list of all the accounts in only that OU and not in any child OUs. To get a list of all accounts in the organization, use the ListAccounts operation.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

", @@ -48,7 +48,7 @@ "ListTargetsForPolicy": "

Lists all the roots, organizational units (OUs), and accounts that the specified policy is attached to.

Always check the NextToken response parameter for a null value when calling a List* operation. These operations can occasionally return an empty set of results even when there are more results available. The NextToken response parameter value is null only when there are no more results to display.

This operation can be called only from the organization's master account or by a member account that is a delegated administrator for an AWS service.

", "MoveAccount": "

Moves an account from its current source parent root or organizational unit (OU) to the specified destination parent root or OU.

This operation can be called only from the organization's master account.

", "RegisterDelegatedAdministrator": "

Enables the specified member account to administer the Organizations features of the specified AWS service. It grants read-only access to AWS Organizations service data. The account still requires IAM permissions to access and administer the AWS service.

You can run this action only for AWS services that support this feature. For a current list of services that support it, see the column Supports Delegated Administrator in the table at AWS Services that you can use with AWS Organizations in the AWS Organizations User Guide.

This operation can be called only from the organization's master account.

", - "RemoveAccountFromOrganization": "

Removes the specified account from the organization.

The removed account becomes a standalone account that isn't a member of any organization. It's no longer subject to any policies and is responsible for its own bill payments. The organization's master account is no longer charged for any expenses accrued by the member account after it's removed from the organization.

This operation can be called only from the organization's master account. Member accounts can remove themselves with LeaveOrganization instead.

You can remove an account from your organization only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For an account that you want to make standalone, you must accept the end user license agreement (EULA), choose a support plan, provide and verify the required contact information, and provide a current payment method. AWS uses the payment method to charge for any billable (not free tier) AWS activity that occurs while the account isn't attached to an organization. To remove an account that doesn't yet have this information, you must sign in as the member account and follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

", + "RemoveAccountFromOrganization": "

Removes the specified account from the organization.

The removed account becomes a standalone account that isn't a member of any organization. It's no longer subject to any policies and is responsible for its own bill payments. The organization's master account is no longer charged for any expenses accrued by the member account after it's removed from the organization.

This operation can be called only from the organization's master account. Member accounts can remove themselves with LeaveOrganization instead.

You can remove an account from your organization only if the account is configured with the information required to operate as a standalone account. When you create an account in an organization using the AWS Organizations console, API, or CLI commands, the information required of standalone accounts is not automatically collected. For an account that you want to make standalone, you must choose a support plan, provide and verify the required contact information, and provide a current payment method. AWS uses the payment method to charge for any billable (not free tier) AWS activity that occurs while the account isn't attached to an organization. To remove an account that doesn't yet have this information, you must sign in as the member account and follow the steps at To leave an organization when all required account information has not yet been provided in the AWS Organizations User Guide.

", "TagResource": "

Adds one or more tags to the specified resource.

Currently, you can tag and untag accounts in AWS Organizations.

This operation can be called only from the organization's master account.

", "UntagResource": "

Removes a tag from the specified resource.

Currently, you can tag and untag accounts in AWS Organizations.

This operation can be called only from the organization's master account.

", "UpdateOrganizationalUnit": "

Renames the specified organizational unit (OU). The ID and ARN don't change. The child OUs and accounts remain in place, and any attached policies of the OU remain attached.

This operation can be called only from the organization's master account.

", diff --git a/models/apis/servicecatalog/2015-12-10/api-2.json b/models/apis/servicecatalog/2015-12-10/api-2.json index 39316e1eba..8a9bf87d8d 100644 --- a/models/apis/servicecatalog/2015-12-10/api-2.json +++ b/models/apis/servicecatalog/2015-12-10/api-2.json @@ -2910,10 +2910,14 @@ "CreatedTime":{"shape":"CreatedTime"}, "IdempotencyToken":{"shape":"IdempotencyToken"}, "LastRecordId":{"shape":"Id"}, + "LastProvisioningRecordId":{"shape":"Id"}, + "LastSuccessfulProvisioningRecordId":{"shape":"Id"}, "Tags":{"shape":"Tags"}, "PhysicalId":{"shape":"PhysicalId"}, "ProductId":{"shape":"Id"}, + "ProductName":{"shape":"ProductViewName"}, "ProvisioningArtifactId":{"shape":"Id"}, + "ProvisioningArtifactName":{"shape":"ProvisioningArtifactName"}, "UserArn":{"shape":"UserArn"}, "UserArnSession":{"shape":"UserArnSession"} } @@ -2934,6 +2938,8 @@ "CreatedTime":{"shape":"CreatedTime"}, "IdempotencyToken":{"shape":"IdempotencyToken"}, "LastRecordId":{"shape":"LastRequestId"}, + "LastProvisioningRecordId":{"shape":"Id"}, + "LastSuccessfulProvisioningRecordId":{"shape":"Id"}, "ProductId":{"shape":"Id"}, "ProvisioningArtifactId":{"shape":"Id"} } diff --git a/models/apis/servicecatalog/2015-12-10/docs-2.json b/models/apis/servicecatalog/2015-12-10/docs-2.json index 864668e45b..40316feb41 100644 --- a/models/apis/servicecatalog/2015-12-10/docs-2.json +++ b/models/apis/servicecatalog/2015-12-10/docs-2.json @@ -1090,8 +1090,12 @@ "ProvisionProductInput$PathId": "

The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths. You must provide the name or ID, but not both.

", "ProvisionedProductAttribute$Id": "

The identifier of the provisioned product.

", "ProvisionedProductAttribute$LastRecordId": "

The record identifier of the last request performed on this provisioned product.

", + "ProvisionedProductAttribute$LastProvisioningRecordId": "

The record identifier of the last request performed on this provisioned product of the following types:

", + "ProvisionedProductAttribute$LastSuccessfulProvisioningRecordId": "

The record identifier of the last successful request performed on this provisioned product of the following types:

", "ProvisionedProductAttribute$ProductId": "

The product identifier.

", "ProvisionedProductAttribute$ProvisioningArtifactId": "

The identifier of the provisioning artifact.

", + "ProvisionedProductDetail$LastProvisioningRecordId": "

The record identifier of the last request performed on this provisioned product of the following types:

", + "ProvisionedProductDetail$LastSuccessfulProvisioningRecordId": "

The record identifier of the last successful request performed on this provisioned product of the following types:

", "ProvisionedProductDetail$ProductId": "

The product identifier. For example, prod-abcdzk7xy33qa.

", "ProvisionedProductDetail$ProvisioningArtifactId": "

The identifier of the provisioning artifact. For example, pa-4abcdjnxjj6ne.

", "ProvisionedProductPlanDetails$PathId": "

The path identifier of the product. This value is optional if the product has a default path, and required if the product has more than one path. To list the paths for a product, use ListLaunchPaths.

", @@ -1799,6 +1803,7 @@ "DescribeProvisioningParametersInput$ProductName": "

The name of the product. You must provide the name or ID, but not both.

", "ProductViewSummary$Name": "

The name of the product.

", "ProvisionProductInput$ProductName": "

The name of the product. You must provide the name or ID, but not both.

", + "ProvisionedProductAttribute$ProductName": "

The name of the product.

", "UpdateProductInput$Name": "

The updated product name.

", "UpdateProvisionedProductInput$ProductName": "

The name of the product. You must provide the name or ID, but not both.

" } @@ -1908,7 +1913,7 @@ "ProvisionedProductFilters": { "base": null, "refs": { - "SearchProvisionedProductsInput$Filters": "

The search filters.

When the key is SearchQuery, the searchable fields are arn, createdTime, id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifact, type, status, tags, userArn, and userArnSession.

Example: \"SearchQuery\":[\"status:AVAILABLE\"]

" + "SearchProvisionedProductsInput$Filters": "

The search filters.

When the key is SearchQuery, the searchable fields are arn, createdTime, id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifact, type, status, tags, userArn, userArnSession, lastProvisioningRecordId, lastSuccessfulProvisioningRecordId, productName, and provisioningArtifactName.

Example: \"SearchQuery\":[\"status:AVAILABLE\"]

" } }, "ProvisionedProductId": { @@ -2109,6 +2114,7 @@ "DescribeProvisioningArtifactInput$ProvisioningArtifactName": "

The provisioning artifact name.

", "DescribeProvisioningParametersInput$ProvisioningArtifactName": "

The name of the provisioning artifact. You must provide the name or ID, but not both.

", "ProvisionProductInput$ProvisioningArtifactName": "

The name of the provisioning artifact. You must provide the name or ID, but not both.

", + "ProvisionedProductAttribute$ProvisioningArtifactName": "

The name of the provisioning artifact.

", "ProvisioningArtifact$Name": "

The name of the provisioning artifact.

", "ProvisioningArtifactDetail$Name": "

The name of the provisioning artifact.

", "ProvisioningArtifactDetail$Description": "

The description of the provisioning artifact.

", diff --git a/models/apis/storagegateway/2013-06-30/api-2.json b/models/apis/storagegateway/2013-06-30/api-2.json index c9de895d03..5bb644de47 100644 --- a/models/apis/storagegateway/2013-06-30/api-2.json +++ b/models/apis/storagegateway/2013-06-30/api-2.json @@ -209,6 +209,19 @@ {"shape":"InternalServerError"} ] }, + "CreateTapePool":{ + "name":"CreateTapePool", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateTapePoolInput"}, + "output":{"shape":"CreateTapePoolOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ] + }, "CreateTapeWithBarcode":{ "name":"CreateTapeWithBarcode", "http":{ @@ -339,6 +352,19 @@ {"shape":"InternalServerError"} ] }, + "DeleteTapePool":{ + "name":"DeleteTapePool", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteTapePoolInput"}, + "output":{"shape":"DeleteTapePoolOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ] + }, "DeleteVolume":{ "name":"DeleteVolume", "http":{ @@ -690,6 +716,19 @@ {"shape":"InternalServerError"} ] }, + "ListTapePools":{ + "name":"ListTapePools", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListTapePoolsInput"}, + "output":{"shape":"ListTapePoolsOutput"}, + "errors":[ + {"shape":"InvalidGatewayRequestException"}, + {"shape":"InternalServerError"} + ] + }, "ListTapes":{ "name":"ListTapes", "http":{ @@ -1148,7 +1187,8 @@ ], "members":{ "TapeARN":{"shape":"TapeARN"}, - "PoolId":{"shape":"PoolId"} + "PoolId":{"shape":"PoolId"}, + "BypassGovernanceRetention":{"shape":"boolean"} } }, "AssignTapePoolOutput":{ @@ -1211,7 +1251,8 @@ "TapeBarcodePrefix":{"shape":"TapeBarcodePrefix"}, "PoolId":{"shape":"PoolId"}, "TapeSizeInBytes":{"shape":"TapeSize"}, - "MinimumNumTapes":{"shape":"MinimumNumTapes"} + "MinimumNumTapes":{"shape":"MinimumNumTapes"}, + "Worm":{"shape":"boolean"} } }, "AutomaticTapeCreationRules":{ @@ -1509,6 +1550,26 @@ "TargetARN":{"shape":"TargetARN"} } }, + "CreateTapePoolInput":{ + "type":"structure", + "required":[ + "PoolName", + "StorageClass" + ], + "members":{ + "PoolName":{"shape":"PoolName"}, + "StorageClass":{"shape":"TapeStorageClass"}, + "RetentionLockType":{"shape":"RetentionLockType"}, + "RetentionLockTimeInDays":{"shape":"RetentionLockTimeInDays"}, + "Tags":{"shape":"Tags"} + } + }, + "CreateTapePoolOutput":{ + "type":"structure", + "members":{ + "PoolARN":{"shape":"PoolARN"} + } + }, "CreateTapeWithBarcodeInput":{ "type":"structure", "required":[ @@ -1523,6 +1584,7 @@ "KMSEncrypted":{"shape":"Boolean"}, "KMSKey":{"shape":"KMSKey"}, "PoolId":{"shape":"PoolId"}, + "Worm":{"shape":"boolean"}, "Tags":{"shape":"Tags"} } }, @@ -1550,6 +1612,7 @@ "KMSEncrypted":{"shape":"Boolean"}, "KMSKey":{"shape":"KMSKey"}, "PoolId":{"shape":"PoolId"}, + "Worm":{"shape":"boolean"}, "Tags":{"shape":"Tags"} } }, @@ -1662,7 +1725,8 @@ "type":"structure", "required":["TapeARN"], "members":{ - "TapeARN":{"shape":"TapeARN"} + "TapeARN":{"shape":"TapeARN"}, + "BypassGovernanceRetention":{"shape":"boolean"} } }, "DeleteTapeArchiveOutput":{ @@ -1679,7 +1743,8 @@ ], "members":{ "GatewayARN":{"shape":"GatewayARN"}, - "TapeARN":{"shape":"TapeARN"} + "TapeARN":{"shape":"TapeARN"}, + "BypassGovernanceRetention":{"shape":"boolean"} } }, "DeleteTapeOutput":{ @@ -1688,6 +1753,19 @@ "TapeARN":{"shape":"TapeARN"} } }, + "DeleteTapePoolInput":{ + "type":"structure", + "required":["PoolARN"], + "members":{ + "PoolARN":{"shape":"PoolARN"} + } + }, + "DeleteTapePoolOutput":{ + "type":"structure", + "members":{ + "PoolARN":{"shape":"PoolARN"} + } + }, "DeleteVolumeInput":{ "type":"structure", "required":["VolumeARN"], @@ -2484,6 +2562,21 @@ "Tags":{"shape":"Tags"} } }, + "ListTapePoolsInput":{ + "type":"structure", + "members":{ + "PoolARNs":{"shape":"PoolARNs"}, + "Marker":{"shape":"Marker"}, + "Limit":{"shape":"PositiveIntObject"} + } + }, + "ListTapePoolsOutput":{ + "type":"structure", + "members":{ + "PoolInfos":{"shape":"PoolInfos"}, + "Marker":{"shape":"Marker"} + } + }, "ListTapesInput":{ "type":"structure", "members":{ @@ -2682,11 +2775,48 @@ "min":1, "pattern":"^[0-7]{4}$" }, + "PoolARN":{ + "type":"string", + "max":500, + "min":50 + }, + "PoolARNs":{ + "type":"list", + "member":{"shape":"PoolARN"} + }, "PoolId":{ "type":"string", "max":100, "min":1 }, + "PoolInfo":{ + "type":"structure", + "members":{ + "PoolARN":{"shape":"PoolARN"}, + "PoolName":{"shape":"PoolName"}, + "StorageClass":{"shape":"TapeStorageClass"}, + "RetentionLockType":{"shape":"RetentionLockType"}, + "RetentionLockTimeInDays":{"shape":"RetentionLockTimeInDays"}, + "PoolStatus":{"shape":"PoolStatus"} + } + }, + "PoolInfos":{ + "type":"list", + "member":{"shape":"PoolInfo"} + }, + "PoolName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"^[ -\\.0-\\[\\]-~]*[!-\\.0-\\[\\]-~][ -\\.0-\\[\\]-~]*$" + }, + "PoolStatus":{ + "type":"string", + "enum":[ + "ACTIVE", + "DELETED" + ] + }, "PositiveIntObject":{ "type":"integer", "min":1 @@ -2752,6 +2882,19 @@ "max":500, "min":50 }, + "RetentionLockTimeInDays":{ + "type":"integer", + "max":36500, + "min":0 + }, + "RetentionLockType":{ + "type":"string", + "enum":[ + "COMPLIANCE", + "GOVERNANCE", + "NONE" + ] + }, "RetrieveTapeArchiveInput":{ "type":"structure", "required":[ @@ -3017,7 +3160,10 @@ "Progress":{"shape":"DoubleObject"}, "TapeUsedInBytes":{"shape":"TapeUsage"}, "KMSKey":{"shape":"KMSKey"}, - "PoolId":{"shape":"PoolId"} + "PoolId":{"shape":"PoolId"}, + "Worm":{"shape":"boolean"}, + "RetentionStartDate":{"shape":"Time"}, + "PoolEntryDate":{"shape":"Time"} } }, "TapeARN":{ @@ -3042,7 +3188,10 @@ "TapeStatus":{"shape":"TapeArchiveStatus"}, "TapeUsedInBytes":{"shape":"TapeUsage"}, "KMSKey":{"shape":"KMSKey"}, - "PoolId":{"shape":"PoolId"} + "PoolId":{"shape":"PoolId"}, + "Worm":{"shape":"boolean"}, + "RetentionStartDate":{"shape":"Time"}, + "PoolEntryDate":{"shape":"Time"} } }, "TapeArchiveStatus":{"type":"string"}, @@ -3075,7 +3224,9 @@ "TapeSizeInBytes":{"shape":"TapeSize"}, "TapeStatus":{"shape":"TapeStatus"}, "GatewayARN":{"shape":"GatewayARN"}, - "PoolId":{"shape":"PoolId"} + "PoolId":{"shape":"PoolId"}, + "RetentionStartDate":{"shape":"Time"}, + "PoolEntryDate":{"shape":"Time"} } }, "TapeInfos":{ @@ -3098,6 +3249,13 @@ "TapeRecoveryPointStatus":{"type":"string"}, "TapeSize":{"type":"long"}, "TapeStatus":{"type":"string"}, + "TapeStorageClass":{ + "type":"string", + "enum":[ + "DEEP_ARCHIVE", + "GLACIER" + ] + }, "TapeUsage":{"type":"long"}, "Tapes":{ "type":"list", diff --git a/models/apis/storagegateway/2013-06-30/docs-2.json b/models/apis/storagegateway/2013-06-30/docs-2.json index 168d370fb9..f4dc41eb2f 100644 --- a/models/apis/storagegateway/2013-06-30/docs-2.json +++ b/models/apis/storagegateway/2013-06-30/docs-2.json @@ -1,6 +1,6 @@ { "version": "2.0", - "service": "AWS Storage Gateway Service

AWS Storage Gateway is the service that connects an on-premises software appliance with cloud-based storage to provide seamless and secure integration between an organization's on-premises IT environment and the AWS storage infrastructure. The service enables you to securely upload data to the AWS Cloud for cost effective backup and rapid disaster recovery.

Use the following links to get started using the AWS Storage Gateway Service API Reference:

AWS Storage Gateway resource IDs are in uppercase. When you use these resource IDs with the Amazon EC2 API, EC2 expects resource IDs in lowercase. You must change your resource ID to lowercase to use it with the EC2 API. For example, in Storage Gateway the ID for a volume might be vol-AA22BB012345DAF670. When you use this ID with the EC2 API, you must change it to vol-aa22bb012345daf670. Otherwise, the EC2 API might not behave as expected.

IDs for Storage Gateway volumes and Amazon EBS snapshots created from gateway volumes are changing to a longer format. Starting in December 2016, all new volumes and snapshots will be created with a 17-character string. Starting in April 2016, you will be able to use these longer IDs so you can test your systems with the new format. For more information, see Longer EC2 and EBS resource IDs.

For example, a volume Amazon Resource Name (ARN) with the longer volume ID format looks like the following:

arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG.

A snapshot ID with the longer ID format looks like the following: snap-78e226633445566ee.

For more information, see Announcement: Heads-up – Longer AWS Storage Gateway volume and snapshot IDs coming in 2016.

", + "service": "AWS Storage Gateway Service

AWS Storage Gateway is the service that connects an on-premises software appliance with cloud-based storage to provide seamless and secure integration between an organization's on-premises IT environment and the AWS storage infrastructure. The service enables you to securely upload data to the AWS Cloud for cost effective backup and rapid disaster recovery.

Use the following links to get started using the AWS Storage Gateway Service API Reference:

AWS Storage Gateway resource IDs are in uppercase. When you use these resource IDs with the Amazon EC2 API, EC2 expects resource IDs in lowercase. You must change your resource ID to lowercase to use it with the EC2 API. For example, in Storage Gateway the ID for a volume might be vol-AA22BB012345DAF670. When you use this ID with the EC2 API, you must change it to vol-aa22bb012345daf670. Otherwise, the EC2 API might not behave as expected.

IDs for Storage Gateway volumes and Amazon EBS snapshots created from gateway volumes are changing to a longer format. Starting in December 2016, all new volumes and snapshots will be created with a 17-character string. Starting in April 2016, you will be able to use these longer IDs so you can test your systems with the new format. For more information, see Longer EC2 and EBS resource IDs.

For example, a volume Amazon Resource Name (ARN) with the longer volume ID format looks like the following:

arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG.

A snapshot ID with the longer ID format looks like the following: snap-78e226633445566ee.

For more information, see Announcement: Heads-up – Longer AWS Storage Gateway volume and snapshot IDs coming in 2016.

", "operations": { "ActivateGateway": "

Activates the gateway you previously deployed on your host. In the activation process, you specify information such as the AWS Region that you want to use for storing snapshots or tapes, the time zone for scheduled snapshots the gateway snapshot schedule window, an activation key, and a name for your gateway. The activation process also associates your gateway with your account. For more information, see UpdateGatewayInformation.

You must turn on the gateway VM before you can activate your gateway.

", "AddCache": "

Configures one or more gateway local disks as cache for a gateway. This operation is only supported in the cached volume, tape, and file gateway type (see How AWS Storage Gateway works (architecture).

In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add cache, and one or more disk IDs that you want to configure as cache.

", @@ -13,23 +13,25 @@ "CancelRetrieval": "

Cancels retrieval of a virtual tape from the virtual tape shelf (VTS) to a gateway after the retrieval process is initiated. The virtual tape is returned to the VTS. This operation is only supported in the tape gateway type.

", "CreateCachediSCSIVolume": "

Creates a cached volume on a specified cached volume gateway. This operation is only supported in the cached volume gateway type.

Cache storage must be allocated to the gateway before you can create a cached volume. Use the AddCache operation to add cache storage to a gateway.

In the request, you must specify the gateway, size of the volume in bytes, the iSCSI target name, an IP address on which to expose the target, and a unique client token. In response, the gateway creates the volume and returns information about it. This information includes the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target.

Optionally, you can provide the ARN for an existing volume as the SourceVolumeARN for this cached volume, which creates an exact copy of the existing volume’s latest recovery point. The VolumeSizeInBytes value must be equal to or larger than the size of the copied volume, in bytes.

", "CreateNFSFileShare": "

Creates a Network File System (NFS) file share on an existing file gateway. In Storage Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway exposes file shares using an NFS interface. This operation is only supported for file gateways.

File gateway requires AWS Security Token Service (AWS STS) to be activated to enable you to create a file share. Make sure AWS STS is activated in the AWS Region you are creating your file gateway in. If AWS STS is not activated in the AWS Region, activate it. For information about how to activate AWS STS, see Activating and deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

File gateway does not support creating hard or symbolic links on a file share.

", - "CreateSMBFileShare": "

Creates a Server Message Block (SMB) file share on an existing file gateway. In Storage Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway expose file shares using an SMB interface. This operation is only supported for file gateways.

File gateways require AWS Security Token Service (AWS STS) to be activated to enable you to create a file share. Make sure that AWS STS is activated in the AWS Region you are creating your file gateway in. If AWS STS is not activated in this AWS Region, activate it. For information about how to activate AWS STS, see Activating and deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

File gateways don't support creating hard or symbolic links on a file share.

", - "CreateSnapshot": "

Initiates a snapshot of a volume.

AWS Storage Gateway provides the ability to back up point-in-time snapshots of your data to Amazon Simple Storage (Amazon S3) for durable off-site recovery, as well as import the data to an Amazon Elastic Block Store (EBS) volume in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway volume on a scheduled or ad hoc basis. This API enables you to take ad-hoc snapshot. For more information, see Editing a snapshot schedule.

In the CreateSnapshot request you identify the volume by providing its Amazon Resource Name (ARN). You must also provide description for the snapshot. When AWS Storage Gateway takes the snapshot of specified volume, the snapshot and description appears in the AWS Storage Gateway Console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot. This operation is only supported in stored and cached volume gateway type.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, see DescribeSnapshots or DeleteSnapshot in the Amazon Elastic Compute Cloud API Reference.

Volume and snapshot IDs are changing to a longer length ID format. For more information, see the important note on the Welcome page.

", + "CreateSMBFileShare": "

Creates a Server Message Block (SMB) file share on an existing file gateway. In Storage Gateway, a file share is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway exposes file shares using an SMB interface. This operation is only supported for file gateways.

File gateways require AWS Security Token Service (AWS STS) to be activated to enable you to create a file share. Make sure that AWS STS is activated in the AWS Region you are creating your file gateway in. If AWS STS is not activated in this AWS Region, activate it. For information about how to activate AWS STS, see Activating and deactivating AWS STS in an AWS Region in the AWS Identity and Access Management User Guide.

File gateways don't support creating hard or symbolic links on a file share.

", + "CreateSnapshot": "

Initiates a snapshot of a volume.

AWS Storage Gateway provides the ability to back up point-in-time snapshots of your data to Amazon Simple Storage (Amazon S3) for durable off-site recovery, as well as import the data to an Amazon Elastic Block Store (EBS) volume in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway volume on a scheduled or ad hoc basis. This API enables you to take an ad hoc snapshot. For more information, see Editing a snapshot schedule.

In the CreateSnapshot request, you identify the volume by providing its Amazon Resource Name (ARN). You must also provide description for the snapshot. When AWS Storage Gateway takes the snapshot of specified volume, the snapshot and description appears in the AWS Storage Gateway console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot. This operation is only supported in stored and cached volume gateway type.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, see DescribeSnapshots or DeleteSnapshot in the Amazon Elastic Compute Cloud API Reference.

Volume and snapshot IDs are changing to a longer length ID format. For more information, see the important note on the Welcome page.

", "CreateSnapshotFromVolumeRecoveryPoint": "

Initiates a snapshot of a gateway from a volume recovery point. This operation is only supported in the cached volume gateway type.

A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot. To get a list of volume recovery point for cached volume gateway, use ListVolumeRecoveryPoints.

In the CreateSnapshotFromVolumeRecoveryPoint request, you identify the volume by providing its Amazon Resource Name (ARN). You must also provide a description for the snapshot. When the gateway takes a snapshot of the specified volume, the snapshot and its description appear in the AWS Storage Gateway console. In response, the gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, see DescribeSnapshots or DeleteSnapshot in the Amazon Elastic Compute Cloud API Reference.

", - "CreateStorediSCSIVolume": "

Creates a volume on a specified gateway. This operation is only supported in the stored volume gateway type.

The size of the volume to create is inferred from the disk size. You can choose to preserve existing data on the disk, create volume from an existing snapshot, or create an empty volume. If you choose to create an empty gateway volume, then any existing data on the disk is erased.

In the request you must specify the gateway and the disk information on which you are creating the volume. In response, the gateway creates the volume and returns volume information such as the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target.

", - "CreateTapeWithBarcode": "

Creates a virtual tape by using your own barcode. You write data to the virtual tape and then archive the tape. A barcode is unique and can not be reused if it has already been used on a tape. This applies to barcodes used on deleted tapes. This operation is only supported in the tape gateway type.

Cache storage must be allocated to the gateway before you can create a virtual tape. Use the AddCache operation to add cache storage to a gateway.

", + "CreateStorediSCSIVolume": "

Creates a volume on a specified gateway. This operation is only supported in the stored volume gateway type.

The size of the volume to create is inferred from the disk size. You can choose to preserve existing data on the disk, create volume from an existing snapshot, or create an empty volume. If you choose to create an empty gateway volume, then any existing data on the disk is erased.

In the request, you must specify the gateway and the disk information on which you are creating the volume. In response, the gateway creates the volume and returns volume information such as the volume Amazon Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target.

", + "CreateTapePool": "

Creates a new custom tape pool. You can use custom tape pool to enable tape retention lock on tapes that are archived in the custom pool.

", + "CreateTapeWithBarcode": "

Creates a virtual tape by using your own barcode. You write data to the virtual tape and then archive the tape. A barcode is unique and cannot be reused if it has already been used on a tape. This applies to barcodes used on deleted tapes. This operation is only supported in the tape gateway type.

Cache storage must be allocated to the gateway before you can create a virtual tape. Use the AddCache operation to add cache storage to a gateway.

", "CreateTapes": "

Creates one or more virtual tapes. You write data to the virtual tapes and then archive the tapes. This operation is only supported in the tape gateway type.

Cache storage must be allocated to the gateway before you can create virtual tapes. Use the AddCache operation to add cache storage to a gateway.

", "DeleteAutomaticTapeCreationPolicy": "

Deletes the automatic tape creation policy of a gateway. If you delete this policy, new virtual tapes must be created manually. Use the Amazon Resource Name (ARN) of the gateway in your request to remove the policy.

", "DeleteBandwidthRateLimit": "

Deletes the bandwidth rate limits of a gateway. You can delete either the upload and download bandwidth rate limit, or you can delete both. If you delete only one of the limits, the other limit remains unchanged. To specify which gateway to work with, use the Amazon Resource Name (ARN) of the gateway in your request. This operation is supported for the stored volume, cached volume and tape gateway types.

", "DeleteChapCredentials": "

Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target and initiator pair. This operation is supported in volume and tape gateway types.

", "DeleteFileShare": "

Deletes a file share from a file gateway. This operation is only supported for file gateways.

", "DeleteGateway": "

Deletes a gateway. To specify which gateway to delete, use the Amazon Resource Name (ARN) of the gateway in your request. The operation deletes the gateway; however, it does not delete the gateway virtual machine (VM) from your host computer.

After you delete a gateway, you cannot reactivate it. Completed snapshots of the gateway volumes are not deleted upon deleting the gateway, however, pending snapshots will not complete. After you delete a gateway, your next step is to remove it from your environment.

You no longer pay software charges after the gateway is deleted; however, your existing Amazon EBS snapshots persist and you will continue to be billed for these snapshots. You can choose to remove all remaining Amazon EBS snapshots by canceling your Amazon EC2 subscription.  If you prefer not to cancel your Amazon EC2 subscription, you can delete your snapshots using the Amazon EC2 console. For more information, see the AWS Storage Gateway detail page.

", - "DeleteSnapshotSchedule": "

Deletes a snapshot of a volume.

You can take snapshots of your gateway volumes on a scheduled or ad hoc basis. This API action enables you to delete a snapshot schedule for a volume. For more information, see Backing up your volumes. In the DeleteSnapshotSchedule request, you identify the volume by providing its Amazon Resource Name (ARN). This operation is only supported in stored and cached volume gateway types.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, go to DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

", + "DeleteSnapshotSchedule": "

Deletes a snapshot of a volume.

You can take snapshots of your gateway volumes on a scheduled or ad hoc basis. This API action enables you to delete a snapshot schedule for a volume. For more information, see Backing up your volumes. In the DeleteSnapshotSchedule request, you identify the volume by providing its Amazon Resource Name (ARN). This operation is only supported in stored and cached volume gateway types.

To list or delete a snapshot, you must use the Amazon EC2 API. For more information, go to DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

", "DeleteTape": "

Deletes the specified virtual tape. This operation is only supported in the tape gateway type.

", "DeleteTapeArchive": "

Deletes the specified virtual tape from the virtual tape shelf (VTS). This operation is only supported in the tape gateway type.

", + "DeleteTapePool": "

Delete a custom tape pool. A custom tape pool can only be deleted if there are no tapes in the pool and if there are no automatic tape creation policies that reference the custom tape pool.

", "DeleteVolume": "

Deletes the specified storage volume that you previously created using the CreateCachediSCSIVolume or CreateStorediSCSIVolume API. This operation is only supported in the cached volume and stored volume types. For stored volume gateways, the local disk that was configured as the storage volume is not deleted. You can reuse the local disk to create another storage volume.

Before you delete a volume, make sure there are no iSCSI connections to the volume you are deleting. You should also make sure there is no snapshot in progress. You can use the Amazon Elastic Compute Cloud (Amazon EC2) API to query snapshots on the volume you are deleting and check the snapshot status. For more information, go to DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

In the request, you must provide the Amazon Resource Name (ARN) of the storage volume you want to delete.

", "DescribeAvailabilityMonitorTest": "

Returns information about the most recent High Availability monitoring test that was performed on the host in a cluster. If a test isn't performed, the status and start time in the response would be null.

", - "DescribeBandwidthRateLimit": "

Returns the bandwidth rate limits of a gateway. By default, these limits are not set, which means no bandwidth rate limiting is in effect. This operation is supported for the stored volume, cached volume and tape gateway types.

This operation only returns a value for a bandwidth rate limit only if the limit is set. If no limits are set for the gateway, then this operation returns only the gateway ARN in the response body. To specify which gateway to describe, use the Amazon Resource Name (ARN) of the gateway in your request.

", + "DescribeBandwidthRateLimit": "

Returns the bandwidth rate limits of a gateway. By default, these limits are not set, which means no bandwidth rate limiting is in effect. This operation is supported for the stored volume, cached volume, and tape gateway types.

This operation only returns a value for a bandwidth rate limit only if the limit is set. If no limits are set for the gateway, then this operation returns only the gateway ARN in the response body. To specify which gateway to describe, use the Amazon Resource Name (ARN) of the gateway in your request.

", "DescribeCache": "

Returns information about the cache of a gateway. This operation is only supported in the cached volume, tape, and file gateway types.

The response includes disk IDs that are configured as cache, and it includes the amount of cache allocated and used.

", "DescribeCachediSCSIVolumes": "

Returns a description of the gateway volumes specified in the request. This operation is only supported in the cached volume gateway types.

The list of gateway volumes in the request must be from one gateway. In the response, AWS Storage Gateway returns volume information sorted by volume Amazon Resource Name (ARN).

", "DescribeChapCredentials": "

Returns an array of Challenge-Handshake Authentication Protocol (CHAP) credentials information for a specified iSCSI target, one for each target-initiator pair. This operation is supported in the volume and tape gateway types.

", @@ -54,6 +56,7 @@ "ListGateways": "

Lists gateways owned by an AWS account in an AWS Region specified in the request. The returned list is ordered by gateway Amazon Resource Name (ARN).

By default, the operation returns a maximum of 100 gateways. This operation supports pagination that allows you to optionally reduce the number of gateways returned in a response.

If you have more gateways than are returned in a response (that is, the response returns only a truncated list of your gateways), the response contains a marker that you can specify in your next request to fetch the next page of gateways.

", "ListLocalDisks": "

Returns a list of the gateway's local disks. To specify which gateway to describe, you use the Amazon Resource Name (ARN) of the gateway in the body of the request.

The request returns a list of all disks, specifying which are configured as working storage, cache storage, or stored volume or not configured at all. The response includes a DiskStatus field. This field can have a value of present (the disk is available to use), missing (the disk is no longer connected to the gateway), or mismatch (the disk node is occupied by a disk that has incorrect metadata or the disk content is corrupted).

", "ListTagsForResource": "

Lists the tags that have been added to the specified resource. This operation is supported in storage gateways of all types.

", + "ListTapePools": "

Lists custom tape pools. You specify custom tape pools to list by specifying one or more custom tape pool Amazon Resource Names (ARNs). If you don't specify a custom tape pool ARN, the operation lists all custom tape pools.

This operation supports pagination. You can optionally specify the Limit parameter in the body to limit the number of tape pools in the response. If the number of tape pools returned in the response is truncated, the response includes a Marker element that you can use in your subsequent request to retrieve the next set of tape pools.

", "ListTapes": "

Lists virtual tapes in your virtual tape library (VTL) and your virtual tape shelf (VTS). You specify the tapes to list by specifying one or more tape Amazon Resource Names (ARNs). If you don't specify a tape ARN, the operation lists all virtual tapes in both your VTL and VTS.

This operation supports pagination. By default, the operation returns a maximum of up to 100 tapes. You can optionally specify the Limit parameter in the body to limit the number of tapes in the response. If the number of tapes returned in the response is truncated, the response includes a Marker element that you can use in your subsequent request to retrieve the next set of tapes. This operation is only supported in the tape gateway type.

", "ListVolumeInitiators": "

Lists iSCSI initiators that are connected to a volume. You can use this operation to determine whether a volume is being used or not. This operation is only supported in the cached volume and stored volume gateway types.

", "ListVolumeRecoveryPoints": "

Lists the recovery points for a specified gateway. This operation is only supported in the cached volume gateway type.

Each cache volume has one recovery point. A volume recovery point is a point in time at which all data of the volume is consistent and from which you can create a snapshot or clone a new cached volume from a source volume. To create a snapshot from a volume recovery point use the CreateSnapshotFromVolumeRecoveryPoint operation.

", @@ -72,7 +75,7 @@ "UpdateAutomaticTapeCreationPolicy": "

Updates the automatic tape creation policy of a gateway. Use this to update the policy with a new set of automatic tape creation rules. This is only supported for tape gateways.

By default, there is no automatic tape creation policy.

A gateway can have only one automatic tape creation policy.

", "UpdateBandwidthRateLimit": "

Updates the bandwidth rate limits of a gateway. You can update both the upload and download bandwidth rate limit or specify only one of the two. If you don't set a bandwidth rate limit, the existing rate limit remains. This operation is supported for the stored volume, cached volume, and tape gateway types.

By default, a gateway's bandwidth rate limits are not set. If you don't set any limit, the gateway does not have any limitations on its bandwidth usage and could potentially use the maximum available bandwidth.

To specify which gateway to update, use the Amazon Resource Name (ARN) of the gateway in your request.

", "UpdateChapCredentials": "

Updates the Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target. By default, a gateway does not have CHAP enabled; however, for added security, you might use it. This operation is supported in the volume and tape gateway types.

When you update CHAP credentials, all existing connections on the target are closed and initiators must reconnect with the new credentials.

", - "UpdateGatewayInformation": "

Updates a gateway's metadata, which includes the gateway's name and time zone. To specify which gateway to update, use the Amazon Resource Name (ARN) of the gateway in your request.

For Gateways activated after September 2, 2015, the gateway's ARN contains the gateway ID rather than the gateway name. However, changing the name of the gateway has no effect on the gateway's ARN.

", + "UpdateGatewayInformation": "

Updates a gateway's metadata, which includes the gateway's name and time zone. To specify which gateway to update, use the Amazon Resource Name (ARN) of the gateway in your request.

For gateways activated after September 2, 2015, the gateway's ARN contains the gateway ID rather than the gateway name. However, changing the name of the gateway has no effect on the gateway's ARN.

", "UpdateGatewaySoftwareNow": "

Updates the gateway virtual machine (VM) software. The request immediately triggers the software update.

When you make this request, you get a 200 OK success response immediately. However, it might take some time for the update to complete. You can call DescribeGatewayInformation to verify the gateway is in the STATE_RUNNING state.

A software update forces a system restart of your gateway. You can minimize the chance of any disruption to your applications by increasing your iSCSI Initiators' timeouts. For more information about increasing iSCSI Initiator timeouts for Windows and Linux, see Customizing your Windows iSCSI settings and Customizing your Linux iSCSI settings, respectively.

", "UpdateMaintenanceStartTime": "

Updates a gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is the time in your gateway's time zone.

", "UpdateNFSFileShare": "

Updates a Network File System (NFS) file share. This operation is only supported in the file gateway type.

To leave a file share field unchanged, set the corresponding input field to null.

Updates the following file share setting:

To leave a file share field unchanged, set the corresponding input field to null. This operation is only supported in file gateways.

", @@ -193,7 +196,7 @@ } }, "AutomaticTapeCreationRule": { - "base": "

An automatic tape creation policy consists of automatic tape creation rules where each rule defines when and how to create new tapes.

", + "base": "

An automatic tape creation policy consists of automatic tape creation rules where each rule defines when and how to create new tapes. For more information about automatic tape creation, see Creating Tapes Automatically.

", "refs": { "AutomaticTapeCreationRules$member": null } @@ -221,7 +224,7 @@ "BandwidthType": { "base": null, "refs": { - "DeleteBandwidthRateLimitInput$BandwidthType": "

One of the BandwidthType values that indicates the gateway bandwidth rate limit to delete.

Valid Values: Upload | Download | All

" + "DeleteBandwidthRateLimitInput$BandwidthType": "

One of the BandwidthType values that indicates the gateway bandwidth rate limit to delete.

Valid Values: UPLOAD | DOWNLOAD | ALL

" } }, "BandwidthUploadRateLimit": { @@ -341,7 +344,7 @@ "base": null, "refs": { "ChapInfo$SecretToAuthenticateInitiator": "

The secret key that the initiator (for example, the Windows client) must provide to participate in mutual CHAP with the target.

", - "ChapInfo$SecretToAuthenticateTarget": "

The secret key that the target must provide to participate in mutual CHAP with the initiator (e.g. Windows client).

", + "ChapInfo$SecretToAuthenticateTarget": "

The secret key that the target must provide to participate in mutual CHAP with the initiator (e.g., Windows client).

", "UpdateChapCredentialsInput$SecretToAuthenticateInitiator": "

The secret key that the initiator (for example, the Windows client) must provide to participate in mutual CHAP with the target.

The secret key must be between 12 and 16 bytes when encoded in UTF-8.

", "UpdateChapCredentialsInput$SecretToAuthenticateTarget": "

The secret key that the target must provide to participate in mutual CHAP with the initiator (e.g. Windows client).

Byte constraints: Minimum bytes of 12. Maximum bytes of 16.

The secret key must be between 12 and 16 bytes when encoded in UTF-8.

" } @@ -358,8 +361,8 @@ "CloudWatchLogGroupARN": { "base": null, "refs": { - "DescribeGatewayInformationOutput$CloudWatchLogGroupARN": "

The Amazon Resource Name (ARN) of the Amazon CloudWatch Log Group that is used to monitor events in the gateway.

", - "UpdateGatewayInformationInput$CloudWatchLogGroupARN": "

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that you want to use to monitor and log events in the gateway.

For more information, see What is Amazon CloudWatch logs?.

" + "DescribeGatewayInformationOutput$CloudWatchLogGroupARN": "

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is used to monitor events in the gateway.

", + "UpdateGatewayInformationInput$CloudWatchLogGroupARN": "

The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that you want to use to monitor and log events in the gateway.

For more information, see What is Amazon CloudWatch Logs?

" } }, "CreateCachediSCSIVolumeInput": { @@ -422,6 +425,16 @@ "refs": { } }, + "CreateTapePoolInput": { + "base": null, + "refs": { + } + }, + "CreateTapePoolOutput": { + "base": null, + "refs": { + } + }, "CreateTapeWithBarcodeInput": { "base": "

CreateTapeWithBarcodeInput

", "refs": { @@ -445,8 +458,8 @@ "CreatedDate": { "base": null, "refs": { - "CachediSCSIVolume$CreatedDate": "

The date the volume was created. Volumes created prior to March 28, 2017 don’t have this time stamp.

", - "StorediSCSIVolume$CreatedDate": "

The date the volume was created. Volumes created prior to March 28, 2017 don’t have this time stamp.

" + "CachediSCSIVolume$CreatedDate": "

The date the volume was created. Volumes created prior to March 28, 2017 don’t have this timestamp.

", + "StorediSCSIVolume$CreatedDate": "

The date the volume was created. Volumes created prior to March 28, 2017 don’t have this timestamp.

" } }, "DayOfMonth": { @@ -543,6 +556,16 @@ "refs": { } }, + "DeleteTapePoolInput": { + "base": null, + "refs": { + } + }, + "DeleteTapePoolOutput": { + "base": null, + "refs": { + } + }, "DeleteVolumeInput": { "base": "

A JSON object containing the DeleteVolumeInput$VolumeARN to delete.

", "refs": { @@ -759,7 +782,7 @@ "DeviceType": { "base": null, "refs": { - "UpdateVTLDeviceTypeInput$DeviceType": "

The type of medium changer you want to select.

Valid Values: STK-L700 | AWS-Gateway-VTL

" + "UpdateVTLDeviceTypeInput$DeviceType": "

The type of medium changer you want to select.

Valid Values: STK-L700 | AWS-Gateway-VTL | IBM-03584L32-0402

" } }, "DeviceiSCSIAttributes": { @@ -1303,6 +1326,16 @@ "refs": { } }, + "ListTapePoolsInput": { + "base": null, + "refs": { + } + }, + "ListTapePoolsOutput": { + "base": null, + "refs": { + } + }, "ListTapesInput": { "base": "

A JSON object that contains one or more of the following fields:

", "refs": { @@ -1376,6 +1409,8 @@ "ListGatewaysOutput$Marker": "

Use the marker in your next request to fetch the next set of gateways in the list. If there are no more gateways to list, this field does not appear in the response.

", "ListTagsForResourceInput$Marker": "

An opaque string that indicates the position at which to begin returning the list of tags.

", "ListTagsForResourceOutput$Marker": "

An opaque string that indicates the position at which to stop returning the list of tags.

", + "ListTapePoolsInput$Marker": "

A string that indicates the position at which to begin the returned list of tape pools.

", + "ListTapePoolsOutput$Marker": "

A string that indicates the position at which to begin the returned list of tape pools. Use the marker in your next request to continue pagination of tape pools. If there are no more tape pools to list, this element does not appear in the response body.

", "ListTapesInput$Marker": "

A string that indicates the position at which to begin the returned list of tapes.

", "ListTapesOutput$Marker": "

A string that indicates the position at which to begin returning the next list of tapes. Use the marker in your next request to continue pagination of tapes. If there are no more tapes to list, this element does not appear in the response body.

", "ListVolumesInput$Marker": "

A string that indicates the position at which to begin the returned list of volumes. Obtain the marker from the response of a previous List iSCSI Volumes request.

", @@ -1385,13 +1420,13 @@ "MediumChangerType": { "base": null, "refs": { - "ActivateGatewayInput$MediumChangerType": "

The value that indicates the type of medium changer to use for tape gateway. This field is optional.

Valid Values: STK-L700 | AWS-Gateway-VTL

" + "ActivateGatewayInput$MediumChangerType": "

The value that indicates the type of medium changer to use for tape gateway. This field is optional.

Valid Values: STK-L700 | AWS-Gateway-VTL | IBM-03584L32-0402

" } }, "MinimumNumTapes": { "base": null, "refs": { - "AutomaticTapeCreationRule$MinimumNumTapes": "

The minimum number of available virtual tapes that the gateway maintains at all times. If the number of tapes on the gateway goes below this value, the gateway creates as many new tapes as are needed to have MinimumNumTapes on the gateway.

" + "AutomaticTapeCreationRule$MinimumNumTapes": "

The minimum number of available virtual tapes that the gateway maintains at all times. If the number of tapes on the gateway goes below this value, the gateway creates as many new tapes as are needed to have MinimumNumTapes on the gateway. For more information about automatic tape creation, see Creating Tapes Automatically.

" } }, "MinuteOfHour": { @@ -1504,6 +1539,22 @@ "NFSFileShareDefaults$DirectoryMode": "

The Unix directory mode in the form \"nnnn\". For example, 0666 represents the default access mode for all directories inside the file share. The default value is 0777.

" } }, + "PoolARN": { + "base": null, + "refs": { + "CreateTapePoolOutput$PoolARN": "

The unique Amazon Resource Name (ARN) that represents the custom tape pool. Use the ListTapePools operation to return a list of tape pools for your account and AWS Region.

", + "DeleteTapePoolInput$PoolARN": "

The Amazon Resource Name (ARN) of the custom tape pool to delete.

", + "DeleteTapePoolOutput$PoolARN": "

The Amazon Resource Name (ARN) of the custom tape pool being deleted.

", + "PoolARNs$member": null, + "PoolInfo$PoolARN": "

The Amazon Resource Name (ARN) of the custom tape pool. Use the ListTapePools operation to return a list of custom tape pools for your account and AWS Region.

" + } + }, + "PoolARNs": { + "base": null, + "refs": { + "ListTapePoolsInput$PoolARNs": "

The Amazon Resource Name (ARN) of each of the custom tape pools you want to list. If you don't specify a custom tape pool ARN, the response lists all custom tape pools.

" + } + }, "PoolId": { "base": null, "refs": { @@ -1516,6 +1567,31 @@ "TapeInfo$PoolId": "

The ID of the pool that you want to add your tape to for archiving. The tape in this pool is archived in the S3 storage class that is associated with the pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

Valid Values: GLACIER | DEEP_ARCHIVE

" } }, + "PoolInfo": { + "base": "

Describes a custom tape pool.

", + "refs": { + "PoolInfos$member": null + } + }, + "PoolInfos": { + "base": null, + "refs": { + "ListTapePoolsOutput$PoolInfos": "

An array of PoolInfo objects, where each object describes a single custom tape pool. If there are no custom tape pools, the PoolInfos is an empty array.

" + } + }, + "PoolName": { + "base": null, + "refs": { + "CreateTapePoolInput$PoolName": "

The name of the new custom tape pool.

", + "PoolInfo$PoolName": "

The name of the custom tape pool. PoolName can use all ASCII characters, except '/' and '\\'.

" + } + }, + "PoolStatus": { + "base": null, + "refs": { + "PoolInfo$PoolStatus": "

Status of the custom tape pool. Pool can be ACTIVE or DELETED.

" + } + }, "PositiveIntObject": { "base": null, "refs": { @@ -1526,6 +1602,7 @@ "ListFileSharesInput$Limit": "

The maximum number of file shares to return in the response. The value must be an integer with a value greater than zero. Optional.

", "ListGatewaysInput$Limit": "

Specifies that the list of gateways returned be limited to the specified number of items.

", "ListTagsForResourceInput$Limit": "

Specifies that the list of tags returned be limited to the specified number of items.

", + "ListTapePoolsInput$Limit": "

An optional number limit for the tape pools in the list returned by this call.

", "ListTapesInput$Limit": "

An optional number limit for the tapes in the list returned by this call.

", "ListVolumesInput$Limit": "

Specifies that the list of volumes returned be limited to the specified number of items.

", "VolumeiSCSIAttributes$LunNumber": "

The logical disk number.

" @@ -1580,11 +1657,25 @@ "AddTagsToResourceInput$ResourceARN": "

The Amazon Resource Name (ARN) of the resource you want to add tags to.

", "AddTagsToResourceOutput$ResourceARN": "

The Amazon Resource Name (ARN) of the resource you want to add tags to.

", "ListTagsForResourceInput$ResourceARN": "

The Amazon Resource Name (ARN) of the resource for which you want to list tags.

", - "ListTagsForResourceOutput$ResourceARN": "

he Amazon Resource Name (ARN) of the resource for which you want to list tags.

", + "ListTagsForResourceOutput$ResourceARN": "

The Amazon Resource Name (ARN) of the resource for which you want to list tags.

", "RemoveTagsFromResourceInput$ResourceARN": "

The Amazon Resource Name (ARN) of the resource you want to remove the tags from.

", "RemoveTagsFromResourceOutput$ResourceARN": "

The Amazon Resource Name (ARN) of the resource that the tags were removed from.

" } }, + "RetentionLockTimeInDays": { + "base": null, + "refs": { + "CreateTapePoolInput$RetentionLockTimeInDays": "

Tape retention lock time is set in days. Tape retention lock can be enabled for up to 100 years (36,500 days).

", + "PoolInfo$RetentionLockTimeInDays": "

Tape retention lock time is set in days. Tape retention lock can be enabled for up to 100 years (36,500 days).

" + } + }, + "RetentionLockType": { + "base": null, + "refs": { + "CreateTapePoolInput$RetentionLockType": "

Tape retention lock can be configured in two modes. When configured in governance mode, AWS accounts with specific IAM permissions are authorized to remove the tape retention lock from archived virtual tapes. When configured in compliance mode, the tape retention lock cannot be removed by any user, including the root AWS account.

", + "PoolInfo$RetentionLockType": "

Tape retention lock type, which can be configured in two modes. When configured in governance mode, AWS accounts with specific IAM permissions are authorized to remove the tape retention lock from archived virtual tapes. When configured in compliance mode, the tape retention lock cannot be removed by any user, including the root AWS account.

" + } + }, "RetrieveTapeArchiveInput": { "base": "

RetrieveTapeArchiveInput

", "refs": { @@ -1684,7 +1775,7 @@ "SnapshotId": { "base": null, "refs": { - "CachediSCSIVolume$SourceSnapshotId": "

If the cached volume was created from a snapshot, this field contains the snapshot ID used, e.g. snap-78e22663. Otherwise, this field is not included.

", + "CachediSCSIVolume$SourceSnapshotId": "

If the cached volume was created from a snapshot, this field contains the snapshot ID used, e.g., snap-78e22663. Otherwise, this field is not included.

", "CreateCachediSCSIVolumeInput$SnapshotId": "

The snapshot ID (e.g. \"snap-1122aabb\") of the snapshot to restore as the new cached volume. Specify this field if you want to create the iSCSI storage volume from a snapshot; otherwise, do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

", "CreateSnapshotFromVolumeRecoveryPointOutput$SnapshotId": "

The ID of the snapshot.

", "CreateSnapshotOutput$SnapshotId": "

The snapshot ID that is used to refer to the snapshot in future operations such as describing snapshots (Amazon Elastic Compute Cloud API DescribeSnapshots) or creating a volume from a snapshot (CreateStorediSCSIVolume).

", @@ -1793,6 +1884,7 @@ "CreateSnapshotFromVolumeRecoveryPointInput$Tags": "

A list of up to 50 tags that can be assigned to a snapshot. Each tag is a key-value pair.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

", "CreateSnapshotInput$Tags": "

A list of up to 50 tags that can be assigned to a snapshot. Each tag is a key-value pair.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

", "CreateStorediSCSIVolumeInput$Tags": "

A list of up to 50 tags that can be assigned to a stored volume. Each tag is a key-value pair.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

", + "CreateTapePoolInput$Tags": "

A list of up to 50 tags that can be assigned to tape pool. Each tag is a key-value pair.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

", "CreateTapeWithBarcodeInput$Tags": "

A list of up to 50 tags that can be assigned to a virtual tape that has a barcode. Each tag is a key-value pair.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

", "CreateTapesInput$Tags": "

A list of up to 50 tags that can be assigned to a virtual tape. Each tag is a key-value pair.

Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @. The maximum length of a tag's key is 128 characters, and the maximum length for a tag's value is 256.

", "DescribeGatewayInformationOutput$Tags": "

A list of up to 50 tags assigned to the gateway, sorted alphabetically by key name. Each tag is a key-value pair. For a gateway with more than 10 tags assigned, you can view all tags using the ListTagsForResource API operation.

", @@ -1932,6 +2024,13 @@ "TapeInfo$TapeStatus": "

The status of the tape.

" } }, + "TapeStorageClass": { + "base": null, + "refs": { + "CreateTapePoolInput$StorageClass": "

The storage class that is associated with the new custom pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

", + "PoolInfo$StorageClass": "

The storage class that is associated with the custom pool. When you use your backup application to eject the tape, the tape is archived directly into the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool.

" + } + }, "TapeUsage": { "base": null, "refs": { @@ -1976,9 +2075,15 @@ "refs": { "DescribeAvailabilityMonitorTestOutput$StartTime": "

The time the High Availability monitoring test was started. If a test hasn't been performed, the value of this field is null.

", "Tape$TapeCreatedDate": "

The date the virtual tape was created.

", + "Tape$RetentionStartDate": "

The date that the tape is first archived with tape retention lock enabled.

", + "Tape$PoolEntryDate": "

The date that the tape enters a custom tape pool.

", "TapeArchive$TapeCreatedDate": "

The date the virtual tape was created.

", - "TapeArchive$CompletionTime": "

The time that the archiving of the virtual tape was completed.

The default time stamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.

", - "TapeRecoveryPointInfo$TapeRecoveryPointTime": "

The time when the point-in-time view of the virtual tape was replicated for later recovery.

The default time stamp format of the tape recovery point time is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.

" + "TapeArchive$CompletionTime": "

The time that the archiving of the virtual tape was completed.

The default timestamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.

", + "TapeArchive$RetentionStartDate": "

If the archived tape is subject to tape retention lock, the date that the archived tape started being retained.

", + "TapeArchive$PoolEntryDate": "

The time that the tape entered the custom tape pool.

The default timestamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.

", + "TapeInfo$RetentionStartDate": "

The date that the tape became subject to tape retention lock.

", + "TapeInfo$PoolEntryDate": "

The date that the tape entered the custom tape pool with tape retention lock enabled.

", + "TapeRecoveryPointInfo$TapeRecoveryPointTime": "

The time when the point-in-time view of the virtual tape was replicated for later recovery.

The default timestamp format of the tape recovery point time is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' format.

" } }, "TimeoutInSeconds": { @@ -2191,8 +2296,8 @@ "VolumeId": { "base": null, "refs": { - "CachediSCSIVolume$VolumeId": "

The unique identifier of the volume, e.g. vol-AE4B946D.

", - "StorediSCSIVolume$VolumeId": "

The unique identifier of the volume, e.g. vol-AE4B946D.

", + "CachediSCSIVolume$VolumeId": "

The unique identifier of the volume, e.g., vol-AE4B946D.

", + "StorediSCSIVolume$VolumeId": "

The unique identifier of the volume, e.g., vol-AE4B946D.

", "VolumeInfo$VolumeId": "

The unique identifier assigned to the volume. This ID becomes part of the volume Amazon Resource Name (ARN), which you use as input for other operations.

Valid Values: 50 to 500 lowercase letters, numbers, periods (.), and hyphens (-).

" } }, @@ -2252,12 +2357,20 @@ "boolean": { "base": null, "refs": { + "AssignTapePoolInput$BypassGovernanceRetention": "

Set permissions to bypass governance retention. If the lock type of the archived tape is Governance, the tape's archived age is not older than RetentionLockInDays, and the user does not already have BypassGovernanceRetention, setting this to TRUE enables the user to bypass the retention lock. This parameter is set to true by default for calls from the console.

Valid values: TRUE | FALSE

", + "AutomaticTapeCreationRule$Worm": "

Set to true to indicate that tapes are to be archived as write-once-read-many (WORM). Set to false when WORM is not enabled for tapes.

", "CreateStorediSCSIVolumeInput$PreserveExistingData": "

Set to true true if you want to preserve the data on the local disk. Otherwise, set to false to create an empty volume.

Valid Values: true | false

", + "CreateTapeWithBarcodeInput$Worm": "

Set to TRUE if the tape you are creating is to be configured as a write-once-read-many (WORM) tape.

", + "CreateTapesInput$Worm": "

Set to TRUE if the tape you are creating is to be configured as a write-once-read-many (WORM) tape.

", "DeleteFileShareInput$ForceDelete": "

If this value is set to true, the operation deletes a file share immediately and aborts all data uploads to AWS. Otherwise, the file share is not deleted until all data is uploaded to AWS. This process aborts the data upload process, and the file share enters the FORCE_DELETING status.

Valid Values: true | false

", + "DeleteTapeArchiveInput$BypassGovernanceRetention": "

Set to TRUE to delete an archived tape that belongs to a custom pool with tape retention lock. Only archived tapes with tape retention lock set to governance can be deleted. Archived tapes with tape retention lock set to compliance can't be deleted.

", + "DeleteTapeInput$BypassGovernanceRetention": "

Set to TRUE to delete an archived tape that belongs to a custom pool with tape retention lock. Only archived tapes with tape retention lock set to governance can be deleted. Archived tapes with tape retention lock set to compliance can't be deleted.

", "DeviceiSCSIAttributes$ChapEnabled": "

Indicates whether mutual CHAP is enabled for the iSCSI target.

", "NFSFileShareInfo$KMSEncrypted": "

Set to true to use Amazon S3 server-side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

Valid Values: true | false

", "SMBFileShareInfo$KMSEncrypted": "

Set to true to use Amazon S3 server-side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

Valid Values: true | false

", "StorediSCSIVolume$PreservedExistingData": "

Indicates if when the stored volume was created, existing data on the underlying local disk was preserved.

Valid Values: true | false

", + "Tape$Worm": "

If the tape is archived as write-once-read-many (WORM), this value is true.

", + "TapeArchive$Worm": "

Set to true if the archived tape is stored as write-once-read-many (WORM).

", "VolumeiSCSIAttributes$ChapEnabled": "

Indicates whether mutual CHAP is enabled for the iSCSI target.

" } }, diff --git a/models/apis/transcribe-streaming/2017-10-26/api-2.json b/models/apis/transcribe-streaming/2017-10-26/api-2.json index 7faad86a31..3dcb1c1266 100755 --- a/models/apis/transcribe-streaming/2017-10-26/api-2.json +++ b/models/apis/transcribe-streaming/2017-10-26/api-2.json @@ -93,7 +93,8 @@ "EndTime":{"shape":"Double"}, "Type":{"shape":"ItemType"}, "Content":{"shape":"String"}, - "VocabularyFilterMatch":{"shape":"Boolean"} + "VocabularyFilterMatch":{"shape":"Boolean"}, + "Speaker":{"shape":"String"} } }, "ItemList":{ @@ -206,6 +207,11 @@ "shape":"VocabularyFilterMethod", "location":"header", "locationName":"x-amzn-transcribe-vocabulary-filter-method" + }, + "ShowSpeakerLabel":{ + "shape":"Boolean", + "location":"header", + "locationName":"x-amzn-transcribe-show-speaker-label" } }, "payload":"AudioStream" @@ -253,6 +259,11 @@ "shape":"VocabularyFilterMethod", "location":"header", "locationName":"x-amzn-transcribe-vocabulary-filter-method" + }, + "ShowSpeakerLabel":{ + "shape":"Boolean", + "location":"header", + "locationName":"x-amzn-transcribe-show-speaker-label" } }, "payload":"TranscriptResultStream" diff --git a/models/apis/transcribe-streaming/2017-10-26/docs-2.json b/models/apis/transcribe-streaming/2017-10-26/docs-2.json index ed3a52fd4f..26c1716151 100755 --- a/models/apis/transcribe-streaming/2017-10-26/docs-2.json +++ b/models/apis/transcribe-streaming/2017-10-26/docs-2.json @@ -45,7 +45,9 @@ "base": null, "refs": { "Item$VocabularyFilterMatch": "

Indicates whether a word in the item matches a word in the vocabulary filter you've chosen for your real-time stream. If true then a word in the item matches your vocabulary filter.

", - "Result$IsPartial": "

Amazon Transcribe divides the incoming audio stream into segments at natural points in the audio. Transcription results are returned based on these segments.

The IsPartial field is true to indicate that Amazon Transcribe has additional transcription data to send, false to indicate that this is the last transcription result for the segment.

" + "Result$IsPartial": "

Amazon Transcribe divides the incoming audio stream into segments at natural points in the audio. Transcription results are returned based on these segments.

The IsPartial field is true to indicate that Amazon Transcribe has additional transcription data to send, false to indicate that this is the last transcription result for the segment.

", + "StartStreamTranscriptionRequest$ShowSpeakerLabel": "

When true, enables speaker identification in your real-time stream.

", + "StartStreamTranscriptionResponse$ShowSpeakerLabel": "

Shows whether speaker identification was enabled in the stream.

" } }, "ConflictException": { @@ -103,7 +105,7 @@ "MediaEncoding": { "base": null, "refs": { - "StartStreamTranscriptionRequest$MediaEncoding": "

The encoding used for the input audio.

", + "StartStreamTranscriptionRequest$MediaEncoding": "

The encoding used for the input audio. pcm is the only valid value.

", "StartStreamTranscriptionResponse$MediaEncoding": "

The encoding used for the input audio stream.

" } }, @@ -163,6 +165,7 @@ "ConflictException$Message": null, "InternalFailureException$Message": null, "Item$Content": "

The word or punctuation that was recognized in the input audio.

", + "Item$Speaker": "

If speaker identification is enabled, shows the speakers identified in the real-time stream.

", "LimitExceededException$Message": null, "Result$ResultId": "

A unique identifier for the result.

", "ServiceUnavailableException$Message": null @@ -196,7 +199,7 @@ "VocabularyFilterName": { "base": null, "refs": { - "StartStreamTranscriptionRequest$VocabularyFilterName": "

The name of the vocabulary filter you've created that is unique to your AWS accountf. Provide the name in this field to successfully use it in a stream.

", + "StartStreamTranscriptionRequest$VocabularyFilterName": "

The name of the vocabulary filter you've created that is unique to your AWS account. Provide the name in this field to successfully use it in a stream.

", "StartStreamTranscriptionResponse$VocabularyFilterName": "

The name of the vocabulary filter used in your real-time stream.

" } }, diff --git a/models/endpoints/endpoints.json b/models/endpoints/endpoints.json index fffaf1cc04..3ba364830a 100644 --- a/models/endpoints/endpoints.json +++ b/models/endpoints/endpoints.json @@ -5108,6 +5108,7 @@ "protocols" : [ "https" ] }, "endpoints" : { + "af-south-1" : { }, "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, @@ -5117,6 +5118,7 @@ "ca-central-1" : { }, "eu-central-1" : { }, "eu-north-1" : { }, + "eu-south-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "eu-west-3" : { }, diff --git a/service/ivs/api.go b/service/ivs/api.go index 2807c0ccea..7588112403 100644 --- a/service/ivs/api.go +++ b/service/ivs/api.go @@ -424,6 +424,92 @@ func (c *IVS) DeleteChannelWithContext(ctx aws.Context, input *DeleteChannelInpu return out, req.Send() } +const opDeletePlaybackKeyPair = "DeletePlaybackKeyPair" + +// DeletePlaybackKeyPairRequest generates a "aws/request.Request" representing the +// client's request for the DeletePlaybackKeyPair operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeletePlaybackKeyPair for more information on using the DeletePlaybackKeyPair +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeletePlaybackKeyPairRequest method. +// req, resp := client.DeletePlaybackKeyPairRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/DeletePlaybackKeyPair +func (c *IVS) DeletePlaybackKeyPairRequest(input *DeletePlaybackKeyPairInput) (req *request.Request, output *DeletePlaybackKeyPairOutput) { + op := &request.Operation{ + Name: opDeletePlaybackKeyPair, + HTTPMethod: "POST", + HTTPPath: "/DeletePlaybackKeyPair", + } + + if input == nil { + input = &DeletePlaybackKeyPairInput{} + } + + output = &DeletePlaybackKeyPairOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeletePlaybackKeyPair API operation for Amazon Interactive Video Service. +// +// Deletes a specified authorization key pair. This invalidates future viewer +// tokens generated using the key pair’s privateKey. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Interactive Video Service's +// API operation DeletePlaybackKeyPair for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * PendingVerification +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/DeletePlaybackKeyPair +func (c *IVS) DeletePlaybackKeyPair(input *DeletePlaybackKeyPairInput) (*DeletePlaybackKeyPairOutput, error) { + req, out := c.DeletePlaybackKeyPairRequest(input) + return out, req.Send() +} + +// DeletePlaybackKeyPairWithContext is the same as DeletePlaybackKeyPair with the addition of +// the ability to pass a context and additional request options. +// +// See DeletePlaybackKeyPair for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IVS) DeletePlaybackKeyPairWithContext(ctx aws.Context, input *DeletePlaybackKeyPairInput, opts ...request.Option) (*DeletePlaybackKeyPairOutput, error) { + req, out := c.DeletePlaybackKeyPairRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteStreamKey = "DeleteStreamKey" // DeleteStreamKeyRequest generates a "aws/request.Request" representing the @@ -592,6 +678,90 @@ func (c *IVS) GetChannelWithContext(ctx aws.Context, input *GetChannelInput, opt return out, req.Send() } +const opGetPlaybackKeyPair = "GetPlaybackKeyPair" + +// GetPlaybackKeyPairRequest generates a "aws/request.Request" representing the +// client's request for the GetPlaybackKeyPair operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See GetPlaybackKeyPair for more information on using the GetPlaybackKeyPair +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the GetPlaybackKeyPairRequest method. +// req, resp := client.GetPlaybackKeyPairRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetPlaybackKeyPair +func (c *IVS) GetPlaybackKeyPairRequest(input *GetPlaybackKeyPairInput) (req *request.Request, output *GetPlaybackKeyPairOutput) { + op := &request.Operation{ + Name: opGetPlaybackKeyPair, + HTTPMethod: "POST", + HTTPPath: "/GetPlaybackKeyPair", + } + + if input == nil { + input = &GetPlaybackKeyPairInput{} + } + + output = &GetPlaybackKeyPairOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetPlaybackKeyPair API operation for Amazon Interactive Video Service. +// +// Gets a specified playback authorization key pair and returns the arn and +// fingerprint. The privateKey held by the caller can be used to generate viewer +// authorization tokens, to grant viewers access to authorized channels. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Interactive Video Service's +// API operation GetPlaybackKeyPair for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/GetPlaybackKeyPair +func (c *IVS) GetPlaybackKeyPair(input *GetPlaybackKeyPairInput) (*GetPlaybackKeyPairOutput, error) { + req, out := c.GetPlaybackKeyPairRequest(input) + return out, req.Send() +} + +// GetPlaybackKeyPairWithContext is the same as GetPlaybackKeyPair with the addition of +// the ability to pass a context and additional request options. +// +// See GetPlaybackKeyPair for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IVS) GetPlaybackKeyPairWithContext(ctx aws.Context, input *GetPlaybackKeyPairInput, opts ...request.Option) (*GetPlaybackKeyPairOutput, error) { + req, out := c.GetPlaybackKeyPairRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetStream = "GetStream" // GetStreamRequest generates a "aws/request.Request" representing the @@ -758,6 +928,94 @@ func (c *IVS) GetStreamKeyWithContext(ctx aws.Context, input *GetStreamKeyInput, return out, req.Send() } +const opImportPlaybackKeyPair = "ImportPlaybackKeyPair" + +// ImportPlaybackKeyPairRequest generates a "aws/request.Request" representing the +// client's request for the ImportPlaybackKeyPair operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ImportPlaybackKeyPair for more information on using the ImportPlaybackKeyPair +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ImportPlaybackKeyPairRequest method. +// req, resp := client.ImportPlaybackKeyPairRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ImportPlaybackKeyPair +func (c *IVS) ImportPlaybackKeyPairRequest(input *ImportPlaybackKeyPairInput) (req *request.Request, output *ImportPlaybackKeyPairOutput) { + op := &request.Operation{ + Name: opImportPlaybackKeyPair, + HTTPMethod: "POST", + HTTPPath: "/ImportPlaybackKeyPair", + } + + if input == nil { + input = &ImportPlaybackKeyPairInput{} + } + + output = &ImportPlaybackKeyPairOutput{} + req = c.newRequest(op, input, output) + return +} + +// ImportPlaybackKeyPair API operation for Amazon Interactive Video Service. +// +// Imports the public portion of a new key pair and returns its arn and fingerprint. +// The privateKey can then be used to generate viewer authorization tokens, +// to grant viewers access to authorized channels. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Interactive Video Service's +// API operation ImportPlaybackKeyPair for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * ConflictException +// +// * AccessDeniedException +// +// * ServiceQuotaExceededException +// +// * PendingVerification +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ImportPlaybackKeyPair +func (c *IVS) ImportPlaybackKeyPair(input *ImportPlaybackKeyPairInput) (*ImportPlaybackKeyPairOutput, error) { + req, out := c.ImportPlaybackKeyPairRequest(input) + return out, req.Send() +} + +// ImportPlaybackKeyPairWithContext is the same as ImportPlaybackKeyPair with the addition of +// the ability to pass a context and additional request options. +// +// See ImportPlaybackKeyPair for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IVS) ImportPlaybackKeyPairWithContext(ctx aws.Context, input *ImportPlaybackKeyPairInput, opts ...request.Option) (*ImportPlaybackKeyPairOutput, error) { + req, out := c.ImportPlaybackKeyPairRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListChannels = "ListChannels" // ListChannelsRequest generates a "aws/request.Request" representing the @@ -898,6 +1156,144 @@ func (c *IVS) ListChannelsPagesWithContext(ctx aws.Context, input *ListChannelsI return p.Err() } +const opListPlaybackKeyPairs = "ListPlaybackKeyPairs" + +// ListPlaybackKeyPairsRequest generates a "aws/request.Request" representing the +// client's request for the ListPlaybackKeyPairs operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListPlaybackKeyPairs for more information on using the ListPlaybackKeyPairs +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListPlaybackKeyPairsRequest method. +// req, resp := client.ListPlaybackKeyPairsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListPlaybackKeyPairs +func (c *IVS) ListPlaybackKeyPairsRequest(input *ListPlaybackKeyPairsInput) (req *request.Request, output *ListPlaybackKeyPairsOutput) { + op := &request.Operation{ + Name: opListPlaybackKeyPairs, + HTTPMethod: "POST", + HTTPPath: "/ListPlaybackKeyPairs", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListPlaybackKeyPairsInput{} + } + + output = &ListPlaybackKeyPairsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListPlaybackKeyPairs API operation for Amazon Interactive Video Service. +// +// Gets summary information about playback key pairs. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon Interactive Video Service's +// API operation ListPlaybackKeyPairs for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * AccessDeniedException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/ivs-2020-07-14/ListPlaybackKeyPairs +func (c *IVS) ListPlaybackKeyPairs(input *ListPlaybackKeyPairsInput) (*ListPlaybackKeyPairsOutput, error) { + req, out := c.ListPlaybackKeyPairsRequest(input) + return out, req.Send() +} + +// ListPlaybackKeyPairsWithContext is the same as ListPlaybackKeyPairs with the addition of +// the ability to pass a context and additional request options. +// +// See ListPlaybackKeyPairs for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IVS) ListPlaybackKeyPairsWithContext(ctx aws.Context, input *ListPlaybackKeyPairsInput, opts ...request.Option) (*ListPlaybackKeyPairsOutput, error) { + req, out := c.ListPlaybackKeyPairsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListPlaybackKeyPairsPages iterates over the pages of a ListPlaybackKeyPairs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPlaybackKeyPairs method for more information on how to use this operation. +// +// Note: This operation can generate multiple requests to a service. +// +// // Example iterating over at most 3 pages of a ListPlaybackKeyPairs operation. +// pageNum := 0 +// err := client.ListPlaybackKeyPairsPages(params, +// func(page *ivs.ListPlaybackKeyPairsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IVS) ListPlaybackKeyPairsPages(input *ListPlaybackKeyPairsInput, fn func(*ListPlaybackKeyPairsOutput, bool) bool) error { + return c.ListPlaybackKeyPairsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListPlaybackKeyPairsPagesWithContext same as ListPlaybackKeyPairsPages except +// it takes a Context and allows setting request options on the pages. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *IVS) ListPlaybackKeyPairsPagesWithContext(ctx aws.Context, input *ListPlaybackKeyPairsInput, fn func(*ListPlaybackKeyPairsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPlaybackKeyPairsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPlaybackKeyPairsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPlaybackKeyPairsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListStreamKeys = "ListStreamKeys" // ListStreamKeysRequest generates a "aws/request.Request" representing the @@ -2000,6 +2396,9 @@ type Channel struct { // Channel ARN. Arn *string `locationName:"arn" min:"1" type:"string"` + // Whether the channel is authorized. + Authorized *bool `locationName:"authorized" type:"boolean"` + // Channel ingest endpoint, part of the definition of an ingest server, used // when you set up streaming software. IngestEndpoint *string `locationName:"ingestEndpoint" type:"string"` @@ -2049,6 +2448,12 @@ func (s *Channel) SetArn(v string) *Channel { return s } +// SetAuthorized sets the Authorized field's value. +func (s *Channel) SetAuthorized(v bool) *Channel { + s.Authorized = &v + return s +} + // SetIngestEndpoint sets the IngestEndpoint field's value. func (s *Channel) SetIngestEndpoint(v string) *Channel { s.IngestEndpoint = &v @@ -2150,6 +2555,9 @@ type ChannelSummary struct { // Channel ARN. Arn *string `locationName:"arn" min:"1" type:"string"` + // Whether the channel is authorized. + Authorized *bool `locationName:"authorized" type:"boolean"` + // Channel latency mode. Default: LOW. LatencyMode *string `locationName:"latencyMode" type:"string" enum:"ChannelLatencyMode"` @@ -2176,6 +2584,12 @@ func (s *ChannelSummary) SetArn(v string) *ChannelSummary { return s } +// SetAuthorized sets the Authorized field's value. +func (s *ChannelSummary) SetAuthorized(v bool) *ChannelSummary { + s.Authorized = &v + return s +} + // SetLatencyMode sets the LatencyMode field's value. func (s *ChannelSummary) SetLatencyMode(v string) *ChannelSummary { s.LatencyMode = &v @@ -2255,6 +2669,9 @@ func (s *ConflictException) RequestID() string { type CreateChannelInput struct { _ struct{} `type:"structure"` + // Whether the channel is authorized. Default: false. + Authorized *bool `locationName:"authorized" type:"boolean"` + // Channel latency mode. Default: LOW. LatencyMode *string `locationName:"latencyMode" type:"string" enum:"ChannelLatencyMode"` @@ -2291,6 +2708,12 @@ func (s CreateChannelInput) GoString() string { return s.String() } +// SetAuthorized sets the Authorized field's value. +func (s *CreateChannelInput) SetAuthorized(v bool) *CreateChannelInput { + s.Authorized = &v + return s +} + // SetLatencyMode sets the LatencyMode field's value. func (s *CreateChannelInput) SetLatencyMode(v string) *CreateChannelInput { s.LatencyMode = &v @@ -2420,28 +2843,83 @@ func (s *CreateStreamKeyOutput) SetStreamKey(v *StreamKey) *CreateStreamKeyOutpu return s } -type DeleteChannelInput struct { +type DeleteChannelInput struct { + _ struct{} `type:"structure"` + + // ARN of the channel to be deleted. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteChannelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteChannelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteChannelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *DeleteChannelInput) SetArn(v string) *DeleteChannelInput { + s.Arn = &v + return s +} + +type DeleteChannelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteChannelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteChannelOutput) GoString() string { + return s.String() +} + +type DeletePlaybackKeyPairInput struct { _ struct{} `type:"structure"` - // ARN of the channel to be deleted. + // ARN of the key pair to be deleted. // // Arn is a required field Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` } // String returns the string representation -func (s DeleteChannelInput) String() string { +func (s DeletePlaybackKeyPairInput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteChannelInput) GoString() string { +func (s DeletePlaybackKeyPairInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteChannelInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteChannelInput"} +func (s *DeletePlaybackKeyPairInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePlaybackKeyPairInput"} if s.Arn == nil { invalidParams.Add(request.NewErrParamRequired("Arn")) } @@ -2456,22 +2934,22 @@ func (s *DeleteChannelInput) Validate() error { } // SetArn sets the Arn field's value. -func (s *DeleteChannelInput) SetArn(v string) *DeleteChannelInput { +func (s *DeletePlaybackKeyPairInput) SetArn(v string) *DeletePlaybackKeyPairInput { s.Arn = &v return s } -type DeleteChannelOutput struct { +type DeletePlaybackKeyPairOutput struct { _ struct{} `type:"structure"` } // String returns the string representation -func (s DeleteChannelOutput) String() string { +func (s DeletePlaybackKeyPairOutput) String() string { return awsutil.Prettify(s) } // GoString returns the string representation -func (s DeleteChannelOutput) GoString() string { +func (s DeletePlaybackKeyPairOutput) GoString() string { return s.String() } @@ -2594,6 +3072,70 @@ func (s *GetChannelOutput) SetChannel(v *Channel) *GetChannelOutput { return s } +type GetPlaybackKeyPairInput struct { + _ struct{} `type:"structure"` + + // ARN of the key pair to be returned. + // + // Arn is a required field + Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetPlaybackKeyPairInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPlaybackKeyPairInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetPlaybackKeyPairInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPlaybackKeyPairInput"} + if s.Arn == nil { + invalidParams.Add(request.NewErrParamRequired("Arn")) + } + if s.Arn != nil && len(*s.Arn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Arn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetArn sets the Arn field's value. +func (s *GetPlaybackKeyPairInput) SetArn(v string) *GetPlaybackKeyPairInput { + s.Arn = &v + return s +} + +type GetPlaybackKeyPairOutput struct { + _ struct{} `type:"structure"` + + // A key pair used to sign and validate a playback authorization token. + KeyPair *PlaybackKeyPair `locationName:"keyPair" type:"structure"` +} + +// String returns the string representation +func (s GetPlaybackKeyPairOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetPlaybackKeyPairOutput) GoString() string { + return s.String() +} + +// SetKeyPair sets the KeyPair field's value. +func (s *GetPlaybackKeyPairOutput) SetKeyPair(v *PlaybackKeyPair) *GetPlaybackKeyPairOutput { + s.KeyPair = v + return s +} + type GetStreamInput struct { _ struct{} `type:"structure"` @@ -2722,6 +3264,86 @@ func (s *GetStreamOutput) SetStream(v *Stream) *GetStreamOutput { return s } +type ImportPlaybackKeyPairInput struct { + _ struct{} `type:"structure"` + + // An arbitrary string (a nickname) assigned to a playback key pair that helps + // the customer identify that resource. The value does not need to be unique. + Name *string `locationName:"name" type:"string"` + + // The public portion of a customer-generated key pair. + // + // PublicKeyMaterial is a required field + PublicKeyMaterial *string `locationName:"publicKeyMaterial" type:"string" required:"true"` + + // Any tags provided with the request are added to the playback key pair tags. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s ImportPlaybackKeyPairInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportPlaybackKeyPairInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ImportPlaybackKeyPairInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ImportPlaybackKeyPairInput"} + if s.PublicKeyMaterial == nil { + invalidParams.Add(request.NewErrParamRequired("PublicKeyMaterial")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *ImportPlaybackKeyPairInput) SetName(v string) *ImportPlaybackKeyPairInput { + s.Name = &v + return s +} + +// SetPublicKeyMaterial sets the PublicKeyMaterial field's value. +func (s *ImportPlaybackKeyPairInput) SetPublicKeyMaterial(v string) *ImportPlaybackKeyPairInput { + s.PublicKeyMaterial = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *ImportPlaybackKeyPairInput) SetTags(v map[string]*string) *ImportPlaybackKeyPairInput { + s.Tags = v + return s +} + +type ImportPlaybackKeyPairOutput struct { + _ struct{} `type:"structure"` + + // A key pair used to sign and validate a playback authorization token. + KeyPair *PlaybackKeyPair `locationName:"keyPair" type:"structure"` +} + +// String returns the string representation +func (s ImportPlaybackKeyPairOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ImportPlaybackKeyPairOutput) GoString() string { + return s.String() +} + +// SetKeyPair sets the KeyPair field's value. +func (s *ImportPlaybackKeyPairOutput) SetKeyPair(v *PlaybackKeyPair) *ImportPlaybackKeyPairOutput { + s.KeyPair = v + return s +} + type InternalServerException struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -2870,6 +3492,87 @@ func (s *ListChannelsOutput) SetNextToken(v string) *ListChannelsOutput { return s } +type ListPlaybackKeyPairsInput struct { + _ struct{} `type:"structure"` + + // The first key pair to retrieve. This is used for pagination; see the nextToken + // response field. + MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"` + + // Maximum number of key pairs to return. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListPlaybackKeyPairsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPlaybackKeyPairsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListPlaybackKeyPairsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPlaybackKeyPairsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListPlaybackKeyPairsInput) SetMaxResults(v int64) *ListPlaybackKeyPairsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPlaybackKeyPairsInput) SetNextToken(v string) *ListPlaybackKeyPairsInput { + s.NextToken = &v + return s +} + +type ListPlaybackKeyPairsOutput struct { + _ struct{} `type:"structure"` + + // List of key pairs. + // + // KeyPairs is a required field + KeyPairs []*PlaybackKeyPairSummary `locationName:"keyPairs" type:"list" required:"true"` + + // If there are more key pairs than maxResults, use nextToken in the request + // to get the next set. + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListPlaybackKeyPairsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListPlaybackKeyPairsOutput) GoString() string { + return s.String() +} + +// SetKeyPairs sets the KeyPairs field's value. +func (s *ListPlaybackKeyPairsOutput) SetKeyPairs(v []*PlaybackKeyPairSummary) *ListPlaybackKeyPairsOutput { + s.KeyPairs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPlaybackKeyPairsOutput) SetNextToken(v string) *ListPlaybackKeyPairsOutput { + s.NextToken = &v + return s +} + type ListStreamKeysInput struct { _ struct{} `type:"structure"` @@ -3203,6 +3906,99 @@ func (s *PendingVerification) RequestID() string { return s.RespMetadata.RequestID } +// A key pair used to sign and validate a playback authorization token. +type PlaybackKeyPair struct { + _ struct{} `type:"structure"` + + // Key-pair ARN. + Arn *string `locationName:"arn" min:"1" type:"string"` + + // Key-pair identifier. + Fingerprint *string `locationName:"fingerprint" type:"string"` + + // Key-pair name. + Name *string `locationName:"name" type:"string"` + + // Array of 1-50 maps, each of the form string:string (key:value). + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s PlaybackKeyPair) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PlaybackKeyPair) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *PlaybackKeyPair) SetArn(v string) *PlaybackKeyPair { + s.Arn = &v + return s +} + +// SetFingerprint sets the Fingerprint field's value. +func (s *PlaybackKeyPair) SetFingerprint(v string) *PlaybackKeyPair { + s.Fingerprint = &v + return s +} + +// SetName sets the Name field's value. +func (s *PlaybackKeyPair) SetName(v string) *PlaybackKeyPair { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *PlaybackKeyPair) SetTags(v map[string]*string) *PlaybackKeyPair { + s.Tags = v + return s +} + +// Summary information about a playback key pair. +type PlaybackKeyPairSummary struct { + _ struct{} `type:"structure"` + + // Key-pair ARN. + Arn *string `locationName:"arn" min:"1" type:"string"` + + // Key-pair name. + Name *string `locationName:"name" type:"string"` + + // Array of 1-50 maps, each of the form string:string (key:value) + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s PlaybackKeyPairSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PlaybackKeyPairSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *PlaybackKeyPairSummary) SetArn(v string) *PlaybackKeyPairSummary { + s.Arn = &v + return s +} + +// SetName sets the Name field's value. +func (s *PlaybackKeyPairSummary) SetName(v string) *PlaybackKeyPairSummary { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *PlaybackKeyPairSummary) SetTags(v map[string]*string) *PlaybackKeyPairSummary { + s.Tags = v + return s +} + type PutMetadataInput struct { _ struct{} `type:"structure"` @@ -3524,7 +4320,7 @@ type StreamKey struct { // Channel ARN for the stream. ChannelArn *string `locationName:"channelArn" min:"1" type:"string"` - // Array of 1-50 maps, each of the form string:string (key:value) + // Array of 1-50 maps, each of the form string:string (key:value). Tags map[string]*string `locationName:"tags" type:"map"` // Stream-key value. @@ -3575,7 +4371,7 @@ type StreamKeySummary struct { // Channel ARN for the stream. ChannelArn *string `locationName:"channelArn" min:"1" type:"string"` - // Array of 1-50 maps, each of the form string:string (key:value) + // Array of 1-50 maps, each of the form string:string (key:value). Tags map[string]*string `locationName:"tags" type:"map"` } @@ -3929,6 +4725,9 @@ type UpdateChannelInput struct { // Arn is a required field Arn *string `locationName:"arn" min:"1" type:"string" required:"true"` + // Whether the channel is authorized. Default: false. + Authorized *bool `locationName:"authorized" type:"boolean"` + // Channel latency mode. Default: LOW. LatencyMode *string `locationName:"latencyMode" type:"string" enum:"ChannelLatencyMode"` @@ -3984,6 +4783,12 @@ func (s *UpdateChannelInput) SetArn(v string) *UpdateChannelInput { return s } +// SetAuthorized sets the Authorized field's value. +func (s *UpdateChannelInput) SetAuthorized(v bool) *UpdateChannelInput { + s.Authorized = &v + return s +} + // SetLatencyMode sets the LatencyMode field's value. func (s *UpdateChannelInput) SetLatencyMode(v string) *UpdateChannelInput { s.LatencyMode = &v diff --git a/service/ivs/doc.go b/service/ivs/doc.go index 3715d47129..ddb0689bb1 100644 --- a/service/ivs/doc.go +++ b/service/ivs/doc.go @@ -61,6 +61,11 @@ // endpoints for more information. Treat the stream key like a secret, since // it allows anyone to stream to the channel. // +// * Playback key pair — Video playback may be restricted using playback-authorization +// tokens, which use public-key encryption. A playback key pair is the public-private +// pair of keys used to sign and validate the playback-authorization token. +// See the PlaybackKeyPair endpoints for more information. +// // Tagging // // A tag is a metadata label that you assign to an AWS resource. A tag comprises @@ -73,12 +78,10 @@ // related. You can also use tags to manage access (see Access Tags (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_tags.html)). // // The Amazon IVS API has these tag-related endpoints: TagResource, UntagResource, -// and ListTagsForResource. The following resources support tagging: Channels -// and Stream Keys. -// -// API Endpoints +// and ListTagsForResource. The following resources support tagging: Channels, +// Stream Keys, and Playback Key Pairs. // -// Channel: +// Channel Endpoints // // * CreateChannel — Creates a new channel and an associated stream key // to start streaming. @@ -98,7 +101,7 @@ // // * DeleteChannel — Deletes the specified channel. // -// StreamKey: +// StreamKey Endpoints // // * CreateStreamKey — Creates a stream key, used to initiate a stream, // for the specified channel ARN. @@ -113,7 +116,7 @@ // * DeleteStreamKey — Deletes the stream key for the specified ARN, so // it can no longer be used to stream. // -// Stream: +// Stream Endpoints // // * GetStream — Gets information about the active (live) stream on a specified // channel. @@ -129,7 +132,26 @@ // channel. A maximum of 5 requests per second per channel is allowed, each // with a maximum 1KB payload. // -// AWS Tags (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html): +// PlaybackKeyPair Endpoints +// +// * ImportPlaybackKeyPair — Imports the public portion of a new key pair +// and returns its arn and fingerprint. The privateKey can then be used to +// generate viewer authorization tokens, to grant viewers access to authorized +// channels. +// +// * GetPlaybackKeyPair — Gets a specified playback authorization key pair +// and returns the arn and fingerprint. The privateKey held by the caller +// can be used to generate viewer authorization tokens, to grant viewers +// access to authorized channels. +// +// * ListPlaybackKeyPairs — Gets summary information about playback key +// pairs. +// +// * DeletePlaybackKeyPair — Deletes a specified authorization key pair. +// This invalidates future viewer tokens generated using the key pair’s +// privateKey. +// +// AWS Tags Endpoints // // * TagResource — Adds or updates tags for the AWS resource with the specified // ARN. diff --git a/service/ivs/ivsiface/interface.go b/service/ivs/ivsiface/interface.go index 9a898c3924..895f18ba9c 100644 --- a/service/ivs/ivsiface/interface.go +++ b/service/ivs/ivsiface/interface.go @@ -80,6 +80,10 @@ type IVSAPI interface { DeleteChannelWithContext(aws.Context, *ivs.DeleteChannelInput, ...request.Option) (*ivs.DeleteChannelOutput, error) DeleteChannelRequest(*ivs.DeleteChannelInput) (*request.Request, *ivs.DeleteChannelOutput) + DeletePlaybackKeyPair(*ivs.DeletePlaybackKeyPairInput) (*ivs.DeletePlaybackKeyPairOutput, error) + DeletePlaybackKeyPairWithContext(aws.Context, *ivs.DeletePlaybackKeyPairInput, ...request.Option) (*ivs.DeletePlaybackKeyPairOutput, error) + DeletePlaybackKeyPairRequest(*ivs.DeletePlaybackKeyPairInput) (*request.Request, *ivs.DeletePlaybackKeyPairOutput) + DeleteStreamKey(*ivs.DeleteStreamKeyInput) (*ivs.DeleteStreamKeyOutput, error) DeleteStreamKeyWithContext(aws.Context, *ivs.DeleteStreamKeyInput, ...request.Option) (*ivs.DeleteStreamKeyOutput, error) DeleteStreamKeyRequest(*ivs.DeleteStreamKeyInput) (*request.Request, *ivs.DeleteStreamKeyOutput) @@ -88,6 +92,10 @@ type IVSAPI interface { GetChannelWithContext(aws.Context, *ivs.GetChannelInput, ...request.Option) (*ivs.GetChannelOutput, error) GetChannelRequest(*ivs.GetChannelInput) (*request.Request, *ivs.GetChannelOutput) + GetPlaybackKeyPair(*ivs.GetPlaybackKeyPairInput) (*ivs.GetPlaybackKeyPairOutput, error) + GetPlaybackKeyPairWithContext(aws.Context, *ivs.GetPlaybackKeyPairInput, ...request.Option) (*ivs.GetPlaybackKeyPairOutput, error) + GetPlaybackKeyPairRequest(*ivs.GetPlaybackKeyPairInput) (*request.Request, *ivs.GetPlaybackKeyPairOutput) + GetStream(*ivs.GetStreamInput) (*ivs.GetStreamOutput, error) GetStreamWithContext(aws.Context, *ivs.GetStreamInput, ...request.Option) (*ivs.GetStreamOutput, error) GetStreamRequest(*ivs.GetStreamInput) (*request.Request, *ivs.GetStreamOutput) @@ -96,6 +104,10 @@ type IVSAPI interface { GetStreamKeyWithContext(aws.Context, *ivs.GetStreamKeyInput, ...request.Option) (*ivs.GetStreamKeyOutput, error) GetStreamKeyRequest(*ivs.GetStreamKeyInput) (*request.Request, *ivs.GetStreamKeyOutput) + ImportPlaybackKeyPair(*ivs.ImportPlaybackKeyPairInput) (*ivs.ImportPlaybackKeyPairOutput, error) + ImportPlaybackKeyPairWithContext(aws.Context, *ivs.ImportPlaybackKeyPairInput, ...request.Option) (*ivs.ImportPlaybackKeyPairOutput, error) + ImportPlaybackKeyPairRequest(*ivs.ImportPlaybackKeyPairInput) (*request.Request, *ivs.ImportPlaybackKeyPairOutput) + ListChannels(*ivs.ListChannelsInput) (*ivs.ListChannelsOutput, error) ListChannelsWithContext(aws.Context, *ivs.ListChannelsInput, ...request.Option) (*ivs.ListChannelsOutput, error) ListChannelsRequest(*ivs.ListChannelsInput) (*request.Request, *ivs.ListChannelsOutput) @@ -103,6 +115,13 @@ type IVSAPI interface { ListChannelsPages(*ivs.ListChannelsInput, func(*ivs.ListChannelsOutput, bool) bool) error ListChannelsPagesWithContext(aws.Context, *ivs.ListChannelsInput, func(*ivs.ListChannelsOutput, bool) bool, ...request.Option) error + ListPlaybackKeyPairs(*ivs.ListPlaybackKeyPairsInput) (*ivs.ListPlaybackKeyPairsOutput, error) + ListPlaybackKeyPairsWithContext(aws.Context, *ivs.ListPlaybackKeyPairsInput, ...request.Option) (*ivs.ListPlaybackKeyPairsOutput, error) + ListPlaybackKeyPairsRequest(*ivs.ListPlaybackKeyPairsInput) (*request.Request, *ivs.ListPlaybackKeyPairsOutput) + + ListPlaybackKeyPairsPages(*ivs.ListPlaybackKeyPairsInput, func(*ivs.ListPlaybackKeyPairsOutput, bool) bool) error + ListPlaybackKeyPairsPagesWithContext(aws.Context, *ivs.ListPlaybackKeyPairsInput, func(*ivs.ListPlaybackKeyPairsOutput, bool) bool, ...request.Option) error + ListStreamKeys(*ivs.ListStreamKeysInput) (*ivs.ListStreamKeysOutput, error) ListStreamKeysWithContext(aws.Context, *ivs.ListStreamKeysInput, ...request.Option) (*ivs.ListStreamKeysOutput, error) ListStreamKeysRequest(*ivs.ListStreamKeysInput) (*request.Request, *ivs.ListStreamKeysOutput) diff --git a/service/lakeformation/api.go b/service/lakeformation/api.go index 2f21037627..b40ecb54eb 100644 --- a/service/lakeformation/api.go +++ b/service/lakeformation/api.go @@ -2157,6 +2157,35 @@ func (s *DescribeResourceOutput) SetResourceInfo(v *ResourceInfo) *DescribeResou return s } +// A structure containing the additional details to be returned in the AdditionalDetails +// attribute of PrincipalResourcePermissions. +// +// If a catalog resource is shared through AWS Resource Access Manager (AWS +// RAM), then there will exist a corresponding RAM share resource ARN. +type DetailsMap struct { + _ struct{} `type:"structure"` + + // A share resource ARN for a catalog resource shared through AWS Resource Access + // Manager (AWS RAM). + ResourceShare []*string `type:"list"` +} + +// String returns the string representation +func (s DetailsMap) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DetailsMap) GoString() string { + return s.String() +} + +// SetResourceShare sets the ResourceShare field's value. +func (s *DetailsMap) SetResourceShare(v []*string) *DetailsMap { + s.ResourceShare = v + return s +} + // A specified entity does not exist type EntityNotFoundException struct { _ struct{} `type:"structure"` @@ -3035,6 +3064,10 @@ func (s *PrincipalPermissions) SetPrincipal(v *DataLakePrincipal) *PrincipalPerm type PrincipalResourcePermissions struct { _ struct{} `type:"structure"` + // This attribute can be used to return any additional details of PrincipalResourcePermissions. + // Currently returns only as a RAM share resource ARN. + AdditionalDetails *DetailsMap `type:"structure"` + // The permissions to be granted or revoked on the resource. Permissions []*string `type:"list"` @@ -3059,6 +3092,12 @@ func (s PrincipalResourcePermissions) GoString() string { return s.String() } +// SetAdditionalDetails sets the AdditionalDetails field's value. +func (s *PrincipalResourcePermissions) SetAdditionalDetails(v *DetailsMap) *PrincipalResourcePermissions { + s.AdditionalDetails = v + return s +} + // SetPermissions sets the Permissions field's value. func (s *PrincipalResourcePermissions) SetPermissions(v []*string) *PrincipalResourcePermissions { s.Permissions = v diff --git a/service/organizations/api.go b/service/organizations/api.go index d58292ed2f..c9c961fd9c 100644 --- a/service/organizations/api.go +++ b/service/organizations/api.go @@ -7121,13 +7121,13 @@ func (c *Organizations) LeaveOrganizationRequest(input *LeaveOrganizationInput) // account. When you create an account in an organization using the AWS Organizations // console, API, or CLI commands, the information required of standalone // accounts is not automatically collected. For each account that you want -// to make standalone, you must do the following steps: Accept the end user -// license agreement (EULA) Choose a support plan Provide and verify the -// required contact information Provide a current payment method AWS uses -// the payment method to charge for any billable (not free tier) AWS activity -// that occurs while the account isn't attached to an organization. Follow -// the steps at To leave an organization when all required account information -// has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// to make standalone, you must perform the following steps. If any of the +// steps are already completed for this account, that step doesn't appear. +// Choose a support plan Provide and verify the required contact information +// Provide a current payment method AWS uses the payment method to charge +// for any billable (not free tier) AWS activity that occurs while the account +// isn't attached to an organization. Follow the steps at To leave an organization +// when all required account information has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) // in the AWS Organizations User Guide. // // * You can leave an organization only after you enable IAM user access @@ -12141,14 +12141,13 @@ func (c *Organizations) RemoveAccountFromOrganizationRequest(input *RemoveAccoun // create an account in an organization using the AWS Organizations console, // API, or CLI commands, the information required of standalone accounts is // not automatically collected. For an account that you want to make standalone, -// you must accept the end user license agreement (EULA), choose a support plan, -// provide and verify the required contact information, and provide a current -// payment method. AWS uses the payment method to charge for any billable (not -// free tier) AWS activity that occurs while the account isn't attached to an -// organization. To remove an account that doesn't yet have this information, -// you must sign in as the member account and follow the steps at To leave an -// organization when all required account information has not yet been provided -// (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) +// you must choose a support plan, provide and verify the required contact information, +// and provide a current payment method. AWS uses the payment method to charge +// for any billable (not free tier) AWS activity that occurs while the account +// isn't attached to an organization. To remove an account that doesn't yet +// have this information, you must sign in as the member account and follow +// the steps at To leave an organization when all required account information +// has not yet been provided (http://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_remove.html#leave-without-all-info) // in the AWS Organizations User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions diff --git a/service/servicecatalog/api.go b/service/servicecatalog/api.go index 8d3b963aca..7517e22219 100644 --- a/service/servicecatalog/api.go +++ b/service/servicecatalog/api.go @@ -16546,9 +16546,33 @@ type ProvisionedProductAttribute struct { // repeated request. IdempotencyToken *string `min:"1" type:"string"` + // The record identifier of the last request performed on this provisioned product + // of the following types: + // + // * ProvisionedProduct + // + // * UpdateProvisionedProduct + // + // * ExecuteProvisionedProductPlan + // + // * TerminateProvisionedProduct + LastProvisioningRecordId *string `min:"1" type:"string"` + // The record identifier of the last request performed on this provisioned product. LastRecordId *string `min:"1" type:"string"` + // The record identifier of the last successful request performed on this provisioned + // product of the following types: + // + // * ProvisionedProduct + // + // * UpdateProvisionedProduct + // + // * ExecuteProvisionedProductPlan + // + // * TerminateProvisionedProduct + LastSuccessfulProvisioningRecordId *string `min:"1" type:"string"` + // The user-friendly name of the provisioned product. Name *string `min:"1" type:"string"` @@ -16559,9 +16583,15 @@ type ProvisionedProductAttribute struct { // The product identifier. ProductId *string `min:"1" type:"string"` + // The name of the product. + ProductName *string `type:"string"` + // The identifier of the provisioning artifact. ProvisioningArtifactId *string `min:"1" type:"string"` + // The name of the provisioning artifact. + ProvisioningArtifactName *string `type:"string"` + // The current status of the provisioned product. // // * AVAILABLE - Stable state, ready to perform any operation. The most recent @@ -16636,12 +16666,24 @@ func (s *ProvisionedProductAttribute) SetIdempotencyToken(v string) *Provisioned return s } +// SetLastProvisioningRecordId sets the LastProvisioningRecordId field's value. +func (s *ProvisionedProductAttribute) SetLastProvisioningRecordId(v string) *ProvisionedProductAttribute { + s.LastProvisioningRecordId = &v + return s +} + // SetLastRecordId sets the LastRecordId field's value. func (s *ProvisionedProductAttribute) SetLastRecordId(v string) *ProvisionedProductAttribute { s.LastRecordId = &v return s } +// SetLastSuccessfulProvisioningRecordId sets the LastSuccessfulProvisioningRecordId field's value. +func (s *ProvisionedProductAttribute) SetLastSuccessfulProvisioningRecordId(v string) *ProvisionedProductAttribute { + s.LastSuccessfulProvisioningRecordId = &v + return s +} + // SetName sets the Name field's value. func (s *ProvisionedProductAttribute) SetName(v string) *ProvisionedProductAttribute { s.Name = &v @@ -16660,12 +16702,24 @@ func (s *ProvisionedProductAttribute) SetProductId(v string) *ProvisionedProduct return s } +// SetProductName sets the ProductName field's value. +func (s *ProvisionedProductAttribute) SetProductName(v string) *ProvisionedProductAttribute { + s.ProductName = &v + return s +} + // SetProvisioningArtifactId sets the ProvisioningArtifactId field's value. func (s *ProvisionedProductAttribute) SetProvisioningArtifactId(v string) *ProvisionedProductAttribute { s.ProvisioningArtifactId = &v return s } +// SetProvisioningArtifactName sets the ProvisioningArtifactName field's value. +func (s *ProvisionedProductAttribute) SetProvisioningArtifactName(v string) *ProvisionedProductAttribute { + s.ProvisioningArtifactName = &v + return s +} + // SetStatus sets the Status field's value. func (s *ProvisionedProductAttribute) SetStatus(v string) *ProvisionedProductAttribute { s.Status = &v @@ -16720,9 +16774,33 @@ type ProvisionedProductDetail struct { // repeated request. IdempotencyToken *string `min:"1" type:"string"` + // The record identifier of the last request performed on this provisioned product + // of the following types: + // + // * ProvisionedProduct + // + // * UpdateProvisionedProduct + // + // * ExecuteProvisionedProductPlan + // + // * TerminateProvisionedProduct + LastProvisioningRecordId *string `min:"1" type:"string"` + // The record identifier of the last request performed on this provisioned product. LastRecordId *string `type:"string"` + // The record identifier of the last successful request performed on this provisioned + // product of the following types: + // + // * ProvisionedProduct + // + // * UpdateProvisionedProduct + // + // * ExecuteProvisionedProductPlan + // + // * TerminateProvisionedProduct + LastSuccessfulProvisioningRecordId *string `min:"1" type:"string"` + // The user-friendly name of the provisioned product. Name *string `min:"1" type:"string"` @@ -16796,12 +16874,24 @@ func (s *ProvisionedProductDetail) SetIdempotencyToken(v string) *ProvisionedPro return s } +// SetLastProvisioningRecordId sets the LastProvisioningRecordId field's value. +func (s *ProvisionedProductDetail) SetLastProvisioningRecordId(v string) *ProvisionedProductDetail { + s.LastProvisioningRecordId = &v + return s +} + // SetLastRecordId sets the LastRecordId field's value. func (s *ProvisionedProductDetail) SetLastRecordId(v string) *ProvisionedProductDetail { s.LastRecordId = &v return s } +// SetLastSuccessfulProvisioningRecordId sets the LastSuccessfulProvisioningRecordId field's value. +func (s *ProvisionedProductDetail) SetLastSuccessfulProvisioningRecordId(v string) *ProvisionedProductDetail { + s.LastSuccessfulProvisioningRecordId = &v + return s +} + // SetName sets the Name field's value. func (s *ProvisionedProductDetail) SetName(v string) *ProvisionedProductDetail { s.Name = &v @@ -18802,7 +18892,8 @@ type SearchProvisionedProductsInput struct { // // When the key is SearchQuery, the searchable fields are arn, createdTime, // id, lastRecordId, idempotencyToken, name, physicalId, productId, provisioningArtifact, - // type, status, tags, userArn, and userArnSession. + // type, status, tags, userArn, userArnSession, lastProvisioningRecordId, lastSuccessfulProvisioningRecordId, + // productName, and provisioningArtifactName. // // Example: "SearchQuery":["status:AVAILABLE"] Filters map[string][]*string `type:"map"` diff --git a/service/storagegateway/api.go b/service/storagegateway/api.go index c37fd26b4c..64bc174c8a 100644 --- a/service/storagegateway/api.go +++ b/service/storagegateway/api.go @@ -1068,7 +1068,7 @@ func (c *StorageGateway) CreateSMBFileShareRequest(input *CreateSMBFileShareInpu // // Creates a Server Message Block (SMB) file share on an existing file gateway. // In Storage Gateway, a file share is a file system mount point backed by Amazon -// S3 cloud storage. Storage Gateway expose file shares using an SMB interface. +// S3 cloud storage. Storage Gateway exposes file shares using an SMB interface. // This operation is only supported for file gateways. // // File gateways require AWS Security Token Service (AWS STS) to be activated @@ -1168,13 +1168,13 @@ func (c *StorageGateway) CreateSnapshotRequest(input *CreateSnapshotInput) (req // of your data to Amazon Simple Storage (Amazon S3) for durable off-site recovery, // as well as import the data to an Amazon Elastic Block Store (EBS) volume // in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway -// volume on a scheduled or ad hoc basis. This API enables you to take ad-hoc -// snapshot. For more information, see Editing a snapshot schedule (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#SchedulingSnapshot). +// volume on a scheduled or ad hoc basis. This API enables you to take an ad +// hoc snapshot. For more information, see Editing a snapshot schedule (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#SchedulingSnapshot). // -// In the CreateSnapshot request you identify the volume by providing its Amazon +// In the CreateSnapshot request, you identify the volume by providing its Amazon // Resource Name (ARN). You must also provide description for the snapshot. // When AWS Storage Gateway takes the snapshot of specified volume, the snapshot -// and description appears in the AWS Storage Gateway Console. In response, +// and description appears in the AWS Storage Gateway console. In response, // AWS Storage Gateway returns you a snapshot ID. You can use this snapshot // ID to check the snapshot progress or later use it when you want to create // a volume from a snapshot. This operation is only supported in stored and @@ -1389,8 +1389,8 @@ func (c *StorageGateway) CreateStorediSCSIVolumeRequest(input *CreateStorediSCSI // snapshot, or create an empty volume. If you choose to create an empty gateway // volume, then any existing data on the disk is erased. // -// In the request you must specify the gateway and the disk information on which -// you are creating the volume. In response, the gateway creates the volume +// In the request, you must specify the gateway and the disk information on +// which you are creating the volume. In response, the gateway creates the volume // and returns volume information such as the volume Amazon Resource Name (ARN), // its size, and the iSCSI target ARN that initiators can use to connect to // the volume target. @@ -1433,6 +1433,91 @@ func (c *StorageGateway) CreateStorediSCSIVolumeWithContext(ctx aws.Context, inp return out, req.Send() } +const opCreateTapePool = "CreateTapePool" + +// CreateTapePoolRequest generates a "aws/request.Request" representing the +// client's request for the CreateTapePool operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateTapePool for more information on using the CreateTapePool +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the CreateTapePoolRequest method. +// req, resp := client.CreateTapePoolRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateTapePool +func (c *StorageGateway) CreateTapePoolRequest(input *CreateTapePoolInput) (req *request.Request, output *CreateTapePoolOutput) { + op := &request.Operation{ + Name: opCreateTapePool, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateTapePoolInput{} + } + + output = &CreateTapePoolOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTapePool API operation for AWS Storage Gateway. +// +// Creates a new custom tape pool. You can use custom tape pool to enable tape +// retention lock on tapes that are archived in the custom pool. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Storage Gateway's +// API operation CreateTapePool for usage and error information. +// +// Returned Error Types: +// * InvalidGatewayRequestException +// An exception occurred because an invalid gateway request was issued to the +// service. For more information, see the error and message fields. +// +// * InternalServerError +// An internal server error has occurred during the request. For more information, +// see the error and message fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateTapePool +func (c *StorageGateway) CreateTapePool(input *CreateTapePoolInput) (*CreateTapePoolOutput, error) { + req, out := c.CreateTapePoolRequest(input) + return out, req.Send() +} + +// CreateTapePoolWithContext is the same as CreateTapePool with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTapePool for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *StorageGateway) CreateTapePoolWithContext(ctx aws.Context, input *CreateTapePoolInput, opts ...request.Option) (*CreateTapePoolOutput, error) { + req, out := c.CreateTapePoolRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateTapeWithBarcode = "CreateTapeWithBarcode" // CreateTapeWithBarcodeRequest generates a "aws/request.Request" representing the @@ -1478,7 +1563,7 @@ func (c *StorageGateway) CreateTapeWithBarcodeRequest(input *CreateTapeWithBarco // CreateTapeWithBarcode API operation for AWS Storage Gateway. // // Creates a virtual tape by using your own barcode. You write data to the virtual -// tape and then archive the tape. A barcode is unique and can not be reused +// tape and then archive the tape. A barcode is unique and cannot be reused // if it has already been used on a tape. This applies to barcodes used on deleted // tapes. This operation is only supported in the tape gateway type. // @@ -2105,7 +2190,7 @@ func (c *StorageGateway) DeleteSnapshotScheduleRequest(input *DeleteSnapshotSche // // You can take snapshots of your gateway volumes on a scheduled or ad hoc basis. // This API action enables you to delete a snapshot schedule for a volume. For -// more information, see Backing up your volumes (https://docs.aws.amazon.com/storagegatewaylatest/userguide/backing-up-volumes.html). +// more information, see Backing up your volumes (https://docs.aws.amazon.com/storagegateway/latest/userguide/backing-up-volumes.html). // In the DeleteSnapshotSchedule request, you identify the volume by providing // its Amazon Resource Name (ARN). This operation is only supported in stored // and cached volume gateway types. @@ -2322,6 +2407,92 @@ func (c *StorageGateway) DeleteTapeArchiveWithContext(ctx aws.Context, input *De return out, req.Send() } +const opDeleteTapePool = "DeleteTapePool" + +// DeleteTapePoolRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTapePool operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteTapePool for more information on using the DeleteTapePool +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the DeleteTapePoolRequest method. +// req, resp := client.DeleteTapePoolRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteTapePool +func (c *StorageGateway) DeleteTapePoolRequest(input *DeleteTapePoolInput) (req *request.Request, output *DeleteTapePoolOutput) { + op := &request.Operation{ + Name: opDeleteTapePool, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteTapePoolInput{} + } + + output = &DeleteTapePoolOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteTapePool API operation for AWS Storage Gateway. +// +// Delete a custom tape pool. A custom tape pool can only be deleted if there +// are no tapes in the pool and if there are no automatic tape creation policies +// that reference the custom tape pool. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Storage Gateway's +// API operation DeleteTapePool for usage and error information. +// +// Returned Error Types: +// * InvalidGatewayRequestException +// An exception occurred because an invalid gateway request was issued to the +// service. For more information, see the error and message fields. +// +// * InternalServerError +// An internal server error has occurred during the request. For more information, +// see the error and message fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteTapePool +func (c *StorageGateway) DeleteTapePool(input *DeleteTapePoolInput) (*DeleteTapePoolOutput, error) { + req, out := c.DeleteTapePoolRequest(input) + return out, req.Send() +} + +// DeleteTapePoolWithContext is the same as DeleteTapePool with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTapePool for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *StorageGateway) DeleteTapePoolWithContext(ctx aws.Context, input *DeleteTapePoolInput, opts ...request.Option) (*DeleteTapePoolOutput, error) { + req, out := c.DeleteTapePoolRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteVolume = "DeleteVolume" // DeleteVolumeRequest generates a "aws/request.Request" representing the @@ -2552,7 +2723,7 @@ func (c *StorageGateway) DescribeBandwidthRateLimitRequest(input *DescribeBandwi // // Returns the bandwidth rate limits of a gateway. By default, these limits // are not set, which means no bandwidth rate limiting is in effect. This operation -// is supported for the stored volume, cached volume and tape gateway types. +// is supported for the stored volume, cached volume, and tape gateway types. // // This operation only returns a value for a bandwidth rate limit only if the // limit is set. If no limits are set for the gateway, then this operation returns @@ -5109,6 +5280,98 @@ func (c *StorageGateway) ListTagsForResourcePagesWithContext(ctx aws.Context, in return p.Err() } +const opListTapePools = "ListTapePools" + +// ListTapePoolsRequest generates a "aws/request.Request" representing the +// client's request for the ListTapePools operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListTapePools for more information on using the ListTapePools +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// +// // Example sending a request using the ListTapePoolsRequest method. +// req, resp := client.ListTapePoolsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListTapePools +func (c *StorageGateway) ListTapePoolsRequest(input *ListTapePoolsInput) (req *request.Request, output *ListTapePoolsOutput) { + op := &request.Operation{ + Name: opListTapePools, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListTapePoolsInput{} + } + + output = &ListTapePoolsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTapePools API operation for AWS Storage Gateway. +// +// Lists custom tape pools. You specify custom tape pools to list by specifying +// one or more custom tape pool Amazon Resource Names (ARNs). If you don't specify +// a custom tape pool ARN, the operation lists all custom tape pools. +// +// This operation supports pagination. You can optionally specify the Limit +// parameter in the body to limit the number of tape pools in the response. +// If the number of tape pools returned in the response is truncated, the response +// includes a Marker element that you can use in your subsequent request to +// retrieve the next set of tape pools. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Storage Gateway's +// API operation ListTapePools for usage and error information. +// +// Returned Error Types: +// * InvalidGatewayRequestException +// An exception occurred because an invalid gateway request was issued to the +// service. For more information, see the error and message fields. +// +// * InternalServerError +// An internal server error has occurred during the request. For more information, +// see the error and message fields. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListTapePools +func (c *StorageGateway) ListTapePools(input *ListTapePoolsInput) (*ListTapePoolsOutput, error) { + req, out := c.ListTapePoolsRequest(input) + return out, req.Send() +} + +// ListTapePoolsWithContext is the same as ListTapePools with the addition of +// the ability to pass a context and additional request options. +// +// See ListTapePools for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *StorageGateway) ListTapePoolsWithContext(ctx aws.Context, input *ListTapePoolsInput, opts ...request.Option) (*ListTapePoolsOutput, error) { + req, out := c.ListTapePoolsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListTapes = "ListTapes" // ListTapesRequest generates a "aws/request.Request" representing the @@ -6947,7 +7210,7 @@ func (c *StorageGateway) UpdateGatewayInformationRequest(input *UpdateGatewayInf // zone. To specify which gateway to update, use the Amazon Resource Name (ARN) // of the gateway in your request. // -// For Gateways activated after September 2, 2015, the gateway's ARN contains +// For gateways activated after September 2, 2015, the gateway's ARN contains // the gateway ID rather than the gateway name. However, changing the name of // the gateway has no effect on the gateway's ARN. // @@ -7711,7 +7974,7 @@ type ActivateGatewayInput struct { // The value that indicates the type of medium changer to use for tape gateway. // This field is optional. // - // Valid Values: STK-L700 | AWS-Gateway-VTL + // Valid Values: STK-L700 | AWS-Gateway-VTL | IBM-03584L32-0402 MediumChangerType *string `min:"2" type:"string"` // A list of up to 50 tags that you can assign to the gateway. Each tag is a @@ -8223,6 +8486,15 @@ func (s *AddWorkingStorageOutput) SetGatewayARN(v string) *AddWorkingStorageOutp type AssignTapePoolInput struct { _ struct{} `type:"structure"` + // Set permissions to bypass governance retention. If the lock type of the archived + // tape is Governance, the tape's archived age is not older than RetentionLockInDays, + // and the user does not already have BypassGovernanceRetention, setting this + // to TRUE enables the user to bypass the retention lock. This parameter is + // set to true by default for calls from the console. + // + // Valid values: TRUE | FALSE + BypassGovernanceRetention *bool `type:"boolean"` + // The ID of the pool that you want to add your tape to for archiving. The tape // in this pool is archived in the S3 storage class that is associated with // the pool. When you use your backup application to eject the tape, the tape @@ -8273,6 +8545,12 @@ func (s *AssignTapePoolInput) Validate() error { return nil } +// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value. +func (s *AssignTapePoolInput) SetBypassGovernanceRetention(v bool) *AssignTapePoolInput { + s.BypassGovernanceRetention = &v + return s +} + // SetPoolId sets the PoolId field's value. func (s *AssignTapePoolInput) SetPoolId(v string) *AssignTapePoolInput { s.PoolId = &v @@ -8491,14 +8769,16 @@ func (s *AutomaticTapeCreationPolicyInfo) SetGatewayARN(v string) *AutomaticTape } // An automatic tape creation policy consists of automatic tape creation rules -// where each rule defines when and how to create new tapes. +// where each rule defines when and how to create new tapes. For more information +// about automatic tape creation, see Creating Tapes Automatically (https://docs.aws.amazon.com/storagegateway/latest/userguide/GettingStartedCreateTapes.html#CreateTapesAutomatically). type AutomaticTapeCreationRule struct { _ struct{} `type:"structure"` // The minimum number of available virtual tapes that the gateway maintains // at all times. If the number of tapes on the gateway goes below this value, // the gateway creates as many new tapes as are needed to have MinimumNumTapes - // on the gateway. + // on the gateway. For more information about automatic tape creation, see Creating + // Tapes Automatically (https://docs.aws.amazon.com/storagegateway/latest/userguide/GettingStartedCreateTapes.html#CreateTapesAutomatically). // // MinimumNumTapes is a required field MinimumNumTapes *int64 `min:"1" type:"integer" required:"true"` @@ -8527,6 +8807,10 @@ type AutomaticTapeCreationRule struct { // // TapeSizeInBytes is a required field TapeSizeInBytes *int64 `type:"long" required:"true"` + + // Set to true to indicate that tapes are to be archived as write-once-read-many + // (WORM). Set to false when WORM is not enabled for tapes. + Worm *bool `type:"boolean"` } // String returns the string representation @@ -8594,6 +8878,12 @@ func (s *AutomaticTapeCreationRule) SetTapeSizeInBytes(v int64) *AutomaticTapeCr return s } +// SetWorm sets the Worm field's value. +func (s *AutomaticTapeCreationRule) SetWorm(v bool) *AutomaticTapeCreationRule { + s.Worm = &v + return s +} + // Lists refresh cache information. type CacheAttributes struct { _ struct{} `type:"structure"` @@ -8628,7 +8918,7 @@ type CachediSCSIVolume struct { _ struct{} `type:"structure"` // The date the volume was created. Volumes created prior to March 28, 2017 - // don’t have this time stamp. + // don’t have this timestamp. CreatedDate *time.Time `type:"timestamp"` // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used @@ -8637,7 +8927,7 @@ type CachediSCSIVolume struct { KMSKey *string `min:"7" type:"string"` // If the cached volume was created from a snapshot, this field contains the - // snapshot ID used, e.g. snap-78e22663. Otherwise, this field is not included. + // snapshot ID used, e.g., snap-78e22663. Otherwise, this field is not included. SourceSnapshotId *string `type:"string"` // The name of the iSCSI target used by an initiator to connect to a volume @@ -8657,7 +8947,7 @@ type CachediSCSIVolume struct { // gateway (https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#attach-detach-volume). VolumeAttachmentStatus *string `min:"3" type:"string"` - // The unique identifier of the volume, e.g. vol-AE4B946D. + // The unique identifier of the volume, e.g., vol-AE4B946D. VolumeId *string `min:"12" type:"string"` // Represents the percentage complete if the volume is restoring or bootstrapping @@ -8963,7 +9253,7 @@ type ChapInfo struct { SecretToAuthenticateInitiator *string `min:"1" type:"string" sensitive:"true"` // The secret key that the target must provide to participate in mutual CHAP - // with the initiator (e.g. Windows client). + // with the initiator (e.g., Windows client). SecretToAuthenticateTarget *string `min:"1" type:"string" sensitive:"true"` // The Amazon Resource Name (ARN) of the volume. @@ -10390,6 +10680,137 @@ func (s *CreateStorediSCSIVolumeOutput) SetVolumeSizeInBytes(v int64) *CreateSto return s } +type CreateTapePoolInput struct { + _ struct{} `type:"structure"` + + // The name of the new custom tape pool. + // + // PoolName is a required field + PoolName *string `min:"1" type:"string" required:"true"` + + // Tape retention lock time is set in days. Tape retention lock can be enabled + // for up to 100 years (36,500 days). + RetentionLockTimeInDays *int64 `type:"integer"` + + // Tape retention lock can be configured in two modes. When configured in governance + // mode, AWS accounts with specific IAM permissions are authorized to remove + // the tape retention lock from archived virtual tapes. When configured in compliance + // mode, the tape retention lock cannot be removed by any user, including the + // root AWS account. + RetentionLockType *string `type:"string" enum:"RetentionLockType"` + + // The storage class that is associated with the new custom pool. When you use + // your backup application to eject the tape, the tape is archived directly + // into the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds + // to the pool. + // + // StorageClass is a required field + StorageClass *string `type:"string" required:"true" enum:"TapeStorageClass"` + + // A list of up to 50 tags that can be assigned to tape pool. Each tag is a + // key-value pair. + // + // Valid characters for key and value are letters, spaces, and numbers representable + // in UTF-8 format, and the following special characters: + - = . _ : / @. The + // maximum length of a tag's key is 128 characters, and the maximum length for + // a tag's value is 256. + Tags []*Tag `type:"list"` +} + +// String returns the string representation +func (s CreateTapePoolInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTapePoolInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTapePoolInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTapePoolInput"} + if s.PoolName == nil { + invalidParams.Add(request.NewErrParamRequired("PoolName")) + } + if s.PoolName != nil && len(*s.PoolName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PoolName", 1)) + } + if s.StorageClass == nil { + invalidParams.Add(request.NewErrParamRequired("StorageClass")) + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPoolName sets the PoolName field's value. +func (s *CreateTapePoolInput) SetPoolName(v string) *CreateTapePoolInput { + s.PoolName = &v + return s +} + +// SetRetentionLockTimeInDays sets the RetentionLockTimeInDays field's value. +func (s *CreateTapePoolInput) SetRetentionLockTimeInDays(v int64) *CreateTapePoolInput { + s.RetentionLockTimeInDays = &v + return s +} + +// SetRetentionLockType sets the RetentionLockType field's value. +func (s *CreateTapePoolInput) SetRetentionLockType(v string) *CreateTapePoolInput { + s.RetentionLockType = &v + return s +} + +// SetStorageClass sets the StorageClass field's value. +func (s *CreateTapePoolInput) SetStorageClass(v string) *CreateTapePoolInput { + s.StorageClass = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateTapePoolInput) SetTags(v []*Tag) *CreateTapePoolInput { + s.Tags = v + return s +} + +type CreateTapePoolOutput struct { + _ struct{} `type:"structure"` + + // The unique Amazon Resource Name (ARN) that represents the custom tape pool. + // Use the ListTapePools operation to return a list of tape pools for your account + // and AWS Region. + PoolARN *string `min:"50" type:"string"` +} + +// String returns the string representation +func (s CreateTapePoolOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateTapePoolOutput) GoString() string { + return s.String() +} + +// SetPoolARN sets the PoolARN field's value. +func (s *CreateTapePoolOutput) SetPoolARN(v string) *CreateTapePoolOutput { + s.PoolARN = &v + return s +} + // CreateTapeWithBarcodeInput type CreateTapeWithBarcodeInput struct { _ struct{} `type:"structure"` @@ -10444,6 +10865,10 @@ type CreateTapeWithBarcodeInput struct { // // TapeSizeInBytes is a required field TapeSizeInBytes *int64 `type:"long" required:"true"` + + // Set to TRUE if the tape you are creating is to be configured as a write-once-read-many + // (WORM) tape. + Worm *bool `type:"boolean"` } // String returns the string representation @@ -10539,6 +10964,12 @@ func (s *CreateTapeWithBarcodeInput) SetTapeSizeInBytes(v int64) *CreateTapeWith return s } +// SetWorm sets the Worm field's value. +func (s *CreateTapeWithBarcodeInput) SetWorm(v bool) *CreateTapeWithBarcodeInput { + s.Worm = &v + return s +} + // CreateTapeOutput type CreateTapeWithBarcodeOutput struct { _ struct{} `type:"structure"` @@ -10632,6 +11063,10 @@ type CreateTapesInput struct { // // TapeSizeInBytes is a required field TapeSizeInBytes *int64 `type:"long" required:"true"` + + // Set to TRUE if the tape you are creating is to be configured as a write-once-read-many + // (WORM) tape. + Worm *bool `type:"boolean"` } // String returns the string representation @@ -10751,6 +11186,12 @@ func (s *CreateTapesInput) SetTapeSizeInBytes(v int64) *CreateTapesInput { return s } +// SetWorm sets the Worm field's value. +func (s *CreateTapesInput) SetWorm(v bool) *CreateTapesInput { + s.Worm = &v + return s +} + // CreateTapeOutput type CreateTapesOutput struct { _ struct{} `type:"structure"` @@ -10851,7 +11292,7 @@ type DeleteBandwidthRateLimitInput struct { // One of the BandwidthType values that indicates the gateway bandwidth rate // limit to delete. // - // Valid Values: Upload | Download | All + // Valid Values: UPLOAD | DOWNLOAD | ALL // // BandwidthType is a required field BandwidthType *string `min:"3" type:"string" required:"true"` @@ -11246,6 +11687,12 @@ func (s *DeleteSnapshotScheduleOutput) SetVolumeARN(v string) *DeleteSnapshotSch type DeleteTapeArchiveInput struct { _ struct{} `type:"structure"` + // Set to TRUE to delete an archived tape that belongs to a custom pool with + // tape retention lock. Only archived tapes with tape retention lock set to + // governance can be deleted. Archived tapes with tape retention lock set to + // compliance can't be deleted. + BypassGovernanceRetention *bool `type:"boolean"` + // The Amazon Resource Name (ARN) of the virtual tape to delete from the virtual // tape shelf (VTS). // @@ -11279,6 +11726,12 @@ func (s *DeleteTapeArchiveInput) Validate() error { return nil } +// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value. +func (s *DeleteTapeArchiveInput) SetBypassGovernanceRetention(v bool) *DeleteTapeArchiveInput { + s.BypassGovernanceRetention = &v + return s +} + // SetTapeARN sets the TapeARN field's value. func (s *DeleteTapeArchiveInput) SetTapeARN(v string) *DeleteTapeArchiveInput { s.TapeARN = &v @@ -11314,6 +11767,12 @@ func (s *DeleteTapeArchiveOutput) SetTapeARN(v string) *DeleteTapeArchiveOutput type DeleteTapeInput struct { _ struct{} `type:"structure"` + // Set to TRUE to delete an archived tape that belongs to a custom pool with + // tape retention lock. Only archived tapes with tape retention lock set to + // governance can be deleted. Archived tapes with tape retention lock set to + // compliance can't be deleted. + BypassGovernanceRetention *bool `type:"boolean"` + // The unique Amazon Resource Name (ARN) of the gateway that the virtual tape // to delete is associated with. Use the ListGateways operation to return a // list of gateways for your account and AWS Region. @@ -11359,6 +11818,12 @@ func (s *DeleteTapeInput) Validate() error { return nil } +// SetBypassGovernanceRetention sets the BypassGovernanceRetention field's value. +func (s *DeleteTapeInput) SetBypassGovernanceRetention(v bool) *DeleteTapeInput { + s.BypassGovernanceRetention = &v + return s +} + // SetGatewayARN sets the GatewayARN field's value. func (s *DeleteTapeInput) SetGatewayARN(v string) *DeleteTapeInput { s.GatewayARN = &v @@ -11395,6 +11860,70 @@ func (s *DeleteTapeOutput) SetTapeARN(v string) *DeleteTapeOutput { return s } +type DeleteTapePoolInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the custom tape pool to delete. + // + // PoolARN is a required field + PoolARN *string `min:"50" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteTapePoolInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTapePoolInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTapePoolInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTapePoolInput"} + if s.PoolARN == nil { + invalidParams.Add(request.NewErrParamRequired("PoolARN")) + } + if s.PoolARN != nil && len(*s.PoolARN) < 50 { + invalidParams.Add(request.NewErrParamMinLen("PoolARN", 50)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPoolARN sets the PoolARN field's value. +func (s *DeleteTapePoolInput) SetPoolARN(v string) *DeleteTapePoolInput { + s.PoolARN = &v + return s +} + +type DeleteTapePoolOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the custom tape pool being deleted. + PoolARN *string `min:"50" type:"string"` +} + +// String returns the string representation +func (s DeleteTapePoolOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteTapePoolOutput) GoString() string { + return s.String() +} + +// SetPoolARN sets the PoolARN field's value. +func (s *DeleteTapePoolOutput) SetPoolARN(v string) *DeleteTapePoolOutput { + s.PoolARN = &v + return s +} + // A JSON object containing the DeleteVolumeInput$VolumeARN to delete. type DeleteVolumeInput struct { _ struct{} `type:"structure"` @@ -11960,7 +12489,7 @@ func (s *DescribeGatewayInformationInput) SetGatewayARN(v string) *DescribeGatew type DescribeGatewayInformationOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the Amazon CloudWatch Log Group that is + // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that is // used to monitor events in the gateway. CloudWatchLogGroupARN *string `type:"string"` @@ -14639,7 +15168,7 @@ type ListTagsForResourceOutput struct { // list of tags. Marker *string `min:"1" type:"string"` - // he Amazon Resource Name (ARN) of the resource for which you want to list + // The Amazon Resource Name (ARN) of the resource for which you want to list // tags. ResourceARN *string `min:"50" type:"string"` @@ -14675,6 +15204,103 @@ func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput return s } +type ListTapePoolsInput struct { + _ struct{} `type:"structure"` + + // An optional number limit for the tape pools in the list returned by this + // call. + Limit *int64 `min:"1" type:"integer"` + + // A string that indicates the position at which to begin the returned list + // of tape pools. + Marker *string `min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of each of the custom tape pools you want + // to list. If you don't specify a custom tape pool ARN, the response lists + // all custom tape pools. + PoolARNs []*string `type:"list"` +} + +// String returns the string representation +func (s ListTapePoolsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTapePoolsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTapePoolsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTapePoolsInput"} + if s.Limit != nil && *s.Limit < 1 { + invalidParams.Add(request.NewErrParamMinValue("Limit", 1)) + } + if s.Marker != nil && len(*s.Marker) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Marker", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLimit sets the Limit field's value. +func (s *ListTapePoolsInput) SetLimit(v int64) *ListTapePoolsInput { + s.Limit = &v + return s +} + +// SetMarker sets the Marker field's value. +func (s *ListTapePoolsInput) SetMarker(v string) *ListTapePoolsInput { + s.Marker = &v + return s +} + +// SetPoolARNs sets the PoolARNs field's value. +func (s *ListTapePoolsInput) SetPoolARNs(v []*string) *ListTapePoolsInput { + s.PoolARNs = v + return s +} + +type ListTapePoolsOutput struct { + _ struct{} `type:"structure"` + + // A string that indicates the position at which to begin the returned list + // of tape pools. Use the marker in your next request to continue pagination + // of tape pools. If there are no more tape pools to list, this element does + // not appear in the response body. + Marker *string `min:"1" type:"string"` + + // An array of PoolInfo objects, where each object describes a single custom + // tape pool. If there are no custom tape pools, the PoolInfos is an empty array. + PoolInfos []*PoolInfo `type:"list"` +} + +// String returns the string representation +func (s ListTapePoolsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTapePoolsOutput) GoString() string { + return s.String() +} + +// SetMarker sets the Marker field's value. +func (s *ListTapePoolsOutput) SetMarker(v string) *ListTapePoolsOutput { + s.Marker = &v + return s +} + +// SetPoolInfos sets the PoolInfos field's value. +func (s *ListTapePoolsOutput) SetPoolInfos(v []*PoolInfo) *ListTapePoolsOutput { + s.PoolInfos = v + return s +} + // A JSON object that contains one or more of the following fields: // // * ListTapesInput$Limit @@ -15487,6 +16113,86 @@ func (s *NotifyWhenUploadedOutput) SetNotificationId(v string) *NotifyWhenUpload return s } +// Describes a custom tape pool. +type PoolInfo struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the custom tape pool. Use the ListTapePools + // operation to return a list of custom tape pools for your account and AWS + // Region. + PoolARN *string `min:"50" type:"string"` + + // The name of the custom tape pool. PoolName can use all ASCII characters, + // except '/' and '\'. + PoolName *string `min:"1" type:"string"` + + // Status of the custom tape pool. Pool can be ACTIVE or DELETED. + PoolStatus *string `type:"string" enum:"PoolStatus"` + + // Tape retention lock time is set in days. Tape retention lock can be enabled + // for up to 100 years (36,500 days). + RetentionLockTimeInDays *int64 `type:"integer"` + + // Tape retention lock type, which can be configured in two modes. When configured + // in governance mode, AWS accounts with specific IAM permissions are authorized + // to remove the tape retention lock from archived virtual tapes. When configured + // in compliance mode, the tape retention lock cannot be removed by any user, + // including the root AWS account. + RetentionLockType *string `type:"string" enum:"RetentionLockType"` + + // The storage class that is associated with the custom pool. When you use your + // backup application to eject the tape, the tape is archived directly into + // the storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds + // to the pool. + StorageClass *string `type:"string" enum:"TapeStorageClass"` +} + +// String returns the string representation +func (s PoolInfo) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PoolInfo) GoString() string { + return s.String() +} + +// SetPoolARN sets the PoolARN field's value. +func (s *PoolInfo) SetPoolARN(v string) *PoolInfo { + s.PoolARN = &v + return s +} + +// SetPoolName sets the PoolName field's value. +func (s *PoolInfo) SetPoolName(v string) *PoolInfo { + s.PoolName = &v + return s +} + +// SetPoolStatus sets the PoolStatus field's value. +func (s *PoolInfo) SetPoolStatus(v string) *PoolInfo { + s.PoolStatus = &v + return s +} + +// SetRetentionLockTimeInDays sets the RetentionLockTimeInDays field's value. +func (s *PoolInfo) SetRetentionLockTimeInDays(v int64) *PoolInfo { + s.RetentionLockTimeInDays = &v + return s +} + +// SetRetentionLockType sets the RetentionLockType field's value. +func (s *PoolInfo) SetRetentionLockType(v string) *PoolInfo { + s.RetentionLockType = &v + return s +} + +// SetStorageClass sets the StorageClass field's value. +func (s *PoolInfo) SetStorageClass(v string) *PoolInfo { + s.StorageClass = &v + return s +} + // RefreshCacheInput type RefreshCacheInput struct { _ struct{} `type:"structure"` @@ -16647,7 +17353,7 @@ type StorediSCSIVolume struct { _ struct{} `type:"structure"` // The date the volume was created. Volumes created prior to March 28, 2017 - // don’t have this time stamp. + // don’t have this timestamp. CreatedDate *time.Time `type:"timestamp"` // The Amazon Resource Name (ARN) of a symmetric customer master key (CMK) used @@ -16686,7 +17392,7 @@ type StorediSCSIVolume struct { // operation. VolumeDiskId *string `min:"1" type:"string"` - // The unique identifier of the volume, e.g. vol-AE4B946D. + // The unique identifier of the volume, e.g., vol-AE4B946D. VolumeId *string `min:"12" type:"string"` // Represents the percentage complete if the volume is restoring or bootstrapping @@ -16886,6 +17592,9 @@ type Tape struct { // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` + // The date that the tape enters a custom tape pool. + PoolEntryDate *time.Time `type:"timestamp"` + // The ID of the pool that contains tapes that will be archived. The tapes in // this pool are archived in the S3 storage class that is associated with the // pool. When you use your backup application to eject the tape, the tape is @@ -16901,6 +17610,9 @@ type Tape struct { // Range: 0 (not started) to 100 (complete). Progress *float64 `type:"double"` + // The date that the tape is first archived with tape retention lock enabled. + RetentionStartDate *time.Time `type:"timestamp"` + // The Amazon Resource Name (ARN) of the virtual tape. TapeARN *string `min:"50" type:"string"` @@ -16924,6 +17636,9 @@ type Tape struct { // The virtual tape library (VTL) device that the virtual tape is associated // with. VTLDevice *string `min:"50" type:"string"` + + // If the tape is archived as write-once-read-many (WORM), this value is true. + Worm *bool `type:"boolean"` } // String returns the string representation @@ -16942,6 +17657,12 @@ func (s *Tape) SetKMSKey(v string) *Tape { return s } +// SetPoolEntryDate sets the PoolEntryDate field's value. +func (s *Tape) SetPoolEntryDate(v time.Time) *Tape { + s.PoolEntryDate = &v + return s +} + // SetPoolId sets the PoolId field's value. func (s *Tape) SetPoolId(v string) *Tape { s.PoolId = &v @@ -16954,6 +17675,12 @@ func (s *Tape) SetProgress(v float64) *Tape { return s } +// SetRetentionStartDate sets the RetentionStartDate field's value. +func (s *Tape) SetRetentionStartDate(v time.Time) *Tape { + s.RetentionStartDate = &v + return s +} + // SetTapeARN sets the TapeARN field's value. func (s *Tape) SetTapeARN(v string) *Tape { s.TapeARN = &v @@ -16996,13 +17723,19 @@ func (s *Tape) SetVTLDevice(v string) *Tape { return s } +// SetWorm sets the Worm field's value. +func (s *Tape) SetWorm(v bool) *Tape { + s.Worm = &v + return s +} + // Represents a virtual tape that is archived in the virtual tape shelf (VTS). type TapeArchive struct { _ struct{} `type:"structure"` // The time that the archiving of the virtual tape was completed. // - // The default time stamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' + // The default timestamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' // format. CompletionTime *time.Time `type:"timestamp"` @@ -17011,12 +17744,22 @@ type TapeArchive struct { // CMKs. This value can only be set when KMSEncrypted is true. Optional. KMSKey *string `min:"7" type:"string"` + // The time that the tape entered the custom tape pool. + // + // The default timestamp format is in the ISO8601 extended YYYY-MM-DD'T'HH:MM:SS'Z' + // format. + PoolEntryDate *time.Time `type:"timestamp"` + // The ID of the pool that was used to archive the tape. The tapes in this pool // are archived in the S3 storage class that is associated with the pool. // // Valid Values: GLACIER | DEEP_ARCHIVE PoolId *string `min:"1" type:"string"` + // If the archived tape is subject to tape retention lock, the date that the + // archived tape started being retained. + RetentionStartDate *time.Time `type:"timestamp"` + // The Amazon Resource Name (ARN) of the tape gateway that the virtual tape // is being retrieved to. // @@ -17042,6 +17785,9 @@ type TapeArchive struct { // // This value is not available for tapes created prior to May 13, 2015. TapeUsedInBytes *int64 `type:"long"` + + // Set to true if the archived tape is stored as write-once-read-many (WORM). + Worm *bool `type:"boolean"` } // String returns the string representation @@ -17066,12 +17812,24 @@ func (s *TapeArchive) SetKMSKey(v string) *TapeArchive { return s } +// SetPoolEntryDate sets the PoolEntryDate field's value. +func (s *TapeArchive) SetPoolEntryDate(v time.Time) *TapeArchive { + s.PoolEntryDate = &v + return s +} + // SetPoolId sets the PoolId field's value. func (s *TapeArchive) SetPoolId(v string) *TapeArchive { s.PoolId = &v return s } +// SetRetentionStartDate sets the RetentionStartDate field's value. +func (s *TapeArchive) SetRetentionStartDate(v time.Time) *TapeArchive { + s.RetentionStartDate = &v + return s +} + // SetRetrievedTo sets the RetrievedTo field's value. func (s *TapeArchive) SetRetrievedTo(v string) *TapeArchive { s.RetrievedTo = &v @@ -17114,6 +17872,12 @@ func (s *TapeArchive) SetTapeUsedInBytes(v int64) *TapeArchive { return s } +// SetWorm sets the Worm field's value. +func (s *TapeArchive) SetWorm(v bool) *TapeArchive { + s.Worm = &v + return s +} + // Describes a virtual tape. type TapeInfo struct { _ struct{} `type:"structure"` @@ -17122,6 +17886,10 @@ type TapeInfo struct { // to return a list of gateways for your account and AWS Region. GatewayARN *string `min:"50" type:"string"` + // The date that the tape entered the custom tape pool with tape retention lock + // enabled. + PoolEntryDate *time.Time `type:"timestamp"` + // The ID of the pool that you want to add your tape to for archiving. The tape // in this pool is archived in the S3 storage class that is associated with // the pool. When you use your backup application to eject the tape, the tape @@ -17131,6 +17899,9 @@ type TapeInfo struct { // Valid Values: GLACIER | DEEP_ARCHIVE PoolId *string `min:"1" type:"string"` + // The date that the tape became subject to tape retention lock. + RetentionStartDate *time.Time `type:"timestamp"` + // The Amazon Resource Name (ARN) of a virtual tape. TapeARN *string `min:"50" type:"string"` @@ -17160,12 +17931,24 @@ func (s *TapeInfo) SetGatewayARN(v string) *TapeInfo { return s } +// SetPoolEntryDate sets the PoolEntryDate field's value. +func (s *TapeInfo) SetPoolEntryDate(v time.Time) *TapeInfo { + s.PoolEntryDate = &v + return s +} + // SetPoolId sets the PoolId field's value. func (s *TapeInfo) SetPoolId(v string) *TapeInfo { s.PoolId = &v return s } +// SetRetentionStartDate sets the RetentionStartDate field's value. +func (s *TapeInfo) SetRetentionStartDate(v time.Time) *TapeInfo { + s.RetentionStartDate = &v + return s +} + // SetTapeARN sets the TapeARN field's value. func (s *TapeInfo) SetTapeARN(v string) *TapeInfo { s.TapeARN = &v @@ -17200,7 +17983,7 @@ type TapeRecoveryPointInfo struct { // The time when the point-in-time view of the virtual tape was replicated for // later recovery. // - // The default time stamp format of the tape recovery point time is in the ISO8601 + // The default timestamp format of the tape recovery point time is in the ISO8601 // extended YYYY-MM-DD'T'HH:MM:SS'Z' format. TapeRecoveryPointTime *time.Time `type:"timestamp"` @@ -17582,7 +18365,7 @@ type UpdateGatewayInformationInput struct { // The Amazon Resource Name (ARN) of the Amazon CloudWatch log group that you // want to use to monitor and log events in the gateway. // - // For more information, see What is Amazon CloudWatch logs? (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html). + // For more information, see What is Amazon CloudWatch Logs? (https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) CloudWatchLogGroupARN *string `type:"string"` // The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation @@ -18625,7 +19408,7 @@ type UpdateVTLDeviceTypeInput struct { // The type of medium changer you want to select. // - // Valid Values: STK-L700 | AWS-Gateway-VTL + // Valid Values: STK-L700 | AWS-Gateway-VTL | IBM-03584L32-0402 // // DeviceType is a required field DeviceType *string `min:"2" type:"string" required:"true"` @@ -19388,6 +20171,42 @@ func ObjectACL_Values() []string { } } +const ( + // PoolStatusActive is a PoolStatus enum value + PoolStatusActive = "ACTIVE" + + // PoolStatusDeleted is a PoolStatus enum value + PoolStatusDeleted = "DELETED" +) + +// PoolStatus_Values returns all elements of the PoolStatus enum +func PoolStatus_Values() []string { + return []string{ + PoolStatusActive, + PoolStatusDeleted, + } +} + +const ( + // RetentionLockTypeCompliance is a RetentionLockType enum value + RetentionLockTypeCompliance = "COMPLIANCE" + + // RetentionLockTypeGovernance is a RetentionLockType enum value + RetentionLockTypeGovernance = "GOVERNANCE" + + // RetentionLockTypeNone is a RetentionLockType enum value + RetentionLockTypeNone = "NONE" +) + +// RetentionLockType_Values returns all elements of the RetentionLockType enum +func RetentionLockType_Values() []string { + return []string{ + RetentionLockTypeCompliance, + RetentionLockTypeGovernance, + RetentionLockTypeNone, + } +} + const ( // SMBSecurityStrategyClientSpecified is a SMBSecurityStrategy enum value SMBSecurityStrategyClientSpecified = "ClientSpecified" @@ -19407,3 +20226,19 @@ func SMBSecurityStrategy_Values() []string { SMBSecurityStrategyMandatoryEncryption, } } + +const ( + // TapeStorageClassDeepArchive is a TapeStorageClass enum value + TapeStorageClassDeepArchive = "DEEP_ARCHIVE" + + // TapeStorageClassGlacier is a TapeStorageClass enum value + TapeStorageClassGlacier = "GLACIER" +) + +// TapeStorageClass_Values returns all elements of the TapeStorageClass enum +func TapeStorageClass_Values() []string { + return []string{ + TapeStorageClassDeepArchive, + TapeStorageClassGlacier, + } +} diff --git a/service/storagegateway/doc.go b/service/storagegateway/doc.go index 773ea9ee1c..a6a9f896d9 100644 --- a/service/storagegateway/doc.go +++ b/service/storagegateway/doc.go @@ -28,7 +28,7 @@ // their request parameters, response elements, possible errors, and examples // of requests and responses. // -// * AWS Storage Gateway endpoints and quotas: (https://docs.aws.amazon.com/general/latest/gr/sg.html) +// * AWS Storage Gateway endpoints and quotas (https://docs.aws.amazon.com/general/latest/gr/sg.html): // Provides a list of each AWS Region and the endpoints available for use // with AWS Storage Gateway. // diff --git a/service/storagegateway/storagegatewayiface/interface.go b/service/storagegateway/storagegatewayiface/interface.go index 848b73f744..d0d5d935ac 100644 --- a/service/storagegateway/storagegatewayiface/interface.go +++ b/service/storagegateway/storagegatewayiface/interface.go @@ -120,6 +120,10 @@ type StorageGatewayAPI interface { CreateStorediSCSIVolumeWithContext(aws.Context, *storagegateway.CreateStorediSCSIVolumeInput, ...request.Option) (*storagegateway.CreateStorediSCSIVolumeOutput, error) CreateStorediSCSIVolumeRequest(*storagegateway.CreateStorediSCSIVolumeInput) (*request.Request, *storagegateway.CreateStorediSCSIVolumeOutput) + CreateTapePool(*storagegateway.CreateTapePoolInput) (*storagegateway.CreateTapePoolOutput, error) + CreateTapePoolWithContext(aws.Context, *storagegateway.CreateTapePoolInput, ...request.Option) (*storagegateway.CreateTapePoolOutput, error) + CreateTapePoolRequest(*storagegateway.CreateTapePoolInput) (*request.Request, *storagegateway.CreateTapePoolOutput) + CreateTapeWithBarcode(*storagegateway.CreateTapeWithBarcodeInput) (*storagegateway.CreateTapeWithBarcodeOutput, error) CreateTapeWithBarcodeWithContext(aws.Context, *storagegateway.CreateTapeWithBarcodeInput, ...request.Option) (*storagegateway.CreateTapeWithBarcodeOutput, error) CreateTapeWithBarcodeRequest(*storagegateway.CreateTapeWithBarcodeInput) (*request.Request, *storagegateway.CreateTapeWithBarcodeOutput) @@ -160,6 +164,10 @@ type StorageGatewayAPI interface { DeleteTapeArchiveWithContext(aws.Context, *storagegateway.DeleteTapeArchiveInput, ...request.Option) (*storagegateway.DeleteTapeArchiveOutput, error) DeleteTapeArchiveRequest(*storagegateway.DeleteTapeArchiveInput) (*request.Request, *storagegateway.DeleteTapeArchiveOutput) + DeleteTapePool(*storagegateway.DeleteTapePoolInput) (*storagegateway.DeleteTapePoolOutput, error) + DeleteTapePoolWithContext(aws.Context, *storagegateway.DeleteTapePoolInput, ...request.Option) (*storagegateway.DeleteTapePoolOutput, error) + DeleteTapePoolRequest(*storagegateway.DeleteTapePoolInput) (*request.Request, *storagegateway.DeleteTapePoolOutput) + DeleteVolume(*storagegateway.DeleteVolumeInput) (*storagegateway.DeleteVolumeOutput, error) DeleteVolumeWithContext(aws.Context, *storagegateway.DeleteVolumeInput, ...request.Option) (*storagegateway.DeleteVolumeOutput, error) DeleteVolumeRequest(*storagegateway.DeleteVolumeInput) (*request.Request, *storagegateway.DeleteVolumeOutput) @@ -289,6 +297,10 @@ type StorageGatewayAPI interface { ListTagsForResourcePages(*storagegateway.ListTagsForResourceInput, func(*storagegateway.ListTagsForResourceOutput, bool) bool) error ListTagsForResourcePagesWithContext(aws.Context, *storagegateway.ListTagsForResourceInput, func(*storagegateway.ListTagsForResourceOutput, bool) bool, ...request.Option) error + ListTapePools(*storagegateway.ListTapePoolsInput) (*storagegateway.ListTapePoolsOutput, error) + ListTapePoolsWithContext(aws.Context, *storagegateway.ListTapePoolsInput, ...request.Option) (*storagegateway.ListTapePoolsOutput, error) + ListTapePoolsRequest(*storagegateway.ListTapePoolsInput) (*request.Request, *storagegateway.ListTapePoolsOutput) + ListTapes(*storagegateway.ListTapesInput) (*storagegateway.ListTapesOutput, error) ListTapesWithContext(aws.Context, *storagegateway.ListTapesInput, ...request.Option) (*storagegateway.ListTapesOutput, error) ListTapesRequest(*storagegateway.ListTapesInput) (*request.Request, *storagegateway.ListTapesOutput) diff --git a/service/transcribestreamingservice/api.go b/service/transcribestreamingservice/api.go index 69390629bc..29a77290cc 100644 --- a/service/transcribestreamingservice/api.go +++ b/service/transcribestreamingservice/api.go @@ -798,6 +798,10 @@ type Item struct { // that resulted in the item. EndTime *float64 `type:"double"` + // If speaker identification is enabled, shows the speakers identified in the + // real-time stream. + Speaker *string `type:"string"` + // The offset from the beginning of the audio stream to the beginning of the // audio that resulted in the item. StartTime *float64 `type:"double"` @@ -835,6 +839,12 @@ func (s *Item) SetEndTime(v float64) *Item { return s } +// SetSpeaker sets the Speaker field's value. +func (s *Item) SetSpeaker(v string) *Item { + s.Speaker = &v + return s +} + // SetStartTime sets the StartTime field's value. func (s *Item) SetStartTime(v float64) *Item { s.StartTime = &v @@ -1102,7 +1112,7 @@ type StartStreamTranscriptionInput struct { // LanguageCode is a required field LanguageCode *string `location:"header" locationName:"x-amzn-transcribe-language-code" type:"string" required:"true" enum:"LanguageCode"` - // The encoding used for the input audio. + // The encoding used for the input audio. pcm is the only valid value. // // MediaEncoding is a required field MediaEncoding *string `location:"header" locationName:"x-amzn-transcribe-media-encoding" type:"string" required:"true" enum:"MediaEncoding"` @@ -1118,6 +1128,9 @@ type StartStreamTranscriptionInput struct { // will generate one for you and return it in the response. SessionId *string `location:"header" locationName:"x-amzn-transcribe-session-id" type:"string"` + // When true, enables speaker identification in your real-time stream. + ShowSpeakerLabel *bool `location:"header" locationName:"x-amzn-transcribe-show-speaker-label" type:"boolean"` + // The manner in which you use your vocabulary filter to filter words in your // transcript. Remove removes filtered words from your transcription results. // Mask masks those words with a *** in your transcription results. Tag keeps @@ -1126,7 +1139,7 @@ type StartStreamTranscriptionInput struct { VocabularyFilterMethod *string `location:"header" locationName:"x-amzn-transcribe-vocabulary-filter-method" type:"string" enum:"VocabularyFilterMethod"` // The name of the vocabulary filter you've created that is unique to your AWS - // accountf. Provide the name in this field to successfully use it in a stream. + // account. Provide the name in this field to successfully use it in a stream. VocabularyFilterName *string `location:"header" locationName:"x-amzn-transcribe-vocabulary-filter-name" min:"1" type:"string"` // The name of the vocabulary to use when processing the transcription job. @@ -1195,6 +1208,12 @@ func (s *StartStreamTranscriptionInput) SetSessionId(v string) *StartStreamTrans return s } +// SetShowSpeakerLabel sets the ShowSpeakerLabel field's value. +func (s *StartStreamTranscriptionInput) SetShowSpeakerLabel(v bool) *StartStreamTranscriptionInput { + s.ShowSpeakerLabel = &v + return s +} + // SetVocabularyFilterMethod sets the VocabularyFilterMethod field's value. func (s *StartStreamTranscriptionInput) SetVocabularyFilterMethod(v string) *StartStreamTranscriptionInput { s.VocabularyFilterMethod = &v @@ -1234,6 +1253,9 @@ type StartStreamTranscriptionOutput struct { // An identifier for a specific transcription session. SessionId *string `location:"header" locationName:"x-amzn-transcribe-session-id" type:"string"` + // Shows whether speaker identification was enabled in the stream. + ShowSpeakerLabel *bool `location:"header" locationName:"x-amzn-transcribe-show-speaker-label" type:"boolean"` + // The vocabulary filtering method used in the real-time stream. VocabularyFilterMethod *string `location:"header" locationName:"x-amzn-transcribe-vocabulary-filter-method" type:"string" enum:"VocabularyFilterMethod"` @@ -1284,6 +1306,12 @@ func (s *StartStreamTranscriptionOutput) SetSessionId(v string) *StartStreamTran return s } +// SetShowSpeakerLabel sets the ShowSpeakerLabel field's value. +func (s *StartStreamTranscriptionOutput) SetShowSpeakerLabel(v bool) *StartStreamTranscriptionOutput { + s.ShowSpeakerLabel = &v + return s +} + // SetVocabularyFilterMethod sets the VocabularyFilterMethod field's value. func (s *StartStreamTranscriptionOutput) SetVocabularyFilterMethod(v string) *StartStreamTranscriptionOutput { s.VocabularyFilterMethod = &v diff --git a/service/transcribestreamingservice/eventstream_test.go b/service/transcribestreamingservice/eventstream_test.go index 4ae2841c6e..b0c2534da5 100644 --- a/service/transcribestreamingservice/eventstream_test.go +++ b/service/transcribestreamingservice/eventstream_test.go @@ -232,6 +232,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -239,6 +240,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -246,6 +248,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -258,6 +261,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -265,6 +269,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -272,6 +277,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -284,6 +290,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -291,6 +298,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -298,6 +306,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -318,6 +327,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -325,6 +335,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -332,6 +343,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -344,6 +356,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -351,6 +364,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -358,6 +372,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -370,6 +385,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -377,6 +393,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -384,6 +401,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -404,6 +422,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -411,6 +430,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -418,6 +438,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -430,6 +451,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -437,6 +459,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -444,6 +467,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -456,6 +480,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -463,6 +488,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true), @@ -470,6 +496,7 @@ func mockStartStreamTranscriptionReadEvents() ( { Content: aws.String("string value goes here"), EndTime: aws.Float64(123.45), + Speaker: aws.String("string value goes here"), StartTime: aws.Float64(123.45), Type: aws.String("string value goes here"), VocabularyFilterMatch: aws.Bool(true),