diff --git a/CHANGELOG.md b/CHANGELOG.md index 1252b80cab..0f6ef5a09b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +Release v1.38.28 (2021-04-28) +=== + +### Service Client Updates +* `service/cloudformation`: Updates service API and documentation + * Add CallAs parameter to GetTemplateSummary to enable use with StackSets delegated administrator integration +* `service/connect`: Updates service API +* `service/iotsitewise`: Updates service API, documentation, and paginators +* `service/mediapackage-vod`: Updates service API and documentation +* `service/nimble`: Updates service API, documentation, and paginators + Release v1.38.27 (2021-04-27) === diff --git a/aws/version.go b/aws/version.go index 96b5a86d9a..ca051578b4 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.38.27" +const SDKVersion = "1.38.28" diff --git a/models/apis/cloudformation/2010-05-15/api-2.json b/models/apis/cloudformation/2010-05-15/api-2.json index 57eb04d861..6b98c51e73 100644 --- a/models/apis/cloudformation/2010-05-15/api-2.json +++ b/models/apis/cloudformation/2010-05-15/api-2.json @@ -1716,7 +1716,8 @@ "TemplateBody":{"shape":"TemplateBody"}, "TemplateURL":{"shape":"TemplateURL"}, "StackName":{"shape":"StackNameOrId"}, - "StackSetName":{"shape":"StackSetNameOrId"} + "StackSetName":{"shape":"StackSetNameOrId"}, + "CallAs":{"shape":"CallAs"} } }, "GetTemplateSummaryOutput":{ diff --git a/models/apis/cloudformation/2010-05-15/docs-2.json b/models/apis/cloudformation/2010-05-15/docs-2.json index 48cb68b24f..499f76df76 100644 --- a/models/apis/cloudformation/2010-05-15/docs-2.json +++ b/models/apis/cloudformation/2010-05-15/docs-2.json @@ -113,7 +113,7 @@ "AccountsUrl": { "base": null, "refs": { - "DeploymentTargets$AccountsUrl": null + "DeploymentTargets$AccountsUrl": "

Returns the value of the AccountsUrl property.

" } }, "AllowedValue": { @@ -182,6 +182,7 @@ "DescribeStackSetInput$CallAs": "

[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.

By default, SELF is specified. Use SELF for stack sets with self-managed permissions.

", "DescribeStackSetOperationInput$CallAs": "

[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.

By default, SELF is specified. Use SELF for stack sets with self-managed permissions.

", "DetectStackSetDriftInput$CallAs": "

[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.

By default, SELF is specified. Use SELF for stack sets with self-managed permissions.

", + "GetTemplateSummaryInput$CallAs": "

[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.

By default, SELF is specified. Use SELF for stack sets with self-managed permissions.

", "ListStackInstancesInput$CallAs": "

[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.

By default, SELF is specified. Use SELF for stack sets with self-managed permissions.

", "ListStackSetOperationResultsInput$CallAs": "

[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.

By default, SELF is specified. Use SELF for stack sets with self-managed permissions.

", "ListStackSetOperationsInput$CallAs": "

[Service-managed permissions] Specifies whether you are acting as an account administrator in the organization's management account or as a delegated administrator in a member account.

By default, SELF is specified. Use SELF for stack sets with self-managed permissions.

", @@ -1466,7 +1467,7 @@ "RegionConcurrencyType": { "base": null, "refs": { - "StackSetOperationPreferences$RegionConcurrencyType": null + "StackSetOperationPreferences$RegionConcurrencyType": "

The concurrency type of deploying StackSets operations in regions, could be in parallel or one region at a time.

" } }, "RegionList": { diff --git a/models/apis/connect/2017-08-08/api-2.json b/models/apis/connect/2017-08-08/api-2.json index d99fd042bf..5b9e9834ff 100644 --- a/models/apis/connect/2017-08-08/api-2.json +++ b/models/apis/connect/2017-08-08/api-2.json @@ -5076,14 +5076,14 @@ "TagKeyList":{ "type":"list", "member":{"shape":"TagKey"}, - "max":200, + "max":50, "min":1 }, "TagMap":{ "type":"map", "key":{"shape":"TagKey"}, "value":{"shape":"TagValue"}, - "max":200, + "max":50, "min":1 }, "TagResourceRequest":{ @@ -5291,8 +5291,7 @@ "type":"structure", "required":[ "InstanceId", - "QueueId", - "MaxContacts" + "QueueId" ], "members":{ "InstanceId":{ diff --git a/models/apis/iotsitewise/2019-12-02/api-2.json b/models/apis/iotsitewise/2019-12-02/api-2.json index 70b7fb9805..f34dbe4cb9 100644 --- a/models/apis/iotsitewise/2019-12-02/api-2.json +++ b/models/apis/iotsitewise/2019-12-02/api-2.json @@ -578,6 +578,23 @@ ], "endpoint":{"hostPrefix":"data."} }, + "GetInterpolatedAssetPropertyValues":{ + "name":"GetInterpolatedAssetPropertyValues", + "http":{ + "method":"GET", + "requestUri":"/properties/interpolated" + }, + "input":{"shape":"GetInterpolatedAssetPropertyValuesRequest"}, + "output":{"shape":"GetInterpolatedAssetPropertyValuesResponse"}, + "errors":[ + {"shape":"InvalidRequestException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalFailureException"}, + {"shape":"ThrottlingException"}, + {"shape":"ServiceUnavailableException"} + ], + "endpoint":{"hostPrefix":"data."} + }, "ListAccessPolicies":{ "name":"ListAccessPolicies", "http":{ @@ -2644,6 +2661,86 @@ "propertyValue":{"shape":"AssetPropertyValue"} } }, + "GetInterpolatedAssetPropertyValuesRequest":{ + "type":"structure", + "required":[ + "startTimeInSeconds", + "endTimeInSeconds", + "quality", + "intervalInSeconds", + "type" + ], + "members":{ + "assetId":{ + "shape":"ID", + "location":"querystring", + "locationName":"assetId" + }, + "propertyId":{ + "shape":"ID", + "location":"querystring", + "locationName":"propertyId" + }, + "propertyAlias":{ + "shape":"AssetPropertyAlias", + "location":"querystring", + "locationName":"propertyAlias" + }, + "startTimeInSeconds":{ + "shape":"TimeInSeconds", + "location":"querystring", + "locationName":"startTimeInSeconds" + }, + "startTimeOffsetInNanos":{ + "shape":"OffsetInNanos", + "location":"querystring", + "locationName":"startTimeOffsetInNanos" + }, + "endTimeInSeconds":{ + "shape":"TimeInSeconds", + "location":"querystring", + "locationName":"endTimeInSeconds" + }, + "endTimeOffsetInNanos":{ + "shape":"OffsetInNanos", + "location":"querystring", + "locationName":"endTimeOffsetInNanos" + }, + "quality":{ + "shape":"Quality", + "location":"querystring", + "locationName":"quality" + }, + "intervalInSeconds":{ + "shape":"IntervalInSeconds", + "location":"querystring", + "locationName":"intervalInSeconds" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxInterpolatedResults", + "location":"querystring", + "locationName":"maxResults" + }, + "type":{ + "shape":"InterpolationType", + "location":"querystring", + "locationName":"type" + } + } + }, + "GetInterpolatedAssetPropertyValuesResponse":{ + "type":"structure", + "required":["interpolatedAssetPropertyValues"], + "members":{ + "interpolatedAssetPropertyValues":{"shape":"InterpolatedAssetPropertyValues"}, + "nextToken":{"shape":"NextToken"} + } + }, "Greengrass":{ "type":"structure", "required":["groupArn"], @@ -2755,12 +2852,37 @@ "exception":true, "fault":true }, + "InterpolatedAssetPropertyValue":{ + "type":"structure", + "required":[ + "timestamp", + "value" + ], + "members":{ + "timestamp":{"shape":"TimeInNanos"}, + "value":{"shape":"Variant"} + } + }, + "InterpolatedAssetPropertyValues":{ + "type":"list", + "member":{"shape":"InterpolatedAssetPropertyValue"} + }, + "InterpolationType":{ + "type":"string", + "max":256, + "min":1 + }, "Interval":{ "type":"string", "max":3, "min":2, "pattern":"1w|1d|1h|15m|5m|1m" }, + "IntervalInSeconds":{ + "type":"long", + "max":320000000, + "min":1 + }, "InvalidRequestException":{ "type":"structure", "required":["message"], @@ -3141,6 +3263,10 @@ "min":1, "pattern":"[^\\u0000-\\u001F\\u007F]+" }, + "MaxInterpolatedResults":{ + "type":"integer", + "min":1 + }, "MaxResults":{ "type":"integer", "max":250, @@ -3194,7 +3320,7 @@ }, "NextToken":{ "type":"string", - "max":2048, + "max":4096, "min":1, "pattern":"[A-Za-z0-9+/=]+" }, diff --git a/models/apis/iotsitewise/2019-12-02/docs-2.json b/models/apis/iotsitewise/2019-12-02/docs-2.json index 5e6cc994b7..94e81d6ddf 100644 --- a/models/apis/iotsitewise/2019-12-02/docs-2.json +++ b/models/apis/iotsitewise/2019-12-02/docs-2.json @@ -35,6 +35,7 @@ "GetAssetPropertyAggregates": "

Gets aggregated values for an asset property. For more information, see Querying aggregates in the AWS IoT SiteWise User Guide.

To identify an asset property, you must specify one of the following:

", "GetAssetPropertyValue": "

Gets an asset property's current value. For more information, see Querying current values in the AWS IoT SiteWise User Guide.

To identify an asset property, you must specify one of the following:

", "GetAssetPropertyValueHistory": "

Gets the history of an asset property's values. For more information, see Querying historical values in the AWS IoT SiteWise User Guide.

To identify an asset property, you must specify one of the following:

", + "GetInterpolatedAssetPropertyValues": "

Get interpolated values for an asset property for a specified time interval, during a period of time. For example, you can use the this operation to return the interpolated temperature values for a wind turbine every 24 hours over a duration of 7 days.

To identify an asset property, you must specify one of the following:

", "ListAccessPolicies": "

Retrieves a paginated list of access policies for an identity (an AWS SSO user, an AWS SSO group, or an IAM user) or an AWS IoT SiteWise Monitor resource (a portal or project).

", "ListAssetModels": "

Retrieves a paginated list of summaries of all asset models.

", "ListAssetRelationships": "

Retrieves a paginated list of asset relationships for an asset. You can use this operation to identify an asset's root asset and all associated assets between that asset and its root.

", @@ -85,7 +86,7 @@ "DescribePortalResponse$roleArn": "

The ARN of the service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. For more information, see Using service roles for AWS IoT SiteWise Monitor in the AWS IoT SiteWise User Guide.

", "DescribeProjectResponse$projectArn": "

The ARN of the project, which has the following format.

arn:${Partition}:iotsitewise:${Region}:${Account}:project/${ProjectId}

", "Greengrass$groupArn": "

The ARN of the Greengrass group. For more information about how to find a group's ARN, see ListGroups and GetGroup in the AWS IoT Greengrass API Reference.

", - "IAMRoleIdentity$arn": "

The ARN of the IAM role. For more information, see IAM ARNs in the IAM User Guide.

", + "IAMRoleIdentity$arn": "

The ARN of the IAM role. For more information, see IAM ARNs in the IAM User Guide.

", "IAMUserIdentity$arn": "

The ARN of the IAM user. For more information, see IAM ARNs in the IAM User Guide.

If you delete the IAM user, access policies that contain this identity include an empty arn. You can delete the access policy for the IAM user that no longer exists.

", "ListAccessPoliciesRequest$iamArn": "

The ARN of the IAM user. For more information, see IAM ARNs in the IAM User Guide. This parameter is required if you specify IAM for identityType.

", "PortalSummary$roleArn": "

The ARN of the service role that allows the portal's users to access your AWS IoT SiteWise resources on your behalf. For more information, see Using service roles for AWS IoT SiteWise Monitor in the AWS IoT SiteWise User Guide.

", @@ -336,6 +337,7 @@ "GetAssetPropertyAggregatesRequest$propertyAlias": "

The property alias that identifies the property, such as an OPC-UA server data stream path (for example, /company/windfarm/3/turbine/7/temperature). For more information, see Mapping industrial data streams to asset properties in the AWS IoT SiteWise User Guide.

", "GetAssetPropertyValueHistoryRequest$propertyAlias": "

The property alias that identifies the property, such as an OPC-UA server data stream path (for example, /company/windfarm/3/turbine/7/temperature). For more information, see Mapping industrial data streams to asset properties in the AWS IoT SiteWise User Guide.

", "GetAssetPropertyValueRequest$propertyAlias": "

The property alias that identifies the property, such as an OPC-UA server data stream path (for example, /company/windfarm/3/turbine/7/temperature). For more information, see Mapping industrial data streams to asset properties in the AWS IoT SiteWise User Guide.

", + "GetInterpolatedAssetPropertyValuesRequest$propertyAlias": "

The property alias that identifies the property, such as an OPC-UA server data stream path (for example, /company/windfarm/3/turbine/7/temperature). For more information, see Mapping industrial data streams to asset properties in the AWS IoT SiteWise User Guide.

", "PutAssetPropertyValueEntry$propertyAlias": "

The property alias that identifies the property, such as an OPC-UA server data stream path (for example, /company/windfarm/3/turbine/7/temperature). For more information, see Mapping industrial data streams to asset properties in the AWS IoT SiteWise User Guide.

" } }, @@ -1033,6 +1035,16 @@ "refs": { } }, + "GetInterpolatedAssetPropertyValuesRequest": { + "base": null, + "refs": { + } + }, + "GetInterpolatedAssetPropertyValuesResponse": { + "base": null, + "refs": { + } + }, "Greengrass": { "base": "

Contains details for a gateway that runs on AWS IoT Greengrass. To create a gateway that runs on AWS IoT Greengrass, you must add the IoT SiteWise connector to a Greengrass group and deploy it. Your Greengrass group must also have permissions to upload data to AWS IoT SiteWise. For more information, see Ingesting data using a gateway in the AWS IoT SiteWise User Guide.

", "refs": { @@ -1132,6 +1144,8 @@ "GetAssetPropertyValueHistoryRequest$propertyId": "

The ID of the asset property.

", "GetAssetPropertyValueRequest$assetId": "

The ID of the asset.

", "GetAssetPropertyValueRequest$propertyId": "

The ID of the asset property.

", + "GetInterpolatedAssetPropertyValuesRequest$assetId": "

The ID of the asset.

", + "GetInterpolatedAssetPropertyValuesRequest$propertyId": "

The ID of the asset property.

", "IDs$member": null, "Image$id": "

The ID of an existing image. Specify this parameter to keep an existing image.

", "ImageLocation$id": "

The ID of the image.

", @@ -1228,12 +1242,36 @@ "refs": { } }, + "InterpolatedAssetPropertyValue": { + "base": "

Contains information about an interpolated asset property value.

", + "refs": { + "InterpolatedAssetPropertyValues$member": null + } + }, + "InterpolatedAssetPropertyValues": { + "base": null, + "refs": { + "GetInterpolatedAssetPropertyValuesResponse$interpolatedAssetPropertyValues": "

The requested interpolated values.

" + } + }, + "InterpolationType": { + "base": null, + "refs": { + "GetInterpolatedAssetPropertyValuesRequest$type": "

The interpolation type.

Valid values: LINEAR_INTERPOLATION

" + } + }, "Interval": { "base": null, "refs": { "TumblingWindow$interval": "

The time interval for the tumbling window. Note that w represents weeks, d represents days, h represents hours, and m represents minutes. AWS IoT SiteWise computes the 1w interval the end of Sunday at midnight each week (UTC), the 1d interval at the end of each day at midnight (UTC), the 1h interval at the end of each hour, and so on.

When AWS IoT SiteWise aggregates data points for metric computations, the start of each interval is exclusive and the end of each interval is inclusive. AWS IoT SiteWise places the computed data point at the end of the interval.

" } }, + "IntervalInSeconds": { + "base": null, + "refs": { + "GetInterpolatedAssetPropertyValuesRequest$intervalInSeconds": "

The time interval in seconds over which to interpolate data. Each interval starts when the previous one ends.

" + } + }, "InvalidRequestException": { "base": "

The request isn't valid. This can occur if your request contains malformed JSON or unsupported characters. Check your request and try again.

", "refs": { @@ -1386,6 +1424,12 @@ "VariableValue$hierarchyId": "

The ID of the hierarchy to query for the property ID. You can use the hierarchy's name instead of the hierarchy's ID.

You use a hierarchy ID instead of a model ID because you can have several hierarchies using the same model and therefore the same propertyId. For example, you might have separately grouped assets that come from the same asset model. For more information, see Asset hierarchies in the AWS IoT SiteWise User Guide.

" } }, + "MaxInterpolatedResults": { + "base": null, + "refs": { + "GetInterpolatedAssetPropertyValuesRequest$maxResults": "

The maximum number of results to be returned per paginated request. If not specified, the default value is 10.

" + } + }, "MaxResults": { "base": null, "refs": { @@ -1495,6 +1539,8 @@ "GetAssetPropertyAggregatesResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", "GetAssetPropertyValueHistoryRequest$nextToken": "

The token to be used for the next set of paginated results.

", "GetAssetPropertyValueHistoryResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", + "GetInterpolatedAssetPropertyValuesRequest$nextToken": "

The token to be used for the next set of paginated results.

", + "GetInterpolatedAssetPropertyValuesResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", "ListAccessPoliciesRequest$nextToken": "

The token to be used for the next set of paginated results.

", "ListAccessPoliciesResponse$nextToken": "

The token for the next set of results, or null if there are no additional results.

", "ListAssetModelsRequest$nextToken": "

The token to be used for the next set of paginated results.

", @@ -1520,6 +1566,8 @@ "OffsetInNanos": { "base": null, "refs": { + "GetInterpolatedAssetPropertyValuesRequest$startTimeOffsetInNanos": "

The nanosecond offset converted from startTimeInSeconds.

", + "GetInterpolatedAssetPropertyValuesRequest$endTimeOffsetInNanos": "

The nanosecond offset converted from endTimeInSeconds.

", "TimeInNanos$offsetInNanos": "

The nanosecond offset from timeInSeconds.

" } }, @@ -1719,6 +1767,7 @@ "refs": { "AggregatedValue$quality": "

The quality of the aggregated data.

", "AssetPropertyValue$quality": "

The quality of the asset property value.

", + "GetInterpolatedAssetPropertyValuesRequest$quality": "

The quality of the asset property value. You can use this parameter as a filter to choose only the asset property values that have a specific quality.

", "Qualities$member": null } }, @@ -1830,12 +1879,15 @@ "base": "

Contains a timestamp with optional nanosecond granularity.

", "refs": { "AssetPropertyValue$timestamp": "

The timestamp of the asset property value.

", + "InterpolatedAssetPropertyValue$timestamp": null, "Timestamps$member": null } }, "TimeInSeconds": { "base": null, "refs": { + "GetInterpolatedAssetPropertyValuesRequest$startTimeInSeconds": "

The exclusive start of the range from which to interpolate data, expressed in seconds in Unix epoch time.

", + "GetInterpolatedAssetPropertyValuesRequest$endTimeInSeconds": "

The inclusive end of the range from which to interpolate data, expressed in seconds in Unix epoch time.

", "TimeInNanos$timeInSeconds": "

The timestamp date, in seconds, in the Unix epoch format. Fractional nanosecond data is provided by offsetInNanos.

" } }, @@ -2046,7 +2098,8 @@ "Variant": { "base": "

Contains an asset property value (of a single type only).

", "refs": { - "AssetPropertyValue$value": "

The value of the asset property (see Variant).

" + "AssetPropertyValue$value": "

The value of the asset property (see Variant).

", + "InterpolatedAssetPropertyValue$value": null } } } diff --git a/models/apis/iotsitewise/2019-12-02/paginators-1.json b/models/apis/iotsitewise/2019-12-02/paginators-1.json index 6477a679a0..1388bde630 100644 --- a/models/apis/iotsitewise/2019-12-02/paginators-1.json +++ b/models/apis/iotsitewise/2019-12-02/paginators-1.json @@ -12,6 +12,12 @@ "limit_key": "maxResults", "result_key": "assetPropertyValueHistory" }, + "GetInterpolatedAssetPropertyValues": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "interpolatedAssetPropertyValues" + }, "ListAccessPolicies": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/apis/mediapackage-vod/2018-11-07/api-2.json b/models/apis/mediapackage-vod/2018-11-07/api-2.json index afb8d3b962..9936c5752f 100644 --- a/models/apis/mediapackage-vod/2018-11-07/api-2.json +++ b/models/apis/mediapackage-vod/2018-11-07/api-2.json @@ -702,6 +702,10 @@ "locationName": "hlsManifests", "shape": "__listOfHlsManifest" }, + "IncludeEncoderConfigurationInSegments": { + "locationName": "includeEncoderConfigurationInSegments", + "shape": "__boolean" + }, "SegmentDurationSeconds": { "locationName": "segmentDurationSeconds", "shape": "__integer" @@ -1017,6 +1021,10 @@ "locationName": "encryption", "shape": "DashEncryption" }, + "IncludeEncoderConfigurationInSegments": { + "locationName": "includeEncoderConfigurationInSegments", + "shape": "__boolean" + }, "PeriodTriggers": { "locationName": "periodTriggers", "shape": "__listOf__PeriodTriggersElement" diff --git a/models/apis/mediapackage-vod/2018-11-07/docs-2.json b/models/apis/mediapackage-vod/2018-11-07/docs-2.json index c0c27ff88f..bcd6fe3aa0 100644 --- a/models/apis/mediapackage-vod/2018-11-07/docs-2.json +++ b/models/apis/mediapackage-vod/2018-11-07/docs-2.json @@ -245,6 +245,8 @@ "__boolean" : { "base" : null, "refs" : { + "CmafPackage$IncludeEncoderConfigurationInSegments" : "When includeEncoderConfigurationInSegments is set to true, MediaPackage places your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and Video Parameter Set (VPS) metadata in every video segment instead of in the init fragment. This lets you use different SPS/PPS/VPS settings for your assets during content playback.\n", + "DashPackage$IncludeEncoderConfigurationInSegments" : "When includeEncoderConfigurationInSegments is set to true, MediaPackage places your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS), and Video Parameter Set (VPS) metadata in every video segment instead of in the init fragment. This lets you use different SPS/PPS/VPS settings for your assets during content playback.\n", "HlsManifest$IncludeIframeOnlyStream" : "When enabled, an I-Frame only stream will be included in the output.", "HlsManifest$RepeatExtXKey" : "When enabled, the EXT-X-KEY tag will be repeated in output manifests.", "HlsPackage$UseAudioRenditionGroup" : "When enabled, audio streams will be placed in rendition groups in the output." diff --git a/models/apis/nimble/2020-08-01/api-2.json b/models/apis/nimble/2020-08-01/api-2.json new file mode 100644 index 0000000000..f76651b571 --- /dev/null +++ b/models/apis/nimble/2020-08-01/api-2.json @@ -0,0 +1,5696 @@ +{ + "metadata": { + "apiVersion": "2020-08-01", + "endpointPrefix": "nimble", + "signingName": "nimble", + "serviceFullName": "AmazonNimbleStudio", + "serviceId": "nimble", + "protocol": "rest-json", + "jsonVersion": "1.1", + "uid": "nimble-2020-08-01", + "signatureVersion": "v4" + }, + "operations": { + "AcceptEulas": { + "name": "AcceptEulas", + "http": { + "method": "POST", + "requestUri": "/2020-08-01/studios/{studioId}/eula-acceptances", + "responseCode": 200 + }, + "input": { + "shape": "AcceptEulasRequest" + }, + "output": { + "shape": "AcceptEulasResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "CreateLaunchProfile": { + "name": "CreateLaunchProfile", + "http": { + "method": "POST", + "requestUri": "/2020-08-01/studios/{studioId}/launch-profiles", + "responseCode": 200 + }, + "input": { + "shape": "CreateLaunchProfileRequest" + }, + "output": { + "shape": "CreateLaunchProfileResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "CreateStreamingImage": { + "name": "CreateStreamingImage", + "http": { + "method": "POST", + "requestUri": "/2020-08-01/studios/{studioId}/streaming-images", + "responseCode": 200 + }, + "input": { + "shape": "CreateStreamingImageRequest" + }, + "output": { + "shape": "CreateStreamingImageResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "CreateStreamingSession": { + "name": "CreateStreamingSession", + "http": { + "method": "POST", + "requestUri": "/2020-08-01/studios/{studioId}/streaming-sessions", + "responseCode": 200 + }, + "input": { + "shape": "CreateStreamingSessionRequest" + }, + "output": { + "shape": "CreateStreamingSessionResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "CreateStreamingSessionStream": { + "name": "CreateStreamingSessionStream", + "http": { + "method": "POST", + "requestUri": "/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/streams", + "responseCode": 200 + }, + "input": { + "shape": "CreateStreamingSessionStreamRequest" + }, + "output": { + "shape": "CreateStreamingSessionStreamResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "CreateStudio": { + "name": "CreateStudio", + "http": { + "method": "POST", + "requestUri": "/2020-08-01/studios", + "responseCode": 200 + }, + "input": { + "shape": "CreateStudioRequest" + }, + "output": { + "shape": "CreateStudioResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "CreateStudioComponent": { + "name": "CreateStudioComponent", + "http": { + "method": "POST", + "requestUri": "/2020-08-01/studios/{studioId}/studio-components", + "responseCode": 200 + }, + "input": { + "shape": "CreateStudioComponentRequest" + }, + "output": { + "shape": "CreateStudioComponentResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "DeleteLaunchProfile": { + "name": "DeleteLaunchProfile", + "http": { + "method": "DELETE", + "requestUri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteLaunchProfileRequest" + }, + "output": { + "shape": "DeleteLaunchProfileResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "DeleteLaunchProfileMember": { + "name": "DeleteLaunchProfileMember", + "http": { + "method": "DELETE", + "requestUri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteLaunchProfileMemberRequest" + }, + "output": { + "shape": "DeleteLaunchProfileMemberResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "DeleteStreamingImage": { + "name": "DeleteStreamingImage", + "http": { + "method": "DELETE", + "requestUri": "/2020-08-01/studios/{studioId}/streaming-images/{streamingImageId}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteStreamingImageRequest" + }, + "output": { + "shape": "DeleteStreamingImageResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "DeleteStreamingSession": { + "name": "DeleteStreamingSession", + "http": { + "method": "DELETE", + "requestUri": "/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteStreamingSessionRequest" + }, + "output": { + "shape": "DeleteStreamingSessionResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "DeleteStudio": { + "name": "DeleteStudio", + "http": { + "method": "DELETE", + "requestUri": "/2020-08-01/studios/{studioId}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteStudioRequest" + }, + "output": { + "shape": "DeleteStudioResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "DeleteStudioComponent": { + "name": "DeleteStudioComponent", + "http": { + "method": "DELETE", + "requestUri": "/2020-08-01/studios/{studioId}/studio-components/{studioComponentId}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteStudioComponentRequest" + }, + "output": { + "shape": "DeleteStudioComponentResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "DeleteStudioMember": { + "name": "DeleteStudioMember", + "http": { + "method": "DELETE", + "requestUri": "/2020-08-01/studios/{studioId}/membership/{principalId}", + "responseCode": 200 + }, + "input": { + "shape": "DeleteStudioMemberRequest" + }, + "output": { + "shape": "DeleteStudioMemberResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "GetEula": { + "name": "GetEula", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/eulas/{eulaId}", + "responseCode": 200 + }, + "input": { + "shape": "GetEulaRequest" + }, + "output": { + "shape": "GetEulaResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "GetLaunchProfile": { + "name": "GetLaunchProfile", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}", + "responseCode": 200 + }, + "input": { + "shape": "GetLaunchProfileRequest" + }, + "output": { + "shape": "GetLaunchProfileResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "GetLaunchProfileDetails": { + "name": "GetLaunchProfileDetails", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/details", + "responseCode": 200 + }, + "input": { + "shape": "GetLaunchProfileDetailsRequest" + }, + "output": { + "shape": "GetLaunchProfileDetailsResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "GetLaunchProfileInitialization": { + "name": "GetLaunchProfileInitialization", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/init", + "responseCode": 200 + }, + "input": { + "shape": "GetLaunchProfileInitializationRequest" + }, + "output": { + "shape": "GetLaunchProfileInitializationResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "GetLaunchProfileMember": { + "name": "GetLaunchProfileMember", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId}", + "responseCode": 200 + }, + "input": { + "shape": "GetLaunchProfileMemberRequest" + }, + "output": { + "shape": "GetLaunchProfileMemberResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "GetStreamingImage": { + "name": "GetStreamingImage", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/streaming-images/{streamingImageId}", + "responseCode": 200 + }, + "input": { + "shape": "GetStreamingImageRequest" + }, + "output": { + "shape": "GetStreamingImageResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "GetStreamingSession": { + "name": "GetStreamingSession", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}", + "responseCode": 200 + }, + "input": { + "shape": "GetStreamingSessionRequest" + }, + "output": { + "shape": "GetStreamingSessionResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "GetStreamingSessionStream": { + "name": "GetStreamingSessionStream", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/streams/{streamId}", + "responseCode": 200 + }, + "input": { + "shape": "GetStreamingSessionStreamRequest" + }, + "output": { + "shape": "GetStreamingSessionStreamResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "GetStudio": { + "name": "GetStudio", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}", + "responseCode": 200 + }, + "input": { + "shape": "GetStudioRequest" + }, + "output": { + "shape": "GetStudioResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "GetStudioComponent": { + "name": "GetStudioComponent", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/studio-components/{studioComponentId}", + "responseCode": 200 + }, + "input": { + "shape": "GetStudioComponentRequest" + }, + "output": { + "shape": "GetStudioComponentResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "GetStudioMember": { + "name": "GetStudioMember", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/membership/{principalId}", + "responseCode": 200 + }, + "input": { + "shape": "GetStudioMemberRequest" + }, + "output": { + "shape": "GetStudioMemberResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "ListEulaAcceptances": { + "name": "ListEulaAcceptances", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/eula-acceptances", + "responseCode": 200 + }, + "input": { + "shape": "ListEulaAcceptancesRequest" + }, + "output": { + "shape": "ListEulaAcceptancesResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "ListEulas": { + "name": "ListEulas", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/eulas", + "responseCode": 200 + }, + "input": { + "shape": "ListEulasRequest" + }, + "output": { + "shape": "ListEulasResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "ListLaunchProfileMembers": { + "name": "ListLaunchProfileMembers", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership", + "responseCode": 200 + }, + "input": { + "shape": "ListLaunchProfileMembersRequest" + }, + "output": { + "shape": "ListLaunchProfileMembersResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "ListLaunchProfiles": { + "name": "ListLaunchProfiles", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/launch-profiles", + "responseCode": 200 + }, + "input": { + "shape": "ListLaunchProfilesRequest" + }, + "output": { + "shape": "ListLaunchProfilesResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "ListStreamingImages": { + "name": "ListStreamingImages", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/streaming-images", + "responseCode": 200 + }, + "input": { + "shape": "ListStreamingImagesRequest" + }, + "output": { + "shape": "ListStreamingImagesResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "ListStreamingSessions": { + "name": "ListStreamingSessions", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/streaming-sessions", + "responseCode": 200 + }, + "input": { + "shape": "ListStreamingSessionsRequest" + }, + "output": { + "shape": "ListStreamingSessionsResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "ListStudioComponents": { + "name": "ListStudioComponents", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/studio-components", + "responseCode": 200 + }, + "input": { + "shape": "ListStudioComponentsRequest" + }, + "output": { + "shape": "ListStudioComponentsResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "ListStudioMembers": { + "name": "ListStudioMembers", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios/{studioId}/membership", + "responseCode": 200 + }, + "input": { + "shape": "ListStudioMembersRequest" + }, + "output": { + "shape": "ListStudioMembersResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "ListStudios": { + "name": "ListStudios", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/studios", + "responseCode": 200 + }, + "input": { + "shape": "ListStudiosRequest" + }, + "output": { + "shape": "ListStudiosResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "ListTagsForResource": { + "name": "ListTagsForResource", + "http": { + "method": "GET", + "requestUri": "/2020-08-01/tags/{resourceArn}", + "responseCode": 200 + }, + "input": { + "shape": "ListTagsForResourceRequest" + }, + "output": { + "shape": "ListTagsForResourceResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "PutLaunchProfileMembers": { + "name": "PutLaunchProfileMembers", + "http": { + "method": "POST", + "requestUri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership", + "responseCode": 200 + }, + "input": { + "shape": "PutLaunchProfileMembersRequest" + }, + "output": { + "shape": "PutLaunchProfileMembersResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "PutStudioMembers": { + "name": "PutStudioMembers", + "http": { + "method": "POST", + "requestUri": "/2020-08-01/studios/{studioId}/membership", + "responseCode": 200 + }, + "input": { + "shape": "PutStudioMembersRequest" + }, + "output": { + "shape": "PutStudioMembersResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "StartStudioSSOConfigurationRepair": { + "name": "StartStudioSSOConfigurationRepair", + "http": { + "method": "PUT", + "requestUri": "/2020-08-01/studios/{studioId}/sso-configuration", + "responseCode": 200 + }, + "input": { + "shape": "StartStudioSSOConfigurationRepairRequest" + }, + "output": { + "shape": "StartStudioSSOConfigurationRepairResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "TagResource": { + "name": "TagResource", + "http": { + "method": "POST", + "requestUri": "/2020-08-01/tags/{resourceArn}", + "responseCode": 204 + }, + "input": { + "shape": "TagResourceRequest" + }, + "output": { + "shape": "TagResourceResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "UntagResource": { + "name": "UntagResource", + "http": { + "method": "DELETE", + "requestUri": "/2020-08-01/tags/{resourceArn}", + "responseCode": 204 + }, + "input": { + "shape": "UntagResourceRequest" + }, + "output": { + "shape": "UntagResourceResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "UpdateLaunchProfile": { + "name": "UpdateLaunchProfile", + "http": { + "method": "PATCH", + "requestUri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateLaunchProfileRequest" + }, + "output": { + "shape": "UpdateLaunchProfileResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "UpdateLaunchProfileMember": { + "name": "UpdateLaunchProfileMember", + "http": { + "method": "PATCH", + "requestUri": "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateLaunchProfileMemberRequest" + }, + "output": { + "shape": "UpdateLaunchProfileMemberResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "UpdateStreamingImage": { + "name": "UpdateStreamingImage", + "http": { + "method": "PATCH", + "requestUri": "/2020-08-01/studios/{studioId}/streaming-images/{streamingImageId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateStreamingImageRequest" + }, + "output": { + "shape": "UpdateStreamingImageResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "UpdateStudio": { + "name": "UpdateStudio", + "http": { + "method": "PATCH", + "requestUri": "/2020-08-01/studios/{studioId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateStudioRequest" + }, + "output": { + "shape": "UpdateStudioResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + }, + "UpdateStudioComponent": { + "name": "UpdateStudioComponent", + "http": { + "method": "PATCH", + "requestUri": "/2020-08-01/studios/{studioId}/studio-components/{studioComponentId}", + "responseCode": 200 + }, + "input": { + "shape": "UpdateStudioComponentRequest" + }, + "output": { + "shape": "UpdateStudioComponentResponse" + }, + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "InternalServerErrorException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "ConflictException" + } + ] + } + }, + "shapes": { + "AcceptEulasInput": { + "type": "structure", + "members": { + "eulaIds": { + "shape": "EulaIdList", + "locationName": "eulaIds" + } + } + }, + "AcceptEulasOutput": { + "type": "structure", + "members": { + "eulaAcceptances": { + "shape": "EulaAcceptanceList", + "locationName": "eulaAcceptances" + } + } + }, + "AcceptEulasRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "eulaIds": { + "shape": "EulaIdList", + "locationName": "eulaIds" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId" + ] + }, + "AcceptEulasResponse": { + "type": "structure", + "members": { + "eulaAcceptances": { + "shape": "EulaAcceptanceList", + "locationName": "eulaAcceptances" + } + } + }, + "AccessDeniedException": { + "type": "structure", + "members": { + "code": { + "shape": "__string", + "locationName": "code" + }, + "context": { + "shape": "ExceptionContext", + "locationName": "context" + }, + "message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 403 + } + }, + "ActiveDirectoryComputerAttribute": { + "type": "structure", + "members": { + "name": { + "shape": "ActiveDirectoryComputerAttributeName", + "locationName": "name" + }, + "value": { + "shape": "ActiveDirectoryComputerAttributeValue", + "locationName": "value" + } + } + }, + "ActiveDirectoryComputerAttributeList": { + "type": "list", + "max": 50, + "member": { + "shape": "ActiveDirectoryComputerAttribute" + } + }, + "ActiveDirectoryComputerAttributeName": { + "type": "string", + "min": 1, + "max": 40 + }, + "ActiveDirectoryComputerAttributeValue": { + "type": "string", + "min": 1, + "max": 64 + }, + "ActiveDirectoryConfiguration": { + "type": "structure", + "members": { + "computerAttributes": { + "shape": "ActiveDirectoryComputerAttributeList", + "locationName": "computerAttributes" + }, + "directoryId": { + "shape": "DirectoryId", + "locationName": "directoryId" + }, + "organizationalUnitDistinguishedName": { + "shape": "ActiveDirectoryOrganizationalUnitDistinguishedName", + "locationName": "organizationalUnitDistinguishedName" + } + } + }, + "ActiveDirectoryDnsIpAddress": { + "type": "string" + }, + "ActiveDirectoryDnsIpAddressList": { + "type": "list", + "max": 10, + "member": { + "shape": "ActiveDirectoryDnsIpAddress" + } + }, + "ActiveDirectoryOrganizationalUnitDistinguishedName": { + "type": "string", + "min": 1, + "max": 2000 + }, + "ComputeFarmConfiguration": { + "type": "structure", + "members": { + "activeDirectoryUser": { + "shape": "__string", + "locationName": "activeDirectoryUser" + }, + "endpoint": { + "shape": "__string", + "locationName": "endpoint" + } + } + }, + "ConflictException": { + "type": "structure", + "members": { + "code": { + "shape": "__string", + "locationName": "code" + }, + "context": { + "shape": "ExceptionContext", + "locationName": "context" + }, + "message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 409 + } + }, + "CreateLaunchProfileInput": { + "type": "structure", + "members": { + "description": { + "shape": "LaunchProfileDescription", + "locationName": "description" + }, + "ec2SubnetIds": { + "shape": "EC2SubnetIdList", + "locationName": "ec2SubnetIds" + }, + "launchProfileProtocolVersions": { + "shape": "LaunchProfileProtocolVersionList", + "locationName": "launchProfileProtocolVersions" + }, + "name": { + "shape": "LaunchProfileName", + "locationName": "name" + }, + "streamConfiguration": { + "shape": "StreamConfigurationCreate", + "locationName": "streamConfiguration" + }, + "studioComponentIds": { + "shape": "LaunchProfileStudioComponentIdList", + "locationName": "studioComponentIds" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "ec2SubnetIds", + "studioComponentIds", + "launchProfileProtocolVersions", + "name", + "streamConfiguration" + ] + }, + "CreateLaunchProfileOutput": { + "type": "structure", + "members": { + "launchProfile": { + "shape": "LaunchProfile", + "locationName": "launchProfile" + } + } + }, + "CreateLaunchProfileRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "description": { + "shape": "LaunchProfileDescription", + "locationName": "description" + }, + "ec2SubnetIds": { + "shape": "EC2SubnetIdList", + "locationName": "ec2SubnetIds" + }, + "launchProfileProtocolVersions": { + "shape": "LaunchProfileProtocolVersionList", + "locationName": "launchProfileProtocolVersions" + }, + "name": { + "shape": "LaunchProfileName", + "locationName": "name" + }, + "streamConfiguration": { + "shape": "StreamConfigurationCreate", + "locationName": "streamConfiguration" + }, + "studioComponentIds": { + "shape": "LaunchProfileStudioComponentIdList", + "locationName": "studioComponentIds" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "ec2SubnetIds", + "studioComponentIds", + "studioId", + "launchProfileProtocolVersions", + "name", + "streamConfiguration" + ] + }, + "CreateLaunchProfileResponse": { + "type": "structure", + "members": { + "launchProfile": { + "shape": "LaunchProfile", + "locationName": "launchProfile" + } + } + }, + "CreateStreamingImageInput": { + "type": "structure", + "members": { + "description": { + "shape": "StreamingImageDescription", + "locationName": "description" + }, + "ec2ImageId": { + "shape": "EC2ImageId", + "locationName": "ec2ImageId" + }, + "name": { + "shape": "StreamingImageName", + "locationName": "name" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "name", + "ec2ImageId" + ] + }, + "CreateStreamingImageOutput": { + "type": "structure", + "members": { + "streamingImage": { + "shape": "StreamingImage", + "locationName": "streamingImage" + } + } + }, + "CreateStreamingImageRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "description": { + "shape": "StreamingImageDescription", + "locationName": "description" + }, + "ec2ImageId": { + "shape": "EC2ImageId", + "locationName": "ec2ImageId" + }, + "name": { + "shape": "StreamingImageName", + "locationName": "name" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "studioId", + "name", + "ec2ImageId" + ] + }, + "CreateStreamingImageResponse": { + "type": "structure", + "members": { + "streamingImage": { + "shape": "StreamingImage", + "locationName": "streamingImage" + } + } + }, + "CreateStreamingSessionInput": { + "type": "structure", + "members": { + "ec2InstanceType": { + "shape": "StreamingInstanceType", + "locationName": "ec2InstanceType" + }, + "launchProfileId": { + "shape": "__string", + "locationName": "launchProfileId" + }, + "streamingImageId": { + "shape": "StreamingImageId", + "locationName": "streamingImageId" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "CreateStreamingSessionOutput": { + "type": "structure", + "members": { + "session": { + "shape": "StreamingSession", + "locationName": "session" + } + } + }, + "CreateStreamingSessionRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "ec2InstanceType": { + "shape": "StreamingInstanceType", + "locationName": "ec2InstanceType" + }, + "launchProfileId": { + "shape": "__string", + "locationName": "launchProfileId" + }, + "streamingImageId": { + "shape": "StreamingImageId", + "locationName": "streamingImageId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "studioId" + ] + }, + "CreateStreamingSessionResponse": { + "type": "structure", + "members": { + "session": { + "shape": "StreamingSession", + "locationName": "session" + } + } + }, + "CreateStreamingSessionStreamInput": { + "type": "structure", + "members": { + "expirationInSeconds": { + "shape": "StreamingSessionStreamExpirationInSeconds", + "locationName": "expirationInSeconds" + } + } + }, + "CreateStreamingSessionStreamOutput": { + "type": "structure", + "members": { + "stream": { + "shape": "StreamingSessionStream", + "locationName": "stream" + } + } + }, + "CreateStreamingSessionStreamRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "expirationInSeconds": { + "shape": "StreamingSessionStreamExpirationInSeconds", + "locationName": "expirationInSeconds" + }, + "sessionId": { + "shape": "__string", + "location": "uri", + "locationName": "sessionId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "sessionId" + ] + }, + "CreateStreamingSessionStreamResponse": { + "type": "structure", + "members": { + "stream": { + "shape": "StreamingSessionStream", + "locationName": "stream" + } + } + }, + "CreateStudioComponentInput": { + "type": "structure", + "members": { + "configuration": { + "shape": "StudioComponentConfiguration", + "locationName": "configuration" + }, + "description": { + "shape": "StudioComponentDescription", + "locationName": "description" + }, + "ec2SecurityGroupIds": { + "shape": "StudioComponentSecurityGroupIdList", + "locationName": "ec2SecurityGroupIds" + }, + "initializationScripts": { + "shape": "StudioComponentInitializationScriptList", + "locationName": "initializationScripts" + }, + "name": { + "shape": "StudioComponentName", + "locationName": "name" + }, + "scriptParameters": { + "shape": "StudioComponentScriptParameterKeyValueList", + "locationName": "scriptParameters" + }, + "subtype": { + "shape": "StudioComponentSubtype", + "locationName": "subtype" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + }, + "type": { + "shape": "StudioComponentType", + "locationName": "type" + } + }, + "required": [ + "name", + "type" + ] + }, + "CreateStudioComponentOutput": { + "type": "structure", + "members": { + "studioComponent": { + "shape": "StudioComponent", + "locationName": "studioComponent" + } + } + }, + "CreateStudioComponentRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "configuration": { + "shape": "StudioComponentConfiguration", + "locationName": "configuration" + }, + "description": { + "shape": "StudioComponentDescription", + "locationName": "description" + }, + "ec2SecurityGroupIds": { + "shape": "StudioComponentSecurityGroupIdList", + "locationName": "ec2SecurityGroupIds" + }, + "initializationScripts": { + "shape": "StudioComponentInitializationScriptList", + "locationName": "initializationScripts" + }, + "name": { + "shape": "StudioComponentName", + "locationName": "name" + }, + "scriptParameters": { + "shape": "StudioComponentScriptParameterKeyValueList", + "locationName": "scriptParameters" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + }, + "subtype": { + "shape": "StudioComponentSubtype", + "locationName": "subtype" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + }, + "type": { + "shape": "StudioComponentType", + "locationName": "type" + } + }, + "required": [ + "studioId", + "name", + "type" + ] + }, + "CreateStudioComponentResponse": { + "type": "structure", + "members": { + "studioComponent": { + "shape": "StudioComponent", + "locationName": "studioComponent" + } + } + }, + "CreateStudioInput": { + "type": "structure", + "members": { + "adminRoleArn": { + "shape": "__string", + "locationName": "adminRoleArn" + }, + "displayName": { + "shape": "StudioDisplayName", + "locationName": "displayName" + }, + "studioEncryptionConfiguration": { + "shape": "StudioEncryptionConfiguration", + "locationName": "studioEncryptionConfiguration" + }, + "studioName": { + "shape": "StudioName", + "locationName": "studioName" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + }, + "userRoleArn": { + "shape": "__string", + "locationName": "userRoleArn" + } + }, + "required": [ + "displayName", + "studioName", + "userRoleArn", + "adminRoleArn" + ] + }, + "CreateStudioOutput": { + "type": "structure", + "members": { + "studio": { + "shape": "Studio", + "locationName": "studio" + } + } + }, + "CreateStudioRequest": { + "type": "structure", + "members": { + "adminRoleArn": { + "shape": "__string", + "locationName": "adminRoleArn" + }, + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "displayName": { + "shape": "StudioDisplayName", + "locationName": "displayName" + }, + "studioEncryptionConfiguration": { + "shape": "StudioEncryptionConfiguration", + "locationName": "studioEncryptionConfiguration" + }, + "studioName": { + "shape": "StudioName", + "locationName": "studioName" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + }, + "userRoleArn": { + "shape": "__string", + "locationName": "userRoleArn" + } + }, + "required": [ + "displayName", + "studioName", + "userRoleArn", + "adminRoleArn" + ] + }, + "CreateStudioResponse": { + "type": "structure", + "members": { + "studio": { + "shape": "Studio", + "locationName": "studio" + } + } + }, + "DeleteLaunchProfileMemberOutput": { + "type": "structure", + "members": {} + }, + "DeleteLaunchProfileMemberRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "launchProfileId": { + "shape": "__string", + "location": "uri", + "locationName": "launchProfileId" + }, + "principalId": { + "shape": "__string", + "location": "uri", + "locationName": "principalId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "principalId", + "launchProfileId" + ] + }, + "DeleteLaunchProfileMemberResponse": { + "type": "structure", + "members": {} + }, + "DeleteLaunchProfileOutput": { + "type": "structure", + "members": { + "launchProfile": { + "shape": "LaunchProfile", + "locationName": "launchProfile" + } + } + }, + "DeleteLaunchProfileRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "launchProfileId": { + "shape": "__string", + "location": "uri", + "locationName": "launchProfileId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "launchProfileId" + ] + }, + "DeleteLaunchProfileResponse": { + "type": "structure", + "members": { + "launchProfile": { + "shape": "LaunchProfile", + "locationName": "launchProfile" + } + } + }, + "DeleteStreamingImageOutput": { + "type": "structure", + "members": { + "streamingImage": { + "shape": "StreamingImage", + "locationName": "streamingImage" + } + } + }, + "DeleteStreamingImageRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "streamingImageId": { + "shape": "__string", + "location": "uri", + "locationName": "streamingImageId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "streamingImageId" + ] + }, + "DeleteStreamingImageResponse": { + "type": "structure", + "members": { + "streamingImage": { + "shape": "StreamingImage", + "locationName": "streamingImage" + } + } + }, + "DeleteStreamingSessionOutput": { + "type": "structure", + "members": { + "session": { + "shape": "StreamingSession", + "locationName": "session" + } + } + }, + "DeleteStreamingSessionRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "sessionId": { + "shape": "__string", + "location": "uri", + "locationName": "sessionId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "sessionId" + ] + }, + "DeleteStreamingSessionResponse": { + "type": "structure", + "members": { + "session": { + "shape": "StreamingSession", + "locationName": "session" + } + } + }, + "DeleteStudioComponentOutput": { + "type": "structure", + "members": { + "studioComponent": { + "shape": "StudioComponent", + "locationName": "studioComponent" + } + } + }, + "DeleteStudioComponentRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "studioComponentId": { + "shape": "__string", + "location": "uri", + "locationName": "studioComponentId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "studioComponentId" + ] + }, + "DeleteStudioComponentResponse": { + "type": "structure", + "members": { + "studioComponent": { + "shape": "StudioComponent", + "locationName": "studioComponent" + } + } + }, + "DeleteStudioMemberOutput": { + "type": "structure", + "members": {} + }, + "DeleteStudioMemberRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "principalId": { + "shape": "__string", + "location": "uri", + "locationName": "principalId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "principalId" + ] + }, + "DeleteStudioMemberResponse": { + "type": "structure", + "members": {} + }, + "DeleteStudioOutput": { + "type": "structure", + "members": { + "studio": { + "shape": "Studio", + "locationName": "studio" + } + } + }, + "DeleteStudioRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId" + ] + }, + "DeleteStudioResponse": { + "type": "structure", + "members": { + "studio": { + "shape": "Studio", + "locationName": "studio" + } + } + }, + "DirectoryId": { + "type": "string" + }, + "EC2ImageId": { + "type": "string", + "pattern": "^ami-[0-9A-z]+$" + }, + "EC2SubnetId": { + "type": "string" + }, + "EC2SubnetIdList": { + "type": "list", + "max": 6, + "member": { + "shape": "EC2SubnetId" + } + }, + "Empty": { + "type": "structure", + "members": {} + }, + "Eula": { + "type": "structure", + "members": { + "content": { + "shape": "__string", + "locationName": "content" + }, + "createdAt": { + "shape": "Timestamp", + "locationName": "createdAt" + }, + "eulaId": { + "shape": "EulaId", + "locationName": "eulaId" + }, + "name": { + "shape": "EulaName", + "locationName": "name" + }, + "updatedAt": { + "shape": "Timestamp", + "locationName": "updatedAt" + } + } + }, + "EulaAcceptance": { + "type": "structure", + "members": { + "acceptedAt": { + "shape": "Timestamp", + "locationName": "acceptedAt" + }, + "acceptedBy": { + "shape": "__string", + "locationName": "acceptedBy" + }, + "accepteeId": { + "shape": "__string", + "locationName": "accepteeId" + }, + "eulaAcceptanceId": { + "shape": "EulaAcceptanceId", + "locationName": "eulaAcceptanceId" + }, + "eulaId": { + "shape": "EulaId", + "locationName": "eulaId" + } + } + }, + "EulaAcceptanceId": { + "type": "string", + "max": 22, + "pattern": "^[a-zA-Z0-9-_]*$" + }, + "EulaAcceptanceList": { + "type": "list", + "member": { + "shape": "EulaAcceptance" + } + }, + "EulaId": { + "type": "string", + "max": 22, + "pattern": "^[a-zA-Z0-9-_]*$" + }, + "EulaIdList": { + "type": "list", + "member": { + "shape": "__string" + } + }, + "EulaList": { + "type": "list", + "member": { + "shape": "Eula" + } + }, + "EulaName": { + "type": "string", + "max": 64 + }, + "ExceptionContext": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__string" + } + }, + "GetEulaOutput": { + "type": "structure", + "members": { + "eula": { + "shape": "Eula", + "locationName": "eula" + } + } + }, + "GetEulaRequest": { + "type": "structure", + "members": { + "eulaId": { + "shape": "__string", + "location": "uri", + "locationName": "eulaId" + } + }, + "required": [ + "eulaId" + ] + }, + "GetEulaResponse": { + "type": "structure", + "members": { + "eula": { + "shape": "Eula", + "locationName": "eula" + } + } + }, + "GetLaunchProfileDetailsOutput": { + "type": "structure", + "members": { + "launchProfile": { + "shape": "LaunchProfile", + "locationName": "launchProfile" + }, + "streamingImages": { + "shape": "StreamingImageList", + "locationName": "streamingImages" + }, + "studioComponentSummaries": { + "shape": "StudioComponentSummaryList", + "locationName": "studioComponentSummaries" + } + } + }, + "GetLaunchProfileDetailsRequest": { + "type": "structure", + "members": { + "launchProfileId": { + "shape": "__string", + "location": "uri", + "locationName": "launchProfileId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "launchProfileId" + ] + }, + "GetLaunchProfileDetailsResponse": { + "type": "structure", + "members": { + "launchProfile": { + "shape": "LaunchProfile", + "locationName": "launchProfile" + }, + "streamingImages": { + "shape": "StreamingImageList", + "locationName": "streamingImages" + }, + "studioComponentSummaries": { + "shape": "StudioComponentSummaryList", + "locationName": "studioComponentSummaries" + } + } + }, + "GetLaunchProfileInitializationOutput": { + "type": "structure", + "members": { + "launchProfileInitialization": { + "shape": "LaunchProfileInitialization", + "locationName": "launchProfileInitialization" + } + } + }, + "GetLaunchProfileInitializationRequest": { + "type": "structure", + "members": { + "launchProfileId": { + "shape": "__string", + "location": "uri", + "locationName": "launchProfileId" + }, + "launchProfileProtocolVersions": { + "shape": "multiValueQueryStringList", + "location": "querystring", + "locationName": "launchProfileProtocolVersions" + }, + "launchPurpose": { + "shape": "__string", + "location": "querystring", + "locationName": "launchPurpose" + }, + "platform": { + "shape": "__string", + "location": "querystring", + "locationName": "platform" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "launchProfileProtocolVersions", + "launchPurpose", + "launchProfileId", + "platform" + ] + }, + "GetLaunchProfileInitializationResponse": { + "type": "structure", + "members": { + "launchProfileInitialization": { + "shape": "LaunchProfileInitialization", + "locationName": "launchProfileInitialization" + } + } + }, + "GetLaunchProfileMemberOutput": { + "type": "structure", + "members": { + "member": { + "shape": "LaunchProfileMembership", + "locationName": "member" + } + } + }, + "GetLaunchProfileMemberRequest": { + "type": "structure", + "members": { + "launchProfileId": { + "shape": "__string", + "location": "uri", + "locationName": "launchProfileId" + }, + "principalId": { + "shape": "__string", + "location": "uri", + "locationName": "principalId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "principalId", + "launchProfileId" + ] + }, + "GetLaunchProfileMemberResponse": { + "type": "structure", + "members": { + "member": { + "shape": "LaunchProfileMembership", + "locationName": "member" + } + } + }, + "GetLaunchProfileOutput": { + "type": "structure", + "members": { + "launchProfile": { + "shape": "LaunchProfile", + "locationName": "launchProfile" + } + } + }, + "GetLaunchProfileRequest": { + "type": "structure", + "members": { + "launchProfileId": { + "shape": "__string", + "location": "uri", + "locationName": "launchProfileId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "launchProfileId" + ] + }, + "GetLaunchProfileResponse": { + "type": "structure", + "members": { + "launchProfile": { + "shape": "LaunchProfile", + "locationName": "launchProfile" + } + } + }, + "GetStreamingImageOutput": { + "type": "structure", + "members": { + "streamingImage": { + "shape": "StreamingImage", + "locationName": "streamingImage" + } + } + }, + "GetStreamingImageRequest": { + "type": "structure", + "members": { + "streamingImageId": { + "shape": "__string", + "location": "uri", + "locationName": "streamingImageId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "streamingImageId" + ] + }, + "GetStreamingImageResponse": { + "type": "structure", + "members": { + "streamingImage": { + "shape": "StreamingImage", + "locationName": "streamingImage" + } + } + }, + "GetStreamingSessionOutput": { + "type": "structure", + "members": { + "session": { + "shape": "StreamingSession", + "locationName": "session" + } + } + }, + "GetStreamingSessionRequest": { + "type": "structure", + "members": { + "sessionId": { + "shape": "__string", + "location": "uri", + "locationName": "sessionId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "sessionId" + ] + }, + "GetStreamingSessionResponse": { + "type": "structure", + "members": { + "session": { + "shape": "StreamingSession", + "locationName": "session" + } + } + }, + "GetStreamingSessionStreamOutput": { + "type": "structure", + "members": { + "stream": { + "shape": "StreamingSessionStream", + "locationName": "stream" + } + } + }, + "GetStreamingSessionStreamRequest": { + "type": "structure", + "members": { + "sessionId": { + "shape": "__string", + "location": "uri", + "locationName": "sessionId" + }, + "streamId": { + "shape": "__string", + "location": "uri", + "locationName": "streamId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "streamId", + "sessionId" + ] + }, + "GetStreamingSessionStreamResponse": { + "type": "structure", + "members": { + "stream": { + "shape": "StreamingSessionStream", + "locationName": "stream" + } + } + }, + "GetStudioComponentOutput": { + "type": "structure", + "members": { + "studioComponent": { + "shape": "StudioComponent", + "locationName": "studioComponent" + } + } + }, + "GetStudioComponentRequest": { + "type": "structure", + "members": { + "studioComponentId": { + "shape": "__string", + "location": "uri", + "locationName": "studioComponentId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "studioComponentId" + ] + }, + "GetStudioComponentResponse": { + "type": "structure", + "members": { + "studioComponent": { + "shape": "StudioComponent", + "locationName": "studioComponent" + } + } + }, + "GetStudioMemberOutput": { + "type": "structure", + "members": { + "member": { + "shape": "StudioMembership", + "locationName": "member" + } + } + }, + "GetStudioMemberRequest": { + "type": "structure", + "members": { + "principalId": { + "shape": "__string", + "location": "uri", + "locationName": "principalId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "principalId" + ] + }, + "GetStudioMemberResponse": { + "type": "structure", + "members": { + "member": { + "shape": "StudioMembership", + "locationName": "member" + } + } + }, + "GetStudioOutput": { + "type": "structure", + "members": { + "studio": { + "shape": "Studio", + "locationName": "studio" + } + } + }, + "GetStudioRequest": { + "type": "structure", + "members": { + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId" + ] + }, + "GetStudioResponse": { + "type": "structure", + "members": { + "studio": { + "shape": "Studio", + "locationName": "studio" + } + } + }, + "InternalServerErrorException": { + "type": "structure", + "members": { + "code": { + "shape": "__string", + "locationName": "code" + }, + "context": { + "shape": "ExceptionContext", + "locationName": "context" + }, + "message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 500 + } + }, + "InternalServerException": { + "type": "structure", + "members": { + "code": { + "shape": "__string", + "locationName": "code" + }, + "context": { + "shape": "ExceptionContext", + "locationName": "context" + }, + "message": { + "shape": "__string", + "locationName": "message" + } + } + }, + "LaunchProfile": { + "type": "structure", + "members": { + "arn": { + "shape": "__string", + "locationName": "arn" + }, + "createdAt": { + "shape": "Timestamp", + "locationName": "createdAt" + }, + "createdBy": { + "shape": "__string", + "locationName": "createdBy" + }, + "description": { + "shape": "LaunchProfileDescription", + "locationName": "description" + }, + "ec2SubnetIds": { + "shape": "EC2SubnetIdList", + "locationName": "ec2SubnetIds" + }, + "launchProfileId": { + "shape": "LaunchProfileId", + "locationName": "launchProfileId" + }, + "launchProfileProtocolVersions": { + "shape": "LaunchProfileProtocolVersionList", + "locationName": "launchProfileProtocolVersions" + }, + "name": { + "shape": "LaunchProfileName", + "locationName": "name" + }, + "state": { + "shape": "LaunchProfileState", + "locationName": "state" + }, + "statusCode": { + "shape": "LaunchProfileStatusCode", + "locationName": "statusCode" + }, + "statusMessage": { + "shape": "__string", + "locationName": "statusMessage" + }, + "streamConfiguration": { + "shape": "StreamConfiguration", + "locationName": "streamConfiguration" + }, + "studioComponentIds": { + "shape": "LaunchProfileStudioComponentIdList", + "locationName": "studioComponentIds" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + }, + "updatedAt": { + "shape": "Timestamp", + "locationName": "updatedAt" + }, + "updatedBy": { + "shape": "__string", + "locationName": "updatedBy" + } + } + }, + "LaunchProfileDescription": { + "type": "string", + "max": 256 + }, + "LaunchProfileId": { + "type": "string", + "max": 22, + "pattern": "^[a-zA-Z0-9-_]*$" + }, + "LaunchProfileInitialization": { + "type": "structure", + "members": { + "activeDirectory": { + "shape": "LaunchProfileInitializationActiveDirectory", + "locationName": "activeDirectory" + }, + "ec2SecurityGroupIds": { + "shape": "LaunchProfileSecurityGroupIdList", + "locationName": "ec2SecurityGroupIds" + }, + "launchProfileId": { + "shape": "LaunchProfileId", + "locationName": "launchProfileId" + }, + "launchProfileProtocolVersion": { + "shape": "LaunchProfileProtocolVersion", + "locationName": "launchProfileProtocolVersion" + }, + "launchPurpose": { + "shape": "LaunchPurpose", + "locationName": "launchPurpose" + }, + "name": { + "shape": "LaunchProfileName", + "locationName": "name" + }, + "platform": { + "shape": "LaunchProfilePlatform", + "locationName": "platform" + }, + "systemInitializationScripts": { + "shape": "LaunchProfileInitializationScriptList", + "locationName": "systemInitializationScripts" + }, + "userInitializationScripts": { + "shape": "LaunchProfileInitializationScriptList", + "locationName": "userInitializationScripts" + } + } + }, + "LaunchProfileInitializationActiveDirectory": { + "type": "structure", + "members": { + "computerAttributes": { + "shape": "ActiveDirectoryComputerAttributeList", + "locationName": "computerAttributes" + }, + "directoryId": { + "shape": "DirectoryId", + "locationName": "directoryId" + }, + "directoryName": { + "shape": "__string", + "locationName": "directoryName" + }, + "dnsIpAddresses": { + "shape": "ActiveDirectoryDnsIpAddressList", + "locationName": "dnsIpAddresses" + }, + "organizationalUnitDistinguishedName": { + "shape": "ActiveDirectoryOrganizationalUnitDistinguishedName", + "locationName": "organizationalUnitDistinguishedName" + }, + "studioComponentId": { + "shape": "StudioComponentId", + "locationName": "studioComponentId" + }, + "studioComponentName": { + "shape": "StudioComponentName", + "locationName": "studioComponentName" + } + } + }, + "LaunchProfileInitializationScript": { + "type": "structure", + "members": { + "script": { + "shape": "StudioComponentInitializationScriptContent", + "locationName": "script" + }, + "studioComponentId": { + "shape": "StudioComponentId", + "locationName": "studioComponentId" + }, + "studioComponentName": { + "shape": "StudioComponentName", + "locationName": "studioComponentName" + } + } + }, + "LaunchProfileInitializationScriptList": { + "type": "list", + "member": { + "shape": "LaunchProfileInitializationScript" + } + }, + "LaunchProfileList": { + "type": "list", + "member": { + "shape": "LaunchProfile" + } + }, + "LaunchProfileMembership": { + "type": "structure", + "members": { + "identityStoreId": { + "shape": "__string", + "locationName": "identityStoreId" + }, + "persona": { + "shape": "LaunchProfilePersona", + "locationName": "persona" + }, + "principalId": { + "shape": "__string", + "locationName": "principalId" + } + } + }, + "LaunchProfileMembershipList": { + "type": "list", + "max": 20, + "member": { + "shape": "LaunchProfileMembership" + } + }, + "LaunchProfileName": { + "type": "string", + "max": 64 + }, + "LaunchProfilePersona": { + "type": "string", + "enum": [ + "USER" + ] + }, + "LaunchProfilePlatform": { + "type": "string", + "enum": [ + "LINUX", + "WINDOWS" + ] + }, + "LaunchProfileProtocolVersion": { + "type": "string", + "max": 10, + "pattern": "^2021\\-03\\-31$" + }, + "LaunchProfileProtocolVersionList": { + "type": "list", + "member": { + "shape": "LaunchProfileProtocolVersion" + } + }, + "LaunchProfileSecurityGroupIdList": { + "type": "list", + "min": 1, + "member": { + "shape": "SecurityGroupId" + } + }, + "LaunchProfileState": { + "type": "string", + "enum": [ + "CREATE_IN_PROGRESS", + "READY", + "UPDATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "DELETED", + "DELETE_FAILED", + "CREATE_FAILED", + "UPDATE_FAILED" + ] + }, + "LaunchProfileStatusCode": { + "type": "string", + "enum": [ + "LAUNCH_PROFILE_CREATED", + "LAUNCH_PROFILE_UPDATED", + "LAUNCH_PROFILE_DELETED", + "LAUNCH_PROFILE_CREATE_IN_PROGRESS", + "LAUNCH_PROFILE_UPDATE_IN_PROGRESS", + "LAUNCH_PROFILE_DELETE_IN_PROGRESS", + "INTERNAL_ERROR", + "STREAMING_IMAGE_NOT_FOUND", + "STREAMING_IMAGE_NOT_READY", + "LAUNCH_PROFILE_WITH_STREAM_SESSIONS_NOT_DELETED", + "ENCRYPTION_KEY_ACCESS_DENIED", + "ENCRYPTION_KEY_NOT_FOUND", + "INVALID_SUBNETS_PROVIDED" + ] + }, + "LaunchProfileStudioComponentIdList": { + "type": "list", + "min": 1, + "max": 100, + "member": { + "shape": "__string" + } + }, + "LaunchPurpose": { + "type": "string", + "max": 64, + "pattern": "^[A-Z0-9_]+$" + }, + "LicenseServiceConfiguration": { + "type": "structure", + "members": { + "endpoint": { + "shape": "__string", + "locationName": "endpoint" + } + } + }, + "LinuxMountPoint": { + "type": "string", + "max": 128, + "pattern": "^(/?|(\\$HOME)?(/[^/\\n\\s\\\\]+)*)$" + }, + "ListEulaAcceptancesOutput": { + "type": "structure", + "members": { + "eulaAcceptances": { + "shape": "EulaAcceptanceList", + "locationName": "eulaAcceptances" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + } + } + }, + "ListEulaAcceptancesRequest": { + "type": "structure", + "members": { + "eulaIds": { + "shape": "multiValueQueryStringList", + "location": "querystring", + "locationName": "eulaIds" + }, + "nextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId" + ] + }, + "ListEulaAcceptancesResponse": { + "type": "structure", + "members": { + "eulaAcceptances": { + "shape": "EulaAcceptanceList", + "locationName": "eulaAcceptances" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + } + } + }, + "ListEulasOutput": { + "type": "structure", + "members": { + "eulas": { + "shape": "EulaList", + "locationName": "eulas" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + } + } + }, + "ListEulasRequest": { + "type": "structure", + "members": { + "eulaIds": { + "shape": "multiValueQueryStringList", + "location": "querystring", + "locationName": "eulaIds" + }, + "nextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + } + } + }, + "ListEulasResponse": { + "type": "structure", + "members": { + "eulas": { + "shape": "EulaList", + "locationName": "eulas" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + } + } + }, + "ListLaunchProfileMembersOutput": { + "type": "structure", + "members": { + "members": { + "shape": "LaunchProfileMembershipList", + "locationName": "members" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + } + } + }, + "ListLaunchProfileMembersRequest": { + "type": "structure", + "members": { + "launchProfileId": { + "shape": "__string", + "location": "uri", + "locationName": "launchProfileId" + }, + "maxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "nextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "launchProfileId" + ] + }, + "ListLaunchProfileMembersResponse": { + "type": "structure", + "members": { + "members": { + "shape": "LaunchProfileMembershipList", + "locationName": "members" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + } + } + }, + "ListLaunchProfilesOutput": { + "type": "structure", + "members": { + "launchProfiles": { + "shape": "LaunchProfileList", + "locationName": "launchProfiles" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + } + } + }, + "ListLaunchProfilesRequest": { + "type": "structure", + "members": { + "maxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "nextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "principalId": { + "shape": "__string", + "location": "querystring", + "locationName": "principalId" + }, + "states": { + "shape": "multiValueQueryStringList", + "location": "querystring", + "locationName": "states" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId" + ] + }, + "ListLaunchProfilesResponse": { + "type": "structure", + "members": { + "launchProfiles": { + "shape": "LaunchProfileList", + "locationName": "launchProfiles" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + } + } + }, + "ListStreamingImagesOutput": { + "type": "structure", + "members": { + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + }, + "streamingImages": { + "shape": "StreamingImageList", + "locationName": "streamingImages" + } + } + }, + "ListStreamingImagesRequest": { + "type": "structure", + "members": { + "nextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "owner": { + "shape": "__string", + "location": "querystring", + "locationName": "owner" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId" + ] + }, + "ListStreamingImagesResponse": { + "type": "structure", + "members": { + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + }, + "streamingImages": { + "shape": "StreamingImageList", + "locationName": "streamingImages" + } + } + }, + "ListStreamingSessionsOutput": { + "type": "structure", + "members": { + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + }, + "sessions": { + "shape": "StreamingSessionList", + "locationName": "sessions" + } + } + }, + "ListStreamingSessionsRequest": { + "type": "structure", + "members": { + "createdBy": { + "shape": "__string", + "location": "querystring", + "locationName": "createdBy" + }, + "nextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "sessionIds": { + "shape": "__string", + "location": "querystring", + "locationName": "sessionIds" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId" + ] + }, + "ListStreamingSessionsResponse": { + "type": "structure", + "members": { + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + }, + "sessions": { + "shape": "StreamingSessionList", + "locationName": "sessions" + } + } + }, + "ListStudioComponentsOutput": { + "type": "structure", + "members": { + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + }, + "studioComponents": { + "shape": "StudioComponentList", + "locationName": "studioComponents" + } + } + }, + "ListStudioComponentsRequest": { + "type": "structure", + "members": { + "maxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "nextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "states": { + "shape": "multiValueQueryStringList", + "location": "querystring", + "locationName": "states" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + }, + "types": { + "shape": "multiValueQueryStringList", + "location": "querystring", + "locationName": "types" + } + }, + "required": [ + "studioId" + ] + }, + "ListStudioComponentsResponse": { + "type": "structure", + "members": { + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + }, + "studioComponents": { + "shape": "StudioComponentList", + "locationName": "studioComponents" + } + } + }, + "ListStudioMembersOutput": { + "type": "structure", + "members": { + "members": { + "shape": "StudioMembershipList", + "locationName": "members" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + } + } + }, + "ListStudioMembersRequest": { + "type": "structure", + "members": { + "maxResults": { + "shape": "MaxResults", + "location": "querystring", + "locationName": "maxResults" + }, + "nextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId" + ] + }, + "ListStudioMembersResponse": { + "type": "structure", + "members": { + "members": { + "shape": "StudioMembershipList", + "locationName": "members" + }, + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + } + } + }, + "ListStudiosOutput": { + "type": "structure", + "members": { + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + }, + "studios": { + "shape": "StudioList", + "locationName": "studios" + } + } + }, + "ListStudiosRequest": { + "type": "structure", + "members": { + "nextToken": { + "shape": "__string", + "location": "querystring", + "locationName": "nextToken" + } + } + }, + "ListStudiosResponse": { + "type": "structure", + "members": { + "nextToken": { + "shape": "__string", + "locationName": "nextToken" + }, + "studios": { + "shape": "StudioList", + "locationName": "studios" + } + } + }, + "ListTagsForResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resourceArn" + } + }, + "required": [ + "resourceArn" + ] + }, + "ListTagsForResourceResponse": { + "type": "structure", + "members": { + "tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "ListTagsOutput": { + "type": "structure", + "members": { + "tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "MaxResults": { + "type": "integer", + "min": 1, + "max": 100 + }, + "NewLaunchProfileMember": { + "type": "structure", + "members": { + "persona": { + "shape": "LaunchProfilePersona", + "locationName": "persona" + }, + "principalId": { + "shape": "__string", + "locationName": "principalId" + } + }, + "required": [ + "persona", + "principalId" + ] + }, + "NewLaunchProfileMemberList": { + "type": "list", + "max": 20, + "member": { + "shape": "NewLaunchProfileMember" + } + }, + "NewStudioMember": { + "type": "structure", + "members": { + "persona": { + "shape": "StudioPersona", + "locationName": "persona" + }, + "principalId": { + "shape": "__string", + "locationName": "principalId" + } + }, + "required": [ + "persona", + "principalId" + ] + }, + "NewStudioMemberList": { + "type": "list", + "max": 20, + "member": { + "shape": "NewStudioMember" + } + }, + "PutLaunchProfileMembersInput": { + "type": "structure", + "members": { + "identityStoreId": { + "shape": "__string", + "locationName": "identityStoreId" + }, + "members": { + "shape": "NewLaunchProfileMemberList", + "locationName": "members" + } + }, + "required": [ + "members", + "identityStoreId" + ] + }, + "PutLaunchProfileMembersRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "identityStoreId": { + "shape": "__string", + "locationName": "identityStoreId" + }, + "launchProfileId": { + "shape": "__string", + "location": "uri", + "locationName": "launchProfileId" + }, + "members": { + "shape": "NewLaunchProfileMemberList", + "locationName": "members" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "members", + "launchProfileId", + "identityStoreId" + ] + }, + "PutLaunchProfileMembersResponse": { + "type": "structure", + "members": {} + }, + "PutStudioMembersInput": { + "type": "structure", + "members": { + "identityStoreId": { + "shape": "__string", + "locationName": "identityStoreId" + }, + "members": { + "shape": "NewStudioMemberList", + "locationName": "members" + } + }, + "required": [ + "members", + "identityStoreId" + ] + }, + "PutStudioMembersOutput": { + "type": "structure", + "members": {} + }, + "PutStudioMembersRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "identityStoreId": { + "shape": "__string", + "locationName": "identityStoreId" + }, + "members": { + "shape": "NewStudioMemberList", + "locationName": "members" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "members", + "identityStoreId" + ] + }, + "PutStudioMembersResponse": { + "type": "structure", + "members": {} + }, + "Region": { + "type": "string", + "max": 50, + "pattern": "[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]" + }, + "ResourceNotFoundException": { + "type": "structure", + "members": { + "code": { + "shape": "__string", + "locationName": "code" + }, + "context": { + "shape": "ExceptionContext", + "locationName": "context" + }, + "message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 404 + } + }, + "ScriptParameterKey": { + "type": "string", + "min": 1, + "max": 64, + "pattern": "^[a-zA-Z_][a-zA-Z0-9_]+$" + }, + "ScriptParameterKeyValue": { + "type": "structure", + "members": { + "key": { + "shape": "ScriptParameterKey", + "locationName": "key" + }, + "value": { + "shape": "ScriptParameterValue", + "locationName": "value" + } + } + }, + "ScriptParameterValue": { + "type": "string", + "min": 1, + "max": 256 + }, + "SecurityGroupId": { + "type": "string" + }, + "ServiceQuotaExceededException": { + "type": "structure", + "members": { + "code": { + "shape": "__string", + "locationName": "code" + }, + "context": { + "shape": "ExceptionContext", + "locationName": "context" + }, + "message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 402 + } + }, + "SharedFileSystemConfiguration": { + "type": "structure", + "members": { + "endpoint": { + "shape": "__string", + "locationName": "endpoint" + }, + "fileSystemId": { + "shape": "__string", + "locationName": "fileSystemId" + }, + "linuxMountPoint": { + "shape": "LinuxMountPoint", + "locationName": "linuxMountPoint" + }, + "shareName": { + "shape": "__string", + "locationName": "shareName" + }, + "windowsMountDrive": { + "shape": "WindowsMountDrive", + "locationName": "windowsMountDrive" + } + } + }, + "StartStudioSSOConfigurationRepairOutput": { + "type": "structure", + "members": { + "studio": { + "shape": "Studio", + "locationName": "studio" + } + } + }, + "StartStudioSSOConfigurationRepairRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId" + ] + }, + "StartStudioSSOConfigurationRepairResponse": { + "type": "structure", + "members": { + "studio": { + "shape": "Studio", + "locationName": "studio" + } + } + }, + "StreamConfiguration": { + "type": "structure", + "members": { + "clipboardMode": { + "shape": "StreamingClipboardMode", + "locationName": "clipboardMode" + }, + "ec2InstanceTypes": { + "shape": "StreamingInstanceTypeList", + "locationName": "ec2InstanceTypes" + }, + "maxSessionLengthInMinutes": { + "shape": "StreamConfigurationMaxSessionLengthInMinutes", + "locationName": "maxSessionLengthInMinutes" + }, + "streamingImageIds": { + "shape": "StreamingImageIdList", + "locationName": "streamingImageIds" + } + } + }, + "StreamConfigurationCreate": { + "type": "structure", + "members": { + "clipboardMode": { + "shape": "StreamingClipboardMode", + "locationName": "clipboardMode" + }, + "ec2InstanceTypes": { + "shape": "StreamingInstanceTypeList", + "locationName": "ec2InstanceTypes" + }, + "maxSessionLengthInMinutes": { + "shape": "StreamConfigurationMaxSessionLengthInMinutes", + "locationName": "maxSessionLengthInMinutes" + }, + "streamingImageIds": { + "shape": "StreamingImageIdList", + "locationName": "streamingImageIds" + } + }, + "required": [ + "clipboardMode", + "streamingImageIds", + "ec2InstanceTypes" + ] + }, + "StreamConfigurationMaxSessionLengthInMinutes": { + "type": "integer", + "min": 1, + "max": 690 + }, + "StreamingClipboardMode": { + "type": "string", + "enum": [ + "ENABLED", + "DISABLED" + ] + }, + "StreamingImage": { + "type": "structure", + "members": { + "arn": { + "shape": "__string", + "locationName": "arn" + }, + "description": { + "shape": "StreamingImageDescription", + "locationName": "description" + }, + "ec2ImageId": { + "shape": "EC2ImageId", + "locationName": "ec2ImageId" + }, + "encryptionConfiguration": { + "shape": "StreamingImageEncryptionConfiguration", + "locationName": "encryptionConfiguration" + }, + "eulaIds": { + "shape": "EulaIdList", + "locationName": "eulaIds" + }, + "name": { + "shape": "StreamingImageName", + "locationName": "name" + }, + "owner": { + "shape": "StreamingImageOwner", + "locationName": "owner" + }, + "platform": { + "shape": "StreamingImagePlatform", + "locationName": "platform" + }, + "state": { + "shape": "StreamingImageState", + "locationName": "state" + }, + "statusCode": { + "shape": "StreamingImageStatusCode", + "locationName": "statusCode" + }, + "statusMessage": { + "shape": "__string", + "locationName": "statusMessage" + }, + "streamingImageId": { + "shape": "StreamingImageId", + "locationName": "streamingImageId" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "StreamingImageDescription": { + "type": "string", + "max": 256 + }, + "StreamingImageEncryptionConfiguration": { + "type": "structure", + "members": { + "keyArn": { + "shape": "StreamingImageEncryptionConfigurationKeyArn", + "locationName": "keyArn" + }, + "keyType": { + "shape": "StreamingImageEncryptionConfigurationKeyType", + "locationName": "keyType" + } + }, + "required": [ + "keyType" + ] + }, + "StreamingImageEncryptionConfigurationKeyArn": { + "type": "string", + "min": 4, + "pattern": "^arn:.*" + }, + "StreamingImageEncryptionConfigurationKeyType": { + "type": "string", + "enum": [ + "CUSTOMER_MANAGED_KEY" + ] + }, + "StreamingImageId": { + "type": "string", + "max": 22, + "pattern": "^[a-zA-Z0-9-_]*$" + }, + "StreamingImageIdList": { + "type": "list", + "max": 20, + "member": { + "shape": "StreamingImageId" + } + }, + "StreamingImageList": { + "type": "list", + "member": { + "shape": "StreamingImage" + } + }, + "StreamingImageName": { + "type": "string", + "max": 64 + }, + "StreamingImageOwner": { + "type": "string" + }, + "StreamingImagePlatform": { + "type": "string", + "pattern": "^[a-zA-Z]*$" + }, + "StreamingImageSessionId": { + "type": "string", + "pattern": "^[A-z0-9-_:]*\\.{1}[A-z0-9-_]*$" + }, + "StreamingImageState": { + "type": "string", + "enum": [ + "CREATE_IN_PROGRESS", + "READY", + "DELETE_IN_PROGRESS", + "DELETED", + "UPDATE_IN_PROGRESS", + "UPDATE_FAILED", + "CREATE_FAILED", + "DELETE_FAILED" + ] + }, + "StreamingImageStatusCode": { + "type": "string", + "enum": [ + "STREAMING_IMAGE_CREATE_IN_PROGRESS", + "STREAMING_IMAGE_READY", + "STREAMING_IMAGE_DELETE_IN_PROGRESS", + "STREAMING_IMAGE_DELETED", + "STREAMING_IMAGE_UPDATE_IN_PROGRESS", + "INTERNAL_ERROR" + ] + }, + "StreamingInstanceType": { + "type": "string", + "enum": [ + "g4dn.xlarge", + "g4dn.2xlarge", + "g4dn.4xlarge", + "g4dn.8xlarge", + "g4dn.12xlarge", + "g4dn.16xlarge" + ] + }, + "StreamingInstanceTypeList": { + "type": "list", + "min": 1, + "max": 30, + "member": { + "shape": "StreamingInstanceType" + } + }, + "StreamingSession": { + "type": "structure", + "members": { + "arn": { + "shape": "__string", + "locationName": "arn" + }, + "createdAt": { + "shape": "Timestamp", + "locationName": "createdAt" + }, + "createdBy": { + "shape": "__string", + "locationName": "createdBy" + }, + "ec2InstanceType": { + "shape": "__string", + "locationName": "ec2InstanceType" + }, + "launchProfileId": { + "shape": "__string", + "locationName": "launchProfileId" + }, + "sessionId": { + "shape": "StreamingImageSessionId", + "locationName": "sessionId" + }, + "state": { + "shape": "StreamingSessionState", + "locationName": "state" + }, + "statusCode": { + "shape": "StreamingSessionStatusCode", + "locationName": "statusCode" + }, + "statusMessage": { + "shape": "__string", + "locationName": "statusMessage" + }, + "streamingImageId": { + "shape": "StreamingImageId", + "locationName": "streamingImageId" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + }, + "terminateAt": { + "shape": "Timestamp", + "locationName": "terminateAt" + }, + "updatedAt": { + "shape": "Timestamp", + "locationName": "updatedAt" + }, + "updatedBy": { + "shape": "__string", + "locationName": "updatedBy" + } + } + }, + "StreamingSessionList": { + "type": "list", + "member": { + "shape": "StreamingSession" + } + }, + "StreamingSessionState": { + "type": "string", + "enum": [ + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "READY", + "DELETED", + "CREATE_FAILED", + "DELETE_FAILED" + ] + }, + "StreamingSessionStatusCode": { + "type": "string", + "enum": [ + "STREAMING_SESSION_READY", + "STREAMING_SESSION_DELETED", + "STREAMING_SESSION_CREATE_IN_PROGRESS", + "STREAMING_SESSION_DELETE_IN_PROGRESS", + "INTERNAL_ERROR", + "INSUFFICIENT_CAPACITY", + "ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR", + "NETWORK_CONNECTION_ERROR", + "INITIALIZATION_SCRIPT_ERROR", + "DECRYPT_STREAMING_IMAGE_ERROR", + "NETWORK_INTERFACE_ERROR" + ] + }, + "StreamingSessionStream": { + "type": "structure", + "members": { + "createdAt": { + "shape": "Timestamp", + "locationName": "createdAt" + }, + "createdBy": { + "shape": "__string", + "locationName": "createdBy" + }, + "expiresAt": { + "shape": "Timestamp", + "locationName": "expiresAt" + }, + "state": { + "shape": "StreamingSessionStreamState", + "locationName": "state" + }, + "statusCode": { + "shape": "StreamingSessionStreamStatusCode", + "locationName": "statusCode" + }, + "streamId": { + "shape": "__string", + "locationName": "streamId" + }, + "url": { + "shape": "__string", + "locationName": "url" + } + } + }, + "StreamingSessionStreamExpirationInSeconds": { + "type": "integer", + "min": 60, + "max": 3600 + }, + "StreamingSessionStreamState": { + "type": "string", + "enum": [ + "READY", + "CREATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "DELETED", + "CREATE_FAILED", + "DELETE_FAILED" + ] + }, + "StreamingSessionStreamStatusCode": { + "type": "string", + "enum": [ + "STREAM_CREATE_IN_PROGRESS", + "STREAM_READY", + "STREAM_DELETE_IN_PROGRESS", + "STREAM_DELETED", + "INTERNAL_ERROR", + "NETWORK_CONNECTION_ERROR" + ] + }, + "Studio": { + "type": "structure", + "members": { + "adminRoleArn": { + "shape": "__string", + "locationName": "adminRoleArn" + }, + "arn": { + "shape": "__string", + "locationName": "arn" + }, + "createdAt": { + "shape": "Timestamp", + "locationName": "createdAt" + }, + "displayName": { + "shape": "StudioDisplayName", + "locationName": "displayName" + }, + "homeRegion": { + "shape": "Region", + "locationName": "homeRegion" + }, + "ssoClientId": { + "shape": "__string", + "locationName": "ssoClientId" + }, + "state": { + "shape": "StudioState", + "locationName": "state" + }, + "statusCode": { + "shape": "StudioStatusCode", + "locationName": "statusCode" + }, + "statusMessage": { + "shape": "__string", + "locationName": "statusMessage" + }, + "studioEncryptionConfiguration": { + "shape": "StudioEncryptionConfiguration", + "locationName": "studioEncryptionConfiguration" + }, + "studioId": { + "shape": "__string", + "locationName": "studioId" + }, + "studioName": { + "shape": "StudioName", + "locationName": "studioName" + }, + "studioUrl": { + "shape": "__string", + "locationName": "studioUrl" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + }, + "updatedAt": { + "shape": "Timestamp", + "locationName": "updatedAt" + }, + "userRoleArn": { + "shape": "__string", + "locationName": "userRoleArn" + } + } + }, + "StudioComponent": { + "type": "structure", + "members": { + "arn": { + "shape": "__string", + "locationName": "arn" + }, + "configuration": { + "shape": "StudioComponentConfiguration", + "locationName": "configuration" + }, + "createdAt": { + "shape": "Timestamp", + "locationName": "createdAt" + }, + "createdBy": { + "shape": "__string", + "locationName": "createdBy" + }, + "description": { + "shape": "StudioComponentDescription", + "locationName": "description" + }, + "ec2SecurityGroupIds": { + "shape": "StudioComponentSecurityGroupIdList", + "locationName": "ec2SecurityGroupIds" + }, + "initializationScripts": { + "shape": "StudioComponentInitializationScriptList", + "locationName": "initializationScripts" + }, + "name": { + "shape": "StudioComponentName", + "locationName": "name" + }, + "scriptParameters": { + "shape": "StudioComponentScriptParameterKeyValueList", + "locationName": "scriptParameters" + }, + "state": { + "shape": "StudioComponentState", + "locationName": "state" + }, + "statusCode": { + "shape": "StudioComponentStatusCode", + "locationName": "statusCode" + }, + "statusMessage": { + "shape": "__string", + "locationName": "statusMessage" + }, + "studioComponentId": { + "shape": "StudioComponentId", + "locationName": "studioComponentId" + }, + "subtype": { + "shape": "StudioComponentSubtype", + "locationName": "subtype" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + }, + "type": { + "shape": "StudioComponentType", + "locationName": "type" + }, + "updatedAt": { + "shape": "Timestamp", + "locationName": "updatedAt" + }, + "updatedBy": { + "shape": "__string", + "locationName": "updatedBy" + } + } + }, + "StudioComponentConfiguration": { + "type": "structure", + "members": { + "activeDirectoryConfiguration": { + "shape": "ActiveDirectoryConfiguration", + "locationName": "activeDirectoryConfiguration" + }, + "computeFarmConfiguration": { + "shape": "ComputeFarmConfiguration", + "locationName": "computeFarmConfiguration" + }, + "licenseServiceConfiguration": { + "shape": "LicenseServiceConfiguration", + "locationName": "licenseServiceConfiguration" + }, + "sharedFileSystemConfiguration": { + "shape": "SharedFileSystemConfiguration", + "locationName": "sharedFileSystemConfiguration" + } + }, + "union": true + }, + "StudioComponentDescription": { + "type": "string", + "max": 256 + }, + "StudioComponentId": { + "type": "string", + "max": 22, + "pattern": "^[a-zA-Z0-9-_]*$" + }, + "StudioComponentInitializationScript": { + "type": "structure", + "members": { + "launchProfileProtocolVersion": { + "shape": "LaunchProfileProtocolVersion", + "locationName": "launchProfileProtocolVersion" + }, + "platform": { + "shape": "LaunchProfilePlatform", + "locationName": "platform" + }, + "runContext": { + "shape": "StudioComponentInitializationScriptRunContext", + "locationName": "runContext" + }, + "script": { + "shape": "StudioComponentInitializationScriptContent", + "locationName": "script" + } + } + }, + "StudioComponentInitializationScriptContent": { + "type": "string", + "min": 1, + "max": 5120 + }, + "StudioComponentInitializationScriptList": { + "type": "list", + "member": { + "shape": "StudioComponentInitializationScript" + } + }, + "StudioComponentInitializationScriptRunContext": { + "type": "string", + "enum": [ + "SYSTEM_INITIALIZATION", + "USER_INITIALIZATION" + ] + }, + "StudioComponentList": { + "type": "list", + "max": 50, + "member": { + "shape": "StudioComponent" + } + }, + "StudioComponentName": { + "type": "string", + "max": 64 + }, + "StudioComponentScriptParameterKeyValueList": { + "type": "list", + "max": 30, + "member": { + "shape": "ScriptParameterKeyValue" + } + }, + "StudioComponentSecurityGroupIdList": { + "type": "list", + "min": 1, + "max": 30, + "member": { + "shape": "SecurityGroupId" + } + }, + "StudioComponentState": { + "type": "string", + "enum": [ + "CREATE_IN_PROGRESS", + "READY", + "UPDATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "DELETED", + "DELETE_FAILED", + "CREATE_FAILED", + "UPDATE_FAILED" + ] + }, + "StudioComponentStatusCode": { + "type": "string", + "enum": [ + "ACTIVE_DIRECTORY_ALREADY_EXISTS", + "STUDIO_COMPONENT_CREATED", + "STUDIO_COMPONENT_UPDATED", + "STUDIO_COMPONENT_DELETED", + "ENCRYPTION_KEY_ACCESS_DENIED", + "ENCRYPTION_KEY_NOT_FOUND", + "STUDIO_COMPONENT_CREATE_IN_PROGRESS", + "STUDIO_COMPONENT_UPDATE_IN_PROGRESS", + "STUDIO_COMPONENT_DELETE_IN_PROGRESS", + "INTERNAL_ERROR" + ] + }, + "StudioComponentSubtype": { + "type": "string", + "enum": [ + "AWS_MANAGED_MICROSOFT_AD", + "AMAZON_FSX_FOR_WINDOWS", + "AMAZON_FSX_FOR_LUSTRE", + "CUSTOM" + ] + }, + "StudioComponentSummary": { + "type": "structure", + "members": { + "createdAt": { + "shape": "Timestamp", + "locationName": "createdAt" + }, + "createdBy": { + "shape": "__string", + "locationName": "createdBy" + }, + "description": { + "shape": "StudioComponentDescription", + "locationName": "description" + }, + "name": { + "shape": "StudioComponentName", + "locationName": "name" + }, + "studioComponentId": { + "shape": "StudioComponentId", + "locationName": "studioComponentId" + }, + "subtype": { + "shape": "StudioComponentSubtype", + "locationName": "subtype" + }, + "type": { + "shape": "StudioComponentType", + "locationName": "type" + }, + "updatedAt": { + "shape": "Timestamp", + "locationName": "updatedAt" + }, + "updatedBy": { + "shape": "__string", + "locationName": "updatedBy" + } + } + }, + "StudioComponentSummaryList": { + "type": "list", + "member": { + "shape": "StudioComponentSummary" + } + }, + "StudioComponentType": { + "type": "string", + "enum": [ + "ACTIVE_DIRECTORY", + "SHARED_FILE_SYSTEM", + "COMPUTE_FARM", + "LICENSE_SERVICE", + "CUSTOM" + ] + }, + "StudioDisplayName": { + "type": "string", + "max": 64 + }, + "StudioEncryptionConfiguration": { + "type": "structure", + "members": { + "keyArn": { + "shape": "StudioEncryptionConfigurationKeyArn", + "locationName": "keyArn" + }, + "keyType": { + "shape": "StudioEncryptionConfigurationKeyType", + "locationName": "keyType" + } + }, + "required": [ + "keyType" + ] + }, + "StudioEncryptionConfigurationKeyArn": { + "type": "string", + "min": 4, + "pattern": "^arn:.*" + }, + "StudioEncryptionConfigurationKeyType": { + "type": "string", + "enum": [ + "AWS_OWNED_KEY", + "CUSTOMER_MANAGED_KEY" + ] + }, + "StudioList": { + "type": "list", + "member": { + "shape": "Studio" + } + }, + "StudioMembership": { + "type": "structure", + "members": { + "identityStoreId": { + "shape": "__string", + "locationName": "identityStoreId" + }, + "persona": { + "shape": "StudioPersona", + "locationName": "persona" + }, + "principalId": { + "shape": "__string", + "locationName": "principalId" + } + } + }, + "StudioMembershipList": { + "type": "list", + "max": 20, + "member": { + "shape": "StudioMembership" + } + }, + "StudioName": { + "type": "string", + "min": 3, + "max": 64, + "pattern": "^[a-z0-9]*$" + }, + "StudioPersona": { + "type": "string", + "enum": [ + "ADMINISTRATOR" + ] + }, + "StudioState": { + "type": "string", + "enum": [ + "CREATE_IN_PROGRESS", + "READY", + "UPDATE_IN_PROGRESS", + "DELETE_IN_PROGRESS", + "DELETED", + "DELETE_FAILED", + "CREATE_FAILED", + "UPDATE_FAILED" + ] + }, + "StudioStatusCode": { + "type": "string", + "enum": [ + "STUDIO_CREATED", + "STUDIO_DELETED", + "STUDIO_UPDATED", + "STUDIO_CREATE_IN_PROGRESS", + "STUDIO_UPDATE_IN_PROGRESS", + "STUDIO_DELETE_IN_PROGRESS", + "STUDIO_WITH_LAUNCH_PROFILES_NOT_DELETED", + "STUDIO_WITH_STUDIO_COMPONENTS_NOT_DELETED", + "STUDIO_WITH_STREAMING_IMAGES_NOT_DELETED", + "AWS_SSO_NOT_ENABLED", + "AWS_SSO_ACCESS_DENIED", + "ROLE_NOT_OWNED_BY_STUDIO_OWNER", + "ROLE_COULD_NOT_BE_ASSUMED", + "INTERNAL_ERROR", + "ENCRYPTION_KEY_NOT_FOUND", + "ENCRYPTION_KEY_ACCESS_DENIED", + "AWS_SSO_CONFIGURATION_REPAIRED", + "AWS_SSO_CONFIGURATION_REPAIR_IN_PROGRESS" + ] + }, + "TagResourceInput": { + "type": "structure", + "members": { + "tags": { + "shape": "Tags", + "locationName": "tags" + } + } + }, + "TagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resourceArn" + }, + "tags": { + "shape": "Tags", + "locationName": "tags" + } + }, + "required": [ + "resourceArn" + ] + }, + "TagResourceResponse": { + "type": "structure", + "members": {} + }, + "Tags": { + "type": "map", + "key": { + "shape": "__string" + }, + "value": { + "shape": "__string" + } + }, + "ThrottlingException": { + "type": "structure", + "members": { + "code": { + "shape": "__string", + "locationName": "code" + }, + "context": { + "shape": "ExceptionContext", + "locationName": "context" + }, + "message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 429 + } + }, + "Timestamp": { + "type": "timestamp", + "timestampFormat": "iso8601" + }, + "UntagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "shape": "__string", + "location": "uri", + "locationName": "resourceArn" + }, + "tagKeys": { + "shape": "multiValueQueryStringList", + "location": "querystring", + "locationName": "tagKeys" + } + }, + "required": [ + "tagKeys", + "resourceArn" + ] + }, + "UntagResourceResponse": { + "type": "structure", + "members": {} + }, + "UpdateLaunchProfileInput": { + "type": "structure", + "members": { + "description": { + "shape": "LaunchProfileDescription", + "locationName": "description" + }, + "launchProfileProtocolVersions": { + "shape": "LaunchProfileProtocolVersionList", + "locationName": "launchProfileProtocolVersions" + }, + "name": { + "shape": "LaunchProfileName", + "locationName": "name" + }, + "streamConfiguration": { + "shape": "StreamConfigurationCreate", + "locationName": "streamConfiguration" + }, + "studioComponentIds": { + "shape": "LaunchProfileStudioComponentIdList", + "locationName": "studioComponentIds" + } + } + }, + "UpdateLaunchProfileMemberInput": { + "type": "structure", + "members": { + "persona": { + "shape": "LaunchProfilePersona", + "locationName": "persona" + } + }, + "required": [ + "persona" + ] + }, + "UpdateLaunchProfileMemberRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "launchProfileId": { + "shape": "__string", + "location": "uri", + "locationName": "launchProfileId" + }, + "persona": { + "shape": "LaunchProfilePersona", + "locationName": "persona" + }, + "principalId": { + "shape": "__string", + "location": "uri", + "locationName": "principalId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "persona", + "principalId", + "launchProfileId" + ] + }, + "UpdateLaunchProfileMemberResponse": { + "type": "structure", + "members": { + "member": { + "shape": "LaunchProfileMembership", + "locationName": "member" + } + } + }, + "UpdateLaunchProfileOutput": { + "type": "structure", + "members": { + "launchProfile": { + "shape": "LaunchProfile", + "locationName": "launchProfile" + } + } + }, + "UpdateLaunchProfileRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "description": { + "shape": "LaunchProfileDescription", + "locationName": "description" + }, + "launchProfileId": { + "shape": "__string", + "location": "uri", + "locationName": "launchProfileId" + }, + "launchProfileProtocolVersions": { + "shape": "LaunchProfileProtocolVersionList", + "locationName": "launchProfileProtocolVersions" + }, + "name": { + "shape": "LaunchProfileName", + "locationName": "name" + }, + "streamConfiguration": { + "shape": "StreamConfigurationCreate", + "locationName": "streamConfiguration" + }, + "studioComponentIds": { + "shape": "LaunchProfileStudioComponentIdList", + "locationName": "studioComponentIds" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "launchProfileId" + ] + }, + "UpdateLaunchProfileResponse": { + "type": "structure", + "members": { + "launchProfile": { + "shape": "LaunchProfile", + "locationName": "launchProfile" + } + } + }, + "UpdateStreamingImageInput": { + "type": "structure", + "members": { + "description": { + "shape": "StreamingImageDescription", + "locationName": "description" + }, + "name": { + "shape": "StreamingImageName", + "locationName": "name" + } + } + }, + "UpdateStreamingImageOutput": { + "type": "structure", + "members": { + "streamingImage": { + "shape": "StreamingImage", + "locationName": "streamingImage" + } + } + }, + "UpdateStreamingImageRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "description": { + "shape": "StreamingImageDescription", + "locationName": "description" + }, + "name": { + "shape": "StreamingImageName", + "locationName": "name" + }, + "streamingImageId": { + "shape": "__string", + "location": "uri", + "locationName": "streamingImageId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + } + }, + "required": [ + "studioId", + "streamingImageId" + ] + }, + "UpdateStreamingImageResponse": { + "type": "structure", + "members": { + "streamingImage": { + "shape": "StreamingImage", + "locationName": "streamingImage" + } + } + }, + "UpdateStudioComponentInput": { + "type": "structure", + "members": { + "configuration": { + "shape": "StudioComponentConfiguration", + "locationName": "configuration" + }, + "description": { + "shape": "StudioComponentDescription", + "locationName": "description" + }, + "ec2SecurityGroupIds": { + "shape": "StudioComponentSecurityGroupIdList", + "locationName": "ec2SecurityGroupIds" + }, + "initializationScripts": { + "shape": "StudioComponentInitializationScriptList", + "locationName": "initializationScripts" + }, + "name": { + "shape": "StudioComponentName", + "locationName": "name" + }, + "scriptParameters": { + "shape": "StudioComponentScriptParameterKeyValueList", + "locationName": "scriptParameters" + }, + "subtype": { + "shape": "StudioComponentSubtype", + "locationName": "subtype" + }, + "type": { + "shape": "StudioComponentType", + "locationName": "type" + } + } + }, + "UpdateStudioComponentOutput": { + "type": "structure", + "members": { + "studioComponent": { + "shape": "StudioComponent", + "locationName": "studioComponent" + } + } + }, + "UpdateStudioComponentRequest": { + "type": "structure", + "members": { + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "configuration": { + "shape": "StudioComponentConfiguration", + "locationName": "configuration" + }, + "description": { + "shape": "StudioComponentDescription", + "locationName": "description" + }, + "ec2SecurityGroupIds": { + "shape": "StudioComponentSecurityGroupIdList", + "locationName": "ec2SecurityGroupIds" + }, + "initializationScripts": { + "shape": "StudioComponentInitializationScriptList", + "locationName": "initializationScripts" + }, + "name": { + "shape": "StudioComponentName", + "locationName": "name" + }, + "scriptParameters": { + "shape": "StudioComponentScriptParameterKeyValueList", + "locationName": "scriptParameters" + }, + "studioComponentId": { + "shape": "__string", + "location": "uri", + "locationName": "studioComponentId" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + }, + "subtype": { + "shape": "StudioComponentSubtype", + "locationName": "subtype" + }, + "type": { + "shape": "StudioComponentType", + "locationName": "type" + } + }, + "required": [ + "studioId", + "studioComponentId" + ] + }, + "UpdateStudioComponentResponse": { + "type": "structure", + "members": { + "studioComponent": { + "shape": "StudioComponent", + "locationName": "studioComponent" + } + } + }, + "UpdateStudioInput": { + "type": "structure", + "members": { + "adminRoleArn": { + "shape": "__string", + "locationName": "adminRoleArn" + }, + "displayName": { + "shape": "StudioDisplayName", + "locationName": "displayName" + }, + "userRoleArn": { + "shape": "__string", + "locationName": "userRoleArn" + } + } + }, + "UpdateStudioOutput": { + "type": "structure", + "members": { + "studio": { + "shape": "Studio", + "locationName": "studio" + } + } + }, + "UpdateStudioRequest": { + "type": "structure", + "members": { + "adminRoleArn": { + "shape": "__string", + "locationName": "adminRoleArn" + }, + "clientToken": { + "shape": "ClientToken", + "location": "header", + "locationName": "X-Amz-Client-Token", + "idempotencyToken": true + }, + "displayName": { + "shape": "StudioDisplayName", + "locationName": "displayName" + }, + "studioId": { + "shape": "__string", + "location": "uri", + "locationName": "studioId" + }, + "userRoleArn": { + "shape": "__string", + "locationName": "userRoleArn" + } + }, + "required": [ + "studioId" + ] + }, + "UpdateStudioResponse": { + "type": "structure", + "members": { + "studio": { + "shape": "Studio", + "locationName": "studio" + } + } + }, + "ValidationException": { + "type": "structure", + "members": { + "code": { + "shape": "__string", + "locationName": "code" + }, + "context": { + "shape": "ExceptionContext", + "locationName": "context" + }, + "message": { + "shape": "__string", + "locationName": "message" + } + }, + "exception": true, + "error": { + "httpStatusCode": 400 + } + }, + "WindowsMountDrive": { + "type": "string", + "pattern": "^[A-Z]$" + }, + "__boolean": { + "type": "boolean" + }, + "__double": { + "type": "double" + }, + "__integer": { + "type": "integer" + }, + "__listOf__string": { + "type": "list", + "member": { + "shape": "__string" + } + }, + "__long": { + "type": "long" + }, + "__string": { + "type": "string" + }, + "__timestampIso8601": { + "type": "timestamp", + "timestampFormat": "iso8601" + }, + "__timestampUnix": { + "type": "timestamp", + "timestampFormat": "unixTimestamp" + }, + "ClientToken": { + "type": "string", + "min": 1, + "max": 64 + }, + "multiValueQueryStringList": { + "type": "list", + "member": { + "shape": "__string" + } + } + } +} diff --git a/models/apis/nimble/2020-08-01/docs-2.json b/models/apis/nimble/2020-08-01/docs-2.json new file mode 100644 index 0000000000..ee199e6437 --- /dev/null +++ b/models/apis/nimble/2020-08-01/docs-2.json @@ -0,0 +1,1220 @@ +{ + "version": "2.0", + "service": null, + "operations": { + "AcceptEulas": "

Accept EULAs.

", + "CreateLaunchProfile": "

Create a launch profile.

", + "CreateStreamingImage": "

Creates a streaming image resource in a studio.

", + "CreateStreamingSession": "

Creates a streaming session in a studio.

After invoking this operation, you must poll GetStreamingSession until the streaming session is in state READY.

", + "CreateStreamingSessionStream": "

Creates a streaming session stream for a streaming session.

After invoking this API, invoke GetStreamingSessionStream with the returned streamId to poll the resource until it is in state READY.

", + "CreateStudio": "

Create a new Studio.

When creating a Studio, two IAM roles must be provided: the admin role and the user Role. These roles are assumed by your users when they log in to the Nimble Studio portal.

The user role must have the AmazonNimbleStudio-StudioUser managed policy attached for the portal to function properly.

The Admin Role must have the AmazonNimbleStudio-StudioAdmin managed policy attached for the portal to function properly.

You may optionally specify a KMS key in the StudioEncryptionConfiguration.

In Nimble Studio, resource names, descriptions, initialization scripts, and other data you provide are always encrypted at rest using an AWS KMS key. By default, this key is owned by AWS and managed on your behalf. You may provide your own AWS KMS key when calling CreateStudio to encrypt this data using a key you own and manage.

When providing an AWS KMS key during studio creation, Nimble Studio creates KMS grants in your account to provide your studio user and admin roles access to these KMS keys.

If you delete this grant, the studio will no longer be accessible to your portal users.

If you delete the studio KMS key, your studio will no longer be accessible.

", + "CreateStudioComponent": "

Creates a studio component resource.

", + "DeleteLaunchProfile": "

Permanently delete a launch profile.

", + "DeleteLaunchProfileMember": "

Delete a user from launch profile membership.

", + "DeleteStreamingImage": "

Delete streaming image.

", + "DeleteStreamingSession": "

Deletes streaming session resource.

After invoking this operation, use GetStreamingSession to poll the resource until it transitions to a DELETED state.

A streaming session will count against your streaming session quota until it is marked DELETED.

", + "DeleteStudio": "

Delete a studio resource.

", + "DeleteStudioComponent": "

Deletes a studio component resource.

", + "DeleteStudioMember": "

Delete a user from studio membership.

", + "GetEula": "

Get Eula.

", + "GetLaunchProfile": "

Get a launch profile.

", + "GetLaunchProfileDetails": "

Launch profile details include the launch profile resource and summary information of resources that are used by, or available to, the launch profile. This includes the name and description of all studio components used by the launch profiles, and the name and description of streaming images that can be used with this launch profile.

", + "GetLaunchProfileInitialization": "

Get a launch profile initialization.

", + "GetLaunchProfileMember": "

Get a user persona in launch profile membership.

", + "GetStreamingImage": "

Get streaming image.

", + "GetStreamingSession": "

Gets StreamingSession resource.

Invoke this operation to poll for a streaming session state while creating or deleting a session.

", + "GetStreamingSessionStream": "

Gets a StreamingSessionStream for a streaming session.

Invoke this operation to poll the resource after invoking CreateStreamingSessionStream.

After the StreamingSessionStream changes to the state READY, the url property will contain a stream to be used with the DCV streaming client.

", + "GetStudio": "

Get a Studio resource.

", + "GetStudioComponent": "

Gets a studio component resource.

", + "GetStudioMember": "

Get a user's membership in a studio.

", + "ListEulaAcceptances": "

List Eula Acceptances.

", + "ListEulas": "

List Eulas.

", + "ListLaunchProfileMembers": "

Get all users in a given launch profile membership.

", + "ListLaunchProfiles": "

List all the launch profiles a studio.

", + "ListStreamingImages": "

List the streaming image resources available to this studio.

This list will contain both images provided by AWS, as well as streaming images that you have created in your studio.

", + "ListStreamingSessions": "

Lists the streaming image resources in a studio.

", + "ListStudioComponents": "

Lists the StudioComponents in a studio.

", + "ListStudioMembers": "

Get all users in a given studio membership.

", + "ListStudios": "

List studios in your AWS account in the requested AWS Region.

", + "ListTagsForResource": "

Gets the tags for a resource, given its Amazon Resource Names (ARN).

This operation supports ARNs for all resource types in Nimble Studio that support tags, including studio, studio component, launch profile, streaming image, and streaming session. All resources that can be tagged will contain an ARN property, so you do not have to create this ARN yourself.

", + "PutLaunchProfileMembers": "

Add/update users with given persona to launch profile membership.

", + "PutStudioMembers": "

Add/update users with given persona to studio membership.

", + "StartStudioSSOConfigurationRepair": "

Repairs the SSO configuration for a given studio.

If the studio has a valid AWS SSO configuration currently associated with it, this operation will fail with a validation error.

If the studio does not have a valid AWS SSO configuration currently associated with it, then a new AWS SSO application is created for the studio and the studio is changed to the READY state.

After the AWS SSO application is repaired, you must use the Amazon Nimble Studio console to add administrators and users to your studio.

", + "TagResource": "

Creates tags for a resource, given its ARN.

", + "UntagResource": "

Deletes the tags for a resource.

", + "UpdateLaunchProfile": "

Update a launch profile.

", + "UpdateLaunchProfileMember": "

Update a user persona in launch profile membership.

", + "UpdateStreamingImage": "

Update streaming image.

", + "UpdateStudio": "

Update a Studio resource.

Currently, this operation only supports updating the displayName of your studio.

", + "UpdateStudioComponent": "

Updates a studio component resource.

" + }, + "shapes": { + "AcceptEulasInput": { + "base": "", + "refs": {} + }, + "AcceptEulasOutput": { + "base": "", + "refs": {} + }, + "AccessDeniedException": { + "base": "", + "refs": {} + }, + "ActiveDirectoryComputerAttribute": { + "base": "

An LDAP attribute of an Active Directory computer account, in the form of a name:value pair.

", + "refs": { + "ActiveDirectoryComputerAttributeList$member": null + } + }, + "ActiveDirectoryComputerAttributeList": { + "base": "

A collection of LDAP attributes to apply to Active Directory computer accounts that are created for streaming sessions.

", + "refs": { + "ActiveDirectoryConfiguration$ComputerAttributes": "

A collection of custom attributes for an Active Directory computer.

", + "LaunchProfileInitializationActiveDirectory$ComputerAttributes": "

A collection of custom attributes for an Active Directory computer.

" + } + }, + "ActiveDirectoryComputerAttributeName": { + "base": "

The name for the LDAP attribute.

", + "refs": { + "ActiveDirectoryComputerAttribute$Name": "

The name for the LDAP attribute.

" + } + }, + "ActiveDirectoryComputerAttributeValue": { + "base": "

The value for the LDAP attribute.

", + "refs": { + "ActiveDirectoryComputerAttribute$Value": "

The value for the LDAP attribute.

" + } + }, + "ActiveDirectoryConfiguration": { + "base": "

The configuration for a Microsoft Active Directory (Microsoft AD) studio resource.

", + "refs": { + "StudioComponentConfiguration$ActiveDirectoryConfiguration": "

The configuration for a Microsoft Active Directory (Microsoft AD) studio resource.

" + } + }, + "ActiveDirectoryDnsIpAddress": { + "base": null, + "refs": { + "ActiveDirectoryDnsIpAddressList$member": null + } + }, + "ActiveDirectoryDnsIpAddressList": { + "base": "", + "refs": { + "LaunchProfileInitializationActiveDirectory$DnsIpAddresses": "

The DNS IP address.

" + } + }, + "ActiveDirectoryOrganizationalUnitDistinguishedName": { + "base": "

The fully-qualified distinguished name of the organizational unit to place the computer account in.

", + "refs": { + "ActiveDirectoryConfiguration$OrganizationalUnitDistinguishedName": "

The distinguished name (DN) and organizational unit (OU) of an Active Directory computer.

", + "LaunchProfileInitializationActiveDirectory$OrganizationalUnitDistinguishedName": "

The name for the organizational unit distinguished name.

" + } + }, + "ComputeFarmConfiguration": { + "base": "

The configuration for a render farm that is associated with a studio resource.

", + "refs": { + "StudioComponentConfiguration$ComputeFarmConfiguration": "

The configuration for a render farm that is associated with a studio resource.

" + } + }, + "ConflictException": { + "base": "", + "refs": {} + }, + "CreateLaunchProfileInput": { + "base": "", + "refs": {} + }, + "CreateLaunchProfileOutput": { + "base": "", + "refs": {} + }, + "CreateStreamingImageInput": { + "base": "", + "refs": {} + }, + "CreateStreamingImageOutput": { + "base": "", + "refs": {} + }, + "CreateStreamingSessionInput": { + "base": "", + "refs": {} + }, + "CreateStreamingSessionOutput": { + "base": "", + "refs": {} + }, + "CreateStreamingSessionStreamInput": { + "base": "", + "refs": {} + }, + "CreateStreamingSessionStreamOutput": { + "base": "", + "refs": {} + }, + "CreateStudioComponentInput": { + "base": "", + "refs": {} + }, + "CreateStudioComponentOutput": { + "base": "

", + "refs": {} + }, + "CreateStudioInput": { + "base": "", + "refs": {} + }, + "CreateStudioOutput": { + "base": "", + "refs": {} + }, + "DeleteLaunchProfileMemberOutput": { + "base": "", + "refs": {} + }, + "DeleteLaunchProfileOutput": { + "base": "", + "refs": {} + }, + "DeleteStreamingImageOutput": { + "base": "", + "refs": {} + }, + "DeleteStreamingSessionOutput": { + "base": "", + "refs": {} + }, + "DeleteStudioComponentOutput": { + "base": "", + "refs": {} + }, + "DeleteStudioMemberOutput": { + "base": "", + "refs": {} + }, + "DeleteStudioOutput": { + "base": "", + "refs": {} + }, + "DirectoryId": { + "base": null, + "refs": { + "ActiveDirectoryConfiguration$DirectoryId": "

The directory ID of the AWS Directory Service for Microsoft AD to access using this studio component.

", + "LaunchProfileInitializationActiveDirectory$DirectoryId": "

The directory ID of the AWS Directory Service for Microsoft AD to access using this launch profile.

" + } + }, + "EC2ImageId": { + "base": "", + "refs": { + "CreateStreamingImageInput$Ec2ImageId": "

The ID of an EC2 machine image with which to create this streaming image.

", + "StreamingImage$Ec2ImageId": "

The ID of an EC2 machine image with which to create the streaming image.

" + } + }, + "EC2SubnetId": { + "base": null, + "refs": { + "EC2SubnetIdList$member": null + } + }, + "EC2SubnetIdList": { + "base": "", + "refs": { + "CreateLaunchProfileInput$Ec2SubnetIds": "", + "LaunchProfile$Ec2SubnetIds": "

Unique identifiers for a collection of EC2 subnets.

" + } + }, + "Empty": { + "base": "", + "refs": {} + }, + "Eula": { + "base": "

Represents a EULA resource.

", + "refs": { + "EulaList$member": null, + "GetEulaOutput$Eula": "

The EULA.

" + } + }, + "EulaAcceptance": { + "base": "", + "refs": { + "EulaAcceptanceList$member": null + } + }, + "EulaAcceptanceId": { + "base": "

The EULA acceptance ID.

", + "refs": { + "EulaAcceptance$EulaAcceptanceId": "

The EULA acceptance ID.

" + } + }, + "EulaAcceptanceList": { + "base": "", + "refs": { + "AcceptEulasOutput$EulaAcceptances": "

A collection of EULA acceptances.

", + "ListEulaAcceptancesOutput$EulaAcceptances": "

A collection of EULA acceptances.

" + } + }, + "EulaId": { + "base": "

Represents a EULA resource.

", + "refs": { + "Eula$EulaId": "

The EULA ID.

", + "EulaAcceptance$EulaId": "

The EULA ID.

" + } + }, + "EulaIdList": { + "base": "", + "refs": { + "AcceptEulasInput$EulaIds": "

The EULA ID.

", + "StreamingImage$EulaIds": "

The list of EULAs that must be accepted before a Streaming Session can be started using this streaming image.

" + } + }, + "EulaList": { + "base": "", + "refs": { + "ListEulasOutput$Eulas": "

A collection of EULA resources.

" + } + }, + "EulaName": { + "base": null, + "refs": { + "Eula$Name": "

The name for the EULA.

" + } + }, + "ExceptionContext": { + "base": "

ExceptionContext is a set of key-value pairs that provide you with more information about the error that occurred. For example, when the service returns a 404 ResourceNotFound error, ExceptionContext will contain the key `resourceId` with the value of resource that was not found.

ExceptionContext enables scripts and other programmatic clients to provide for better error handling.

", + "refs": { + "AccessDeniedException$Context": "

The exception context.

", + "ConflictException$Context": "

The exception context.

", + "InternalServerException$Context": "

The exception context.

", + "ResourceNotFoundException$Context": "

The exception context.

", + "ServiceQuotaExceededException$Context": "

The exception context.

", + "ThrottlingException$Context": "

The exception context.

", + "ValidationException$Context": "

The exception context.

" + } + }, + "GetEulaOutput": { + "base": "", + "refs": {} + }, + "GetLaunchProfileDetailsOutput": { + "base": "", + "refs": {} + }, + "GetLaunchProfileInitializationOutput": { + "base": "", + "refs": {} + }, + "GetLaunchProfileMemberOutput": { + "base": "", + "refs": {} + }, + "GetLaunchProfileOutput": { + "base": "", + "refs": {} + }, + "GetStreamingImageOutput": { + "base": "", + "refs": {} + }, + "GetStreamingSessionOutput": { + "base": "", + "refs": {} + }, + "GetStreamingSessionStreamOutput": { + "base": "", + "refs": {} + }, + "GetStudioComponentOutput": { + "base": "", + "refs": {} + }, + "GetStudioMemberOutput": { + "base": "", + "refs": {} + }, + "GetStudioOutput": { + "base": "", + "refs": {} + }, + "InternalServerErrorException": { + "base": "", + "refs": {} + }, + "InternalServerException": { + "base": "", + "refs": {} + }, + "LaunchProfile": { + "base": "", + "refs": { + "CreateLaunchProfileOutput$LaunchProfile": "

The launch profile.

", + "DeleteLaunchProfileOutput$LaunchProfile": "

The launch profile.

", + "GetLaunchProfileDetailsOutput$LaunchProfile": "

The launch profile.

", + "GetLaunchProfileOutput$LaunchProfile": "

The launch profile.

", + "LaunchProfileList$member": null, + "UpdateLaunchProfileOutput$LaunchProfile": "

The launch profile.

" + } + }, + "LaunchProfileDescription": { + "base": null, + "refs": { + "CreateLaunchProfileInput$Description": "

The description.

", + "LaunchProfile$Description": "

A human-readable description of the launch profile.

", + "UpdateLaunchProfileInput$Description": "

The description.

" + } + }, + "LaunchProfileId": { + "base": null, + "refs": { + "LaunchProfile$LaunchProfileId": "

The launch profile ID.

", + "LaunchProfileInitialization$LaunchProfileId": "

The launch profile ID.

" + } + }, + "LaunchProfileInitialization": { + "base": "", + "refs": { + "GetLaunchProfileInitializationOutput$LaunchProfileInitialization": "

The launch profile initialization.

" + } + }, + "LaunchProfileInitializationActiveDirectory": { + "base": "", + "refs": { + "LaunchProfileInitialization$ActiveDirectory": "

A LaunchProfileInitializationActiveDirectory resource.

" + } + }, + "LaunchProfileInitializationScript": { + "base": "", + "refs": { + "LaunchProfileInitializationScriptList$member": null + } + }, + "LaunchProfileInitializationScriptList": { + "base": "", + "refs": { + "LaunchProfileInitialization$SystemInitializationScripts": "

The system initializtion scripts.

", + "LaunchProfileInitialization$UserInitializationScripts": "

The user initializtion scripts.

" + } + }, + "LaunchProfileList": { + "base": "", + "refs": { + "ListLaunchProfilesOutput$LaunchProfiles": "

A collection of launch profiles.

" + } + }, + "LaunchProfileMembership": { + "base": "", + "refs": { + "GetLaunchProfileMemberOutput$Member": "

The member.

", + "LaunchProfileMembershipList$member": null + } + }, + "LaunchProfileMembershipList": { + "base": "

", + "refs": { + "ListLaunchProfileMembersOutput$Members": "

A list of members.

" + } + }, + "LaunchProfileName": { + "base": null, + "refs": { + "CreateLaunchProfileInput$Name": "

The name for the launch profile.

", + "LaunchProfile$Name": "

A friendly name for the launch profile.

", + "LaunchProfileInitialization$Name": "

The name for the launch profile.

", + "UpdateLaunchProfileInput$Name": "

The name for the launch profile.

" + } + }, + "LaunchProfilePersona": { + "base": "", + "refs": { + "LaunchProfileMembership$Persona": "

The persona.

", + "NewLaunchProfileMember$Persona": "

The persona.

", + "UpdateLaunchProfileMemberInput$Persona": "

The persona.

" + } + }, + "LaunchProfilePlatform": { + "base": "", + "refs": { + "LaunchProfileInitialization$Platform": "

The platform of the launch platform, either WINDOWS or LINUX.

", + "StudioComponentInitializationScript$Platform": "

The platform of the initialization script, either WINDOWS or LINUX.

" + } + }, + "LaunchProfileProtocolVersion": { + "base": "

The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\".

", + "refs": { + "LaunchProfileInitialization$LaunchProfileProtocolVersion": "

The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\".

", + "LaunchProfileProtocolVersionList$member": null, + "StudioComponentInitializationScript$LaunchProfileProtocolVersion": "

The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\".

" + } + }, + "LaunchProfileProtocolVersionList": { + "base": "", + "refs": { + "CreateLaunchProfileInput$LaunchProfileProtocolVersions": "

The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\".

", + "LaunchProfile$LaunchProfileProtocolVersions": "

The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\".

", + "UpdateLaunchProfileInput$LaunchProfileProtocolVersions": "

The version number of the protocol that is used by the launch profile. The only valid version is \"2021-03-31\".

" + } + }, + "LaunchProfileSecurityGroupIdList": { + "base": "", + "refs": { + "LaunchProfileInitialization$Ec2SecurityGroupIds": "

The EC2 security groups that control access to the studio component.

" + } + }, + "LaunchProfileState": { + "base": "", + "refs": { + "LaunchProfile$State": "

The current state.

" + } + }, + "LaunchProfileStatusCode": { + "base": "", + "refs": { + "LaunchProfile$StatusCode": "

The status code.

" + } + }, + "LaunchProfileStudioComponentIdList": { + "base": "", + "refs": { + "CreateLaunchProfileInput$StudioComponentIds": "

Unique identifiers for a collection of studio components that can be used with this launch profile.

", + "LaunchProfile$StudioComponentIds": "

Unique identifiers for a collection of studio components that can be used with this launch profile.

", + "UpdateLaunchProfileInput$StudioComponentIds": "

Unique identifiers for a collection of studio components that can be used with this launch profile.

" + } + }, + "LaunchPurpose": { + "base": "

The launch purpose.

", + "refs": { + "LaunchProfileInitialization$LaunchPurpose": "

The launch purpose.

" + } + }, + "LicenseServiceConfiguration": { + "base": "

The configuration for a license service that is associated with a studio resource.

", + "refs": { + "StudioComponentConfiguration$LicenseServiceConfiguration": "

The configuration for a license service that is associated with a studio resource.

" + } + }, + "LinuxMountPoint": { + "base": "", + "refs": { + "SharedFileSystemConfiguration$LinuxMountPoint": "

The mount location for a shared file system on a Linux virtual workstation.

" + } + }, + "ListEulaAcceptancesOutput": { + "base": "

", + "refs": {} + }, + "ListEulasOutput": { + "base": "", + "refs": {} + }, + "ListLaunchProfileMembersOutput": { + "base": "", + "refs": {} + }, + "ListLaunchProfilesOutput": { + "base": "", + "refs": {} + }, + "ListStreamingImagesOutput": { + "base": "", + "refs": {} + }, + "ListStreamingSessionsOutput": { + "base": "", + "refs": {} + }, + "ListStudioComponentsOutput": { + "base": "", + "refs": {} + }, + "ListStudioMembersOutput": { + "base": "", + "refs": {} + }, + "ListStudiosOutput": { + "base": "", + "refs": {} + }, + "ListTagsOutput": { + "base": "", + "refs": {} + }, + "NewLaunchProfileMember": { + "base": "", + "refs": { + "NewLaunchProfileMemberList$member": null + } + }, + "NewLaunchProfileMemberList": { + "base": "", + "refs": { + "PutLaunchProfileMembersInput$Members": "

A list of members.

" + } + }, + "NewStudioMember": { + "base": "", + "refs": { + "NewStudioMemberList$member": null + } + }, + "NewStudioMemberList": { + "base": "", + "refs": { + "PutStudioMembersInput$Members": "

A list of members.

" + } + }, + "PutLaunchProfileMembersInput": { + "base": "", + "refs": {} + }, + "PutStudioMembersInput": { + "base": "", + "refs": {} + }, + "PutStudioMembersOutput": { + "base": "", + "refs": {} + }, + "Region": { + "base": "", + "refs": { + "Studio$HomeRegion": "

The AWS region where the studio resource is located.

" + } + }, + "ResourceNotFoundException": { + "base": "", + "refs": {} + }, + "ScriptParameterKey": { + "base": "

A script parameter key.

", + "refs": { + "ScriptParameterKeyValue$Key": "

A script parameter key.

" + } + }, + "ScriptParameterKeyValue": { + "base": "

A parameter for a studio component script, in the form of a key:value pair.

", + "refs": { + "StudioComponentScriptParameterKeyValueList$member": null + } + }, + "ScriptParameterValue": { + "base": "

A script parameter value.

", + "refs": { + "ScriptParameterKeyValue$Value": "

A script parameter value.

" + } + }, + "SecurityGroupId": { + "base": "", + "refs": { + "LaunchProfileSecurityGroupIdList$member": null, + "StudioComponentSecurityGroupIdList$member": null + } + }, + "ServiceQuotaExceededException": { + "base": "", + "refs": {} + }, + "SharedFileSystemConfiguration": { + "base": "

The configuration for a shared file storage system that is associated with a studio resource.

", + "refs": { + "StudioComponentConfiguration$SharedFileSystemConfiguration": "

The configuration for a shared file storage system that is associated with a studio resource.

" + } + }, + "StartStudioSSOConfigurationRepairOutput": { + "base": "", + "refs": {} + }, + "StreamConfiguration": { + "base": "

A configuration for a streaming session.

", + "refs": { + "LaunchProfile$StreamConfiguration": "

A configuration for a streaming session.

" + } + }, + "StreamConfigurationCreate": { + "base": "", + "refs": { + "CreateLaunchProfileInput$StreamConfiguration": "

A configuration for a streaming session.

", + "UpdateLaunchProfileInput$StreamConfiguration": "

A configuration for a streaming session.

" + } + }, + "StreamConfigurationMaxSessionLengthInMinutes": { + "base": "", + "refs": { + "StreamConfiguration$MaxSessionLengthInMinutes": "

The length of time, in minutes, that a streaming session can run. After this point, Nimble Studio automatically terminates the session.

", + "StreamConfigurationCreate$MaxSessionLengthInMinutes": "

The length of time, in minutes, that a streaming session can run. After this point, Nimble Studio automatically terminates the session.

" + } + }, + "StreamingClipboardMode": { + "base": "", + "refs": { + "StreamConfiguration$ClipboardMode": "

Enable or disable the use of the system clipboard to copy and paste between the streaming session and streaming client.

", + "StreamConfigurationCreate$ClipboardMode": "

Enable or disable the use of the system clipboard to copy and paste between the streaming session and streaming client.

" + } + }, + "StreamingImage": { + "base": "", + "refs": { + "CreateStreamingImageOutput$StreamingImage": "", + "DeleteStreamingImageOutput$StreamingImage": "

The streaming image.

", + "GetStreamingImageOutput$StreamingImage": "

The streaming image.

", + "StreamingImageList$member": null, + "UpdateStreamingImageOutput$StreamingImage": "

" + } + }, + "StreamingImageDescription": { + "base": "

The description.

", + "refs": { + "CreateStreamingImageInput$Description": "

A human-readable description of the streaming image.

", + "StreamingImage$Description": "

A human-readable description of the streaming image.

", + "UpdateStreamingImageInput$Description": "

The description.

" + } + }, + "StreamingImageEncryptionConfiguration": { + "base": "", + "refs": { + "StreamingImage$EncryptionConfiguration": "

The encryption configuration.

" + } + }, + "StreamingImageEncryptionConfigurationKeyArn": { + "base": "", + "refs": { + "StreamingImageEncryptionConfiguration$KeyArn": "

The ARN for a KMS key that is used to encrypt studio data.

" + } + }, + "StreamingImageEncryptionConfigurationKeyType": { + "base": "

", + "refs": { + "StreamingImageEncryptionConfiguration$KeyType": "

The type of KMS key that is used to encrypt studio data.

" + } + }, + "StreamingImageId": { + "base": "", + "refs": { + "CreateStreamingSessionInput$StreamingImageId": "

The ID of the streaming image.

", + "StreamingImage$StreamingImageId": "

The ID of the streaming image.

", + "StreamingImageIdList$member": null, + "StreamingSession$StreamingImageId": "

The ID of the streaming image.

" + } + }, + "StreamingImageIdList": { + "base": "

A list of streaming image IDs that users can select from when launching a streaming session with this launch profile.

", + "refs": { + "StreamConfiguration$StreamingImageIds": "

The streaming images that users can select from when launching a streaming session with this launch profile.

", + "StreamConfigurationCreate$StreamingImageIds": "

The streaming images that users can select from when launching a streaming session with this launch profile.

" + } + }, + "StreamingImageList": { + "base": "", + "refs": { + "GetLaunchProfileDetailsOutput$StreamingImages": "

A collection of streaming images.

", + "ListStreamingImagesOutput$StreamingImages": "

A collection of streaming images.

" + } + }, + "StreamingImageName": { + "base": "

A friendly name for a streaming image resource.

", + "refs": { + "CreateStreamingImageInput$Name": "

A friendly name for a streaming image resource.

", + "StreamingImage$Name": "

A friendly name for a streaming image resource.

", + "UpdateStreamingImageInput$Name": "

The name for the streaming image.

" + } + }, + "StreamingImageOwner": { + "base": "

StreamingImageOwner is the owner of a particular streaming image.

This string is either the studioId that contains the streaming image, or the word 'AMAZON' for images provided by Nimble Studio.

", + "refs": { + "StreamingImage$Owner": "

The owner of the streaming image, either the studioId that contains the streaming image, or 'amazon' for images that are provided by Amazon Nimble Studio.

" + } + }, + "StreamingImagePlatform": { + "base": "

The platform of this Streaming Image, either WINDOWS or LINUX.

", + "refs": { + "StreamingImage$Platform": "

The platform of the streaming image, either WINDOWS or LINUX.

" + } + }, + "StreamingImageSessionId": { + "base": "

The streaming image session ID.

", + "refs": { + "StreamingSession$SessionId": "

The session ID.

" + } + }, + "StreamingImageState": { + "base": "", + "refs": { + "StreamingImage$State": "

The current state.

" + } + }, + "StreamingImageStatusCode": { + "base": "

The status code.

", + "refs": { + "StreamingImage$StatusCode": "

The status code.

" + } + }, + "StreamingInstanceType": { + "base": "", + "refs": { + "CreateStreamingSessionInput$Ec2InstanceType": "

The EC2 Instance type used for the streaming session.

", + "StreamingInstanceTypeList$member": null + } + }, + "StreamingInstanceTypeList": { + "base": "

The EC2 instance types that users can select from when launching a streaming session with this launch profile.

", + "refs": { + "StreamConfiguration$Ec2InstanceTypes": "

The EC2 instance types that users can select from when launching a streaming session with this launch profile.

", + "StreamConfigurationCreate$Ec2InstanceTypes": "

The EC2 instance types that users can select from when launching a streaming session with this launch profile.

" + } + }, + "StreamingSession": { + "base": "", + "refs": { + "CreateStreamingSessionOutput$Session": "

The session.

", + "DeleteStreamingSessionOutput$Session": "

The session.

", + "GetStreamingSessionOutput$Session": "

The session.

", + "StreamingSessionList$member": null + } + }, + "StreamingSessionList": { + "base": "", + "refs": { + "ListStreamingSessionsOutput$Sessions": "

A collection of streaming sessions.

" + } + }, + "StreamingSessionState": { + "base": "

The streaming session state.

", + "refs": { + "StreamingSession$State": "

The current state.

" + } + }, + "StreamingSessionStatusCode": { + "base": "", + "refs": { + "StreamingSession$StatusCode": "

The status code.

" + } + }, + "StreamingSessionStream": { + "base": "", + "refs": { + "CreateStreamingSessionStreamOutput$Stream": "

The stream.

", + "GetStreamingSessionStreamOutput$Stream": "

The stream.

" + } + }, + "StreamingSessionStreamExpirationInSeconds": { + "base": "", + "refs": { + "CreateStreamingSessionStreamInput$ExpirationInSeconds": "

The expiration time in seconds.

" + } + }, + "StreamingSessionStreamState": { + "base": "", + "refs": { + "StreamingSessionStream$State": "

The current state.

" + } + }, + "StreamingSessionStreamStatusCode": { + "base": null, + "refs": { + "StreamingSessionStream$StatusCode": "

The streaming session stream status code.

" + } + }, + "Studio": { + "base": "", + "refs": { + "CreateStudioOutput$Studio": "

Information about a studio.

", + "DeleteStudioOutput$Studio": "

Information about a studio.

", + "GetStudioOutput$Studio": "

Information about a studio.

", + "StartStudioSSOConfigurationRepairOutput$Studio": "

Information about a studio.

", + "StudioList$member": null, + "UpdateStudioOutput$Studio": "

Information about a studio.

" + } + }, + "StudioComponent": { + "base": "

A network that is used by a studio’s users and workflows, including render farm, Active Directory, licensing, and file system.

", + "refs": { + "CreateStudioComponentOutput$StudioComponent": "

Information about the studio component.

", + "DeleteStudioComponentOutput$StudioComponent": "

Information about the studio component.

", + "GetStudioComponentOutput$StudioComponent": "

Information about the studio component.

", + "StudioComponentList$member": null, + "UpdateStudioComponentOutput$StudioComponent": "

Information about the studio component.

" + } + }, + "StudioComponentConfiguration": { + "base": "

The configuration of the studio component, based on component type.

", + "refs": { + "CreateStudioComponentInput$Configuration": "

The configuration of the studio component, based on component type.

", + "StudioComponent$Configuration": "

The configuration of the studio component, based on component type.

", + "UpdateStudioComponentInput$Configuration": "

The configuration of the studio component, based on component type.

" + } + }, + "StudioComponentDescription": { + "base": "", + "refs": { + "CreateStudioComponentInput$Description": "

The description.

", + "StudioComponent$Description": "

A human-readable description for the studio component resource.

", + "StudioComponentSummary$Description": "

The description.

", + "UpdateStudioComponentInput$Description": "

The description.

" + } + }, + "StudioComponentId": { + "base": null, + "refs": { + "LaunchProfileInitializationActiveDirectory$StudioComponentId": "

The unique identifier for a studio component resource.

", + "LaunchProfileInitializationScript$StudioComponentId": "

The unique identifier for a studio component resource.

", + "StudioComponent$StudioComponentId": "

The unique identifier for a studio component resource.

", + "StudioComponentSummary$StudioComponentId": "

The unique identifier for a studio component resource.

" + } + }, + "StudioComponentInitializationScript": { + "base": "

Initialization scripts for studio components.

", + "refs": { + "StudioComponentInitializationScriptList$member": null + } + }, + "StudioComponentInitializationScriptContent": { + "base": "", + "refs": { + "LaunchProfileInitializationScript$Script": "

The initialization script.

", + "StudioComponentInitializationScript$Script": "

The initialization script.

" + } + }, + "StudioComponentInitializationScriptList": { + "base": "", + "refs": { + "CreateStudioComponentInput$InitializationScripts": "

Initialization scripts for studio components.

", + "StudioComponent$InitializationScripts": "

Initialization scripts for studio components.

", + "UpdateStudioComponentInput$InitializationScripts": "

Initialization scripts for studio components.

" + } + }, + "StudioComponentInitializationScriptRunContext": { + "base": "", + "refs": { + "StudioComponentInitializationScript$RunContext": "

The method to use when running the initialization script.

" + } + }, + "StudioComponentList": { + "base": "", + "refs": { + "ListStudioComponentsOutput$StudioComponents": "

A collection of studio components.

" + } + }, + "StudioComponentName": { + "base": "", + "refs": { + "CreateStudioComponentInput$Name": "

The name for the studio component.

", + "LaunchProfileInitializationActiveDirectory$StudioComponentName": "

The name for the studio component.

", + "LaunchProfileInitializationScript$StudioComponentName": "

The name for the studio component.

", + "StudioComponent$Name": "

A friendly name for the studio component resource.

", + "StudioComponentSummary$Name": "

The name for the studio component.

", + "UpdateStudioComponentInput$Name": "

The name for the studio component.

" + } + }, + "StudioComponentScriptParameterKeyValueList": { + "base": "", + "refs": { + "CreateStudioComponentInput$ScriptParameters": "

Parameters for the studio component scripts.

", + "StudioComponent$ScriptParameters": "

Parameters for the studio component scripts.

", + "UpdateStudioComponentInput$ScriptParameters": "

Parameters for the studio component scripts.

" + } + }, + "StudioComponentSecurityGroupIdList": { + "base": "", + "refs": { + "CreateStudioComponentInput$Ec2SecurityGroupIds": "

The EC2 security groups that control access to the studio component.

", + "StudioComponent$Ec2SecurityGroupIds": "

The EC2 security groups that control access to the studio component.

", + "UpdateStudioComponentInput$Ec2SecurityGroupIds": "

The EC2 security groups that control access to the studio component.

" + } + }, + "StudioComponentState": { + "base": "

The current state of the studio component resource.

While a studio component is being created, modified, or deleted, its state will equal \"CREATE_IN_PROGRESS\", \"UPDATE_IN_PROGRESS\", or \"DELETE_IN_PROGRESS\"

These are called 'transition states'.

No modifications may be made to the studio component while it is in a transition state.

If creation of the resource fails, the state will change to `CREATE_FAILED`. The resource StatusCode and StatusMessage will provide more information of why creation failed. The resource in this state will automatically be deleted from your account after a period of time.

If updating the resource fails, the state will change to `UPDATE_FAILED`. The resource StatusCode and StatusMessage will provide more information of why the update failed. The resource will be returned to the state it was in when the update request was invoked.

If deleting the resource fails, the state will change to `DELETE_FAILED`. The resource StatusCode and StatusMessage will provide more information of why the update failed. The resource will be returned to the state it was in when the update request was invoked. After the resource is deleted successfully, it will change to the \"DELETED\" state. The resource will no longer count against service quotas and cannot be used or acted upon any futher. It will be removed from your account after a period of time.

", + "refs": { + "StudioComponent$State": "

The current state.

" + } + }, + "StudioComponentStatusCode": { + "base": "

The current status of the studio component resource.

When the resource is in the 'READY' state, the status code signals what the last mutation made to the resource was.

When the resource is in a CREATE_FAILED/UPDATE_FAILED/DELETE_FAILED state, the status code signals what went wrong and why the mutation failed.

", + "refs": { + "StudioComponent$StatusCode": "

The status code.

" + } + }, + "StudioComponentSubtype": { + "base": "", + "refs": { + "CreateStudioComponentInput$Subtype": "

The specific subtype of a studio component.

", + "StudioComponent$Subtype": "

The specific subtype of a studio component.

", + "StudioComponentSummary$Subtype": "

The specific subtype of a studio component.

", + "UpdateStudioComponentInput$Subtype": "

The specific subtype of a studio component.

" + } + }, + "StudioComponentSummary": { + "base": "

", + "refs": { + "StudioComponentSummaryList$member": null + } + }, + "StudioComponentSummaryList": { + "base": "", + "refs": { + "GetLaunchProfileDetailsOutput$StudioComponentSummaries": "

A collection of studio component summaries.

" + } + }, + "StudioComponentType": { + "base": "", + "refs": { + "CreateStudioComponentInput$Type": "

The type of the studio component.

", + "StudioComponent$Type": "

The type of the studio component.

", + "StudioComponentSummary$Type": "

The type of the studio component.

", + "UpdateStudioComponentInput$Type": "

The type of the studio component.

" + } + }, + "StudioDisplayName": { + "base": null, + "refs": { + "CreateStudioInput$DisplayName": "

A friendly name for the studio.

", + "Studio$DisplayName": "

A friendly name for the studio.

", + "UpdateStudioInput$DisplayName": "

A friendly name for the studio.

" + } + }, + "StudioEncryptionConfiguration": { + "base": "

Configuration of the encryption method that is used for the studio.

", + "refs": { + "CreateStudioInput$StudioEncryptionConfiguration": "

The studio encryption configuration.

", + "Studio$StudioEncryptionConfiguration": "

Configuration of the encryption method that is used for the studio.

" + } + }, + "StudioEncryptionConfigurationKeyArn": { + "base": "

The Amazon Resource Name (ARN) for a KMS key that is used to encrypt studio data.

", + "refs": { + "StudioEncryptionConfiguration$KeyArn": "

The ARN for a KMS key that is used to encrypt studio data.

" + } + }, + "StudioEncryptionConfigurationKeyType": { + "base": "

The type of KMS key that is used to encrypt studio data.

", + "refs": { + "StudioEncryptionConfiguration$KeyType": "

The type of KMS key that is used to encrypt studio data.

" + } + }, + "StudioList": { + "base": "", + "refs": { + "ListStudiosOutput$Studios": "

A collection of studios.

" + } + }, + "StudioMembership": { + "base": "", + "refs": { + "GetStudioMemberOutput$Member": "

The member.

", + "StudioMembershipList$member": null + } + }, + "StudioMembershipList": { + "base": "", + "refs": { + "ListStudioMembersOutput$Members": "

A list of members.

" + } + }, + "StudioName": { + "base": "", + "refs": { + "CreateStudioInput$StudioName": "

The studio name that is used in the URL of the Nimble Studio portal when accessed by Nimble Studio users.

", + "Studio$StudioName": "

The name of the studio, as included in the URL when accessing it in the Nimble Studio portal.

" + } + }, + "StudioPersona": { + "base": "", + "refs": { + "NewStudioMember$Persona": "

The persona.

", + "StudioMembership$Persona": "

The persona.

" + } + }, + "StudioState": { + "base": "", + "refs": { + "Studio$State": "

The current state of the studio resource.

" + } + }, + "StudioStatusCode": { + "base": "

The status code.

", + "refs": { + "Studio$StatusCode": "

Status codes that provide additional detail on the studio state.

" + } + }, + "TagResourceInput": { + "base": "

", + "refs": {} + }, + "Tags": { + "base": "", + "refs": { + "CreateLaunchProfileInput$Tags": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", + "CreateStreamingImageInput$Tags": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", + "CreateStreamingSessionInput$Tags": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", + "CreateStudioComponentInput$Tags": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", + "CreateStudioInput$Tags": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", + "LaunchProfile$Tags": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", + "ListTagsOutput$Tags": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", + "StreamingImage$Tags": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", + "StreamingSession$Tags": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", + "Studio$Tags": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", + "StudioComponent$Tags": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

", + "TagResourceInput$Tags": "

A collection of labels, in the form of key:value pairs, that apply to this resource.

" + } + }, + "ThrottlingException": { + "base": "", + "refs": {} + }, + "Timestamp": { + "base": "", + "refs": { + "Eula$CreatedAt": "

The Unix epoch timestamp in seconds for when the resource was created.

", + "Eula$UpdatedAt": "

The Unix epoch timestamp in seconds for when the resource was updated.

", + "EulaAcceptance$AcceptedAt": "

The Unix epoch timestamp in seconds for when the EULA was accepted.

", + "EulaAcceptance$AcceptedOn": null, + "LaunchProfile$CreatedAt": "

The Unix epoch timestamp in seconds for when the resource was created.

", + "LaunchProfile$UpdatedAt": "

The Unix epoch timestamp in seconds for when the resource was updated.

", + "StreamingSession$CreatedAt": "

The Unix epoch timestamp in seconds for when the resource was created.

", + "StreamingSession$TerminateAt": "

The time the streaming session will automatically terminate if not terminated by the user.

", + "StreamingSession$UpdatedAt": "

The Unix epoch timestamp in seconds for when the resource was updated.

", + "StreamingSessionStream$CreatedAt": "

The Unix epoch timestamp in seconds for when the resource was created.

", + "StreamingSessionStream$ExpiresAt": "

The Unix epoch timestamp in seconds for when the resource expires.

", + "Studio$CreatedAt": "

The Unix epoch timestamp in seconds for when the resource was created.

", + "Studio$UpdatedAt": "

The Unix epoch timestamp in seconds for when the resource was updated.

", + "StudioComponent$CreatedAt": "

The Unix epoch timestamp in seconds for when the resource was created.

", + "StudioComponent$UpdatedAt": "

The Unix epoch timestamp in seconds for when the resource was updated.

", + "StudioComponentSummary$CreatedAt": "

The Unix epoch timestamp in seconds for when the resource was created.

", + "StudioComponentSummary$UpdatedAt": "

The Unix epoch timestamp in seconds for when the resource was updated.

" + } + }, + "UpdateLaunchProfileInput": { + "base": "", + "refs": {} + }, + "UpdateLaunchProfileMemberInput": { + "base": "

", + "refs": {} + }, + "UpdateLaunchProfileOutput": { + "base": "", + "refs": {} + }, + "UpdateStreamingImageInput": { + "base": "", + "refs": {} + }, + "UpdateStreamingImageOutput": { + "base": "

", + "refs": {} + }, + "UpdateStudioComponentInput": { + "base": "", + "refs": {} + }, + "UpdateStudioComponentOutput": { + "base": "", + "refs": {} + }, + "UpdateStudioInput": { + "base": "", + "refs": {} + }, + "UpdateStudioOutput": { + "base": "", + "refs": {} + }, + "ValidationException": { + "base": "", + "refs": {} + }, + "WindowsMountDrive": { + "base": "", + "refs": { + "SharedFileSystemConfiguration$WindowsMountDrive": "

The mount location for a shared file system on a Windows virtual workstation.

" + } + }, + "__string": { + "base": null, + "refs": { + "AccessDeniedException$Code": "

A more specific error code.

", + "AccessDeniedException$Message": "

A human-readable description of the error.

", + "ComputeFarmConfiguration$ActiveDirectoryUser": "

The name of an Active Directory user that is used on ComputeFarm worker instances.

", + "ComputeFarmConfiguration$Endpoint": "

The endpoint of the ComputeFarm that is accessed by the studio component resource.

", + "ConflictException$Code": "

A more specific error code.

", + "ConflictException$Message": "

A human-readable description of the error.

", + "CreateStreamingSessionInput$LaunchProfileId": "

The launch profile ID.

", + "CreateStudioInput$AdminRoleArn": "

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

", + "CreateStudioInput$UserRoleArn": "

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

", + "Eula$Content": "

The EULA content.

", + "EulaAcceptance$AcceptedBy": "

The ID of the person who accepted the EULA.

", + "EulaAcceptance$AccepteeId": "

The ID of the acceptee.

", + "EulaIdList$member": null, + "ExceptionContext$member": null, + "InternalServerException$Code": "

A more specific error code.

", + "InternalServerException$Message": "

A human-readable description of the error.

", + "LaunchProfile$Arn": "

The ARN of the resource.

", + "LaunchProfile$CreatedBy": "

The user ID of the user that created the launch profile.

", + "LaunchProfile$StatusMessage": "

The status message for the launch profile.

", + "LaunchProfile$UpdatedBy": "

The user ID of the user that most recently updated the resource.

", + "LaunchProfileInitializationActiveDirectory$DirectoryName": "

The directory name.

", + "LaunchProfileMembership$IdentityStoreId": "

The ID of the identity store.

", + "LaunchProfileMembership$PrincipalId": "

The principal ID.

", + "LaunchProfileStudioComponentIdList$member": null, + "LicenseServiceConfiguration$Endpoint": "

The endpoint of the license service that is accessed by the studio component resource.

", + "ListEulaAcceptancesOutput$NextToken": "

The token for the next set of results, or null if there are no more results.

", + "ListEulasOutput$NextToken": "

The token for the next set of results, or null if there are no more results.

", + "ListLaunchProfileMembersOutput$NextToken": "

The token for the next set of results, or null if there are no more results.

", + "ListLaunchProfilesOutput$NextToken": "

The token for the next set of results, or null if there are no more results.

", + "ListStreamingImagesOutput$NextToken": "

The token for the next set of results, or null if there are no more results.

", + "ListStreamingSessionsOutput$NextToken": "

The token for the next set of results, or null if there are no more results.

", + "ListStudioComponentsOutput$NextToken": "

The token for the next set of results, or null if there are no more results.

", + "ListStudioMembersOutput$NextToken": "

The token for the next set of results, or null if there are no more results.

", + "ListStudiosOutput$NextToken": "

The token for the next set of results, or null if there are no more results.

", + "NewLaunchProfileMember$PrincipalId": "

The principal ID.

", + "NewStudioMember$PrincipalId": "

The principal ID.

", + "PutLaunchProfileMembersInput$IdentityStoreId": "

The ID of the identity store.

", + "PutStudioMembersInput$IdentityStoreId": "

The ID of the identity store.

", + "ResourceNotFoundException$Code": "

A more specific error code.

", + "ResourceNotFoundException$Message": "

A human-readable description of the error.

", + "ServiceQuotaExceededException$Code": "

A more specific error code.

", + "ServiceQuotaExceededException$Message": "

A human-readable description of the error.

", + "SharedFileSystemConfiguration$Endpoint": "

The endpoint of the shared file system that is accessed by the studio component resource.

", + "SharedFileSystemConfiguration$FileSystemId": "

The unique identifier for a file system.

", + "SharedFileSystemConfiguration$ShareName": "

The name of the file share.

", + "StreamingImage$Arn": "

The ARN of the resource.

", + "StreamingImage$StatusMessage": "

The status message for the streaming image.

", + "StreamingSession$Arn": "

The ARN of the resource.

", + "StreamingSession$CreatedBy": "

The user ID of the user that created the streaming session.

", + "StreamingSession$Ec2InstanceType": "

The EC2 Instance type used for the streaming session.

", + "StreamingSession$LaunchProfileId": "

The ID of the launch profile used to control access from the streaming session.

", + "StreamingSession$StatusMessage": "

The status message for the streaming session.

", + "StreamingSession$UpdatedBy": "

The user ID of the user that most recently updated the resource.

", + "StreamingSessionStream$CreatedBy": "

The user ID of the user that created the streaming session stream.

", + "StreamingSessionStream$StreamId": "

The stream ID.

", + "StreamingSessionStream$Url": "

The URL to connect to this stream using the DCV client.

", + "Studio$AdminRoleArn": "

The IAM role that studio admins assume when logging in to the Nimble Studio portal.

", + "Studio$Arn": "

The Amazon Resource Name (ARN) that is assigned to a studio resource and uniquely identifies it. ARNs are unique across all Regions.

", + "Studio$SsoClientId": "

The AWS SSO application client ID used to integrate with AWS SSO to enable AWS SSO users to log in to Nimble portal.

", + "Studio$StatusMessage": "

Additional detail on the studio state.

", + "Studio$StudioId": "

The unique identifier for a studio resource. In Nimble Studio, all other resources are contained in a studio resource.

", + "Studio$StudioUrl": "

The address of the web page for the studio.

", + "Studio$UserRoleArn": "

The IAM role that studio users assume when logging in to the Nimble Studio portal.

", + "StudioComponent$Arn": "

The ARN of the resource.

", + "StudioComponent$CreatedBy": "

The user ID of the user that created the studio component.

", + "StudioComponent$StatusMessage": "

The status message for the studio component.

", + "StudioComponent$UpdatedBy": "

The user ID of the user that most recently updated the resource.

", + "StudioComponentSummary$CreatedBy": "

The user ID of the user that created the studio component.

", + "StudioComponentSummary$UpdatedBy": "

The user ID of the user that most recently updated the resource.

", + "StudioMembership$IdentityStoreId": "

The ID of the identity store.

", + "StudioMembership$PrincipalId": "

The principal ID.

", + "Tags$member": null, + "ThrottlingException$Code": "

A more specific error code.

", + "ThrottlingException$Message": "

A human-readable description of the error.

", + "UpdateStudioInput$AdminRoleArn": "

The IAM role that Studio Admins will assume when logging in to the Nimble Studio portal.

", + "UpdateStudioInput$UserRoleArn": "

The IAM role that Studio Users will assume when logging in to the Nimble Studio portal.

", + "ValidationException$Code": "

A more specific error code.

", + "ValidationException$Message": "

A human-readable description of the error.

" + } + } + }, + "metadata": { + "endpointPrefix": "nimble", + "serviceFullName": "AmazonNimbleStudio", + "serviceId": "nimble", + "uid": "nimble-2020-08-01" + } +} diff --git a/models/apis/nimble/2020-08-01/paginators-1.json b/models/apis/nimble/2020-08-01/paginators-1.json new file mode 100644 index 0000000000..8f25047ece --- /dev/null +++ b/models/apis/nimble/2020-08-01/paginators-1.json @@ -0,0 +1,59 @@ +{ + "metadata": { + "endpointPrefix": "nimble", + "serviceFullName": "AmazonNimbleStudio", + "serviceId": "nimble", + "uid": "nimble-2020-08-01" + }, + "pagination": { + "ListEulaAcceptances": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "eulaAcceptances" + }, + "ListEulas": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "eulas" + }, + "ListLaunchProfileMembers": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "members" + }, + "ListLaunchProfiles": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "launchProfiles" + }, + "ListStreamingImages": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "streamingImages" + }, + "ListStreamingSessions": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "sessions" + }, + "ListStudioComponents": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "studioComponents" + }, + "ListStudioMembers": { + "input_token": "nextToken", + "limit_key": "maxResults", + "output_token": "nextToken", + "result_key": "members" + }, + "ListStudios": { + "input_token": "nextToken", + "output_token": "nextToken", + "result_key": "studios" + } + } +} diff --git a/service/cloudformation/api.go b/service/cloudformation/api.go index db419e2e0a..0c756db06f 100644 --- a/service/cloudformation/api.go +++ b/service/cloudformation/api.go @@ -7942,6 +7942,7 @@ type DeploymentTargets struct { // set updates. Accounts []*string `type:"list"` + // Returns the value of the AccountsUrl property. AccountsUrl *string `min:"1" type:"string"` // The organization root ID or organizational unit (OU) IDs to which StackSets @@ -10439,6 +10440,22 @@ func (s *GetTemplateOutput) SetTemplateBody(v string) *GetTemplateOutput { type GetTemplateSummaryInput struct { _ struct{} `type:"structure"` + // [Service-managed permissions] Specifies whether you are acting as an account + // administrator in the organization's management account or as a delegated + // administrator in a member account. + // + // By default, SELF is specified. Use SELF for stack sets with self-managed + // permissions. + // + // * If you are signed in to the management account, specify SELF. + // + // * If you are signed in to a delegated administrator account, specify DELEGATED_ADMIN. + // Your AWS account must be registered as a delegated administrator in the + // management account. For more information, see Register a delegated administrator + // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-orgs-delegated-admin.html) + // in the AWS CloudFormation User Guide. + CallAs *string `type:"string" enum:"CallAs"` + // The name or the stack ID that is associated with the stack, which are not // always interchangeable. For running stacks, you can specify either the stack's // name or its unique stack ID. For deleted stack, you must specify the unique @@ -10503,6 +10520,12 @@ func (s *GetTemplateSummaryInput) Validate() error { return nil } +// SetCallAs sets the CallAs field's value. +func (s *GetTemplateSummaryInput) SetCallAs(v string) *GetTemplateSummaryInput { + s.CallAs = &v + return s +} + // SetStackName sets the StackName field's value. func (s *GetTemplateSummaryInput) SetStackName(v string) *GetTemplateSummaryInput { s.StackName = &v @@ -15676,6 +15699,8 @@ type StackSetOperationPreferences struct { // but not both. MaxConcurrentPercentage *int64 `min:"1" type:"integer"` + // The concurrency type of deploying StackSets operations in regions, could + // be in parallel or one region at a time. RegionConcurrencyType *string `type:"string" enum:"RegionConcurrencyType"` // The order of the Regions in where you want to perform the stack operation. diff --git a/service/connect/api.go b/service/connect/api.go index 20d1ca6d9c..a9aed76641 100644 --- a/service/connect/api.go +++ b/service/connect/api.go @@ -23072,9 +23072,7 @@ type UpdateQueueMaxContactsInput struct { // The maximum number of contacts that can be in the queue before it is considered // full. - // - // MaxContacts is a required field - MaxContacts *int64 `type:"integer" required:"true"` + MaxContacts *int64 `type:"integer"` // The identifier for the queue. // @@ -23101,9 +23099,6 @@ func (s *UpdateQueueMaxContactsInput) Validate() error { if s.InstanceId != nil && len(*s.InstanceId) < 1 { invalidParams.Add(request.NewErrParamMinLen("InstanceId", 1)) } - if s.MaxContacts == nil { - invalidParams.Add(request.NewErrParamRequired("MaxContacts")) - } if s.QueueId == nil { invalidParams.Add(request.NewErrParamRequired("QueueId")) } diff --git a/service/iotsitewise/api.go b/service/iotsitewise/api.go index 714eebd216..0785428df3 100644 --- a/service/iotsitewise/api.go +++ b/service/iotsitewise/api.go @@ -3535,6 +3535,173 @@ func (c *IoTSiteWise) GetAssetPropertyValueHistoryPagesWithContext(ctx aws.Conte return p.Err() } +const opGetInterpolatedAssetPropertyValues = "GetInterpolatedAssetPropertyValues" + +// GetInterpolatedAssetPropertyValuesRequest generates a "aws/request.Request" representing the +// client's request for the GetInterpolatedAssetPropertyValues 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 GetInterpolatedAssetPropertyValues for more information on using the GetInterpolatedAssetPropertyValues +// 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 GetInterpolatedAssetPropertyValuesRequest method. +// req, resp := client.GetInterpolatedAssetPropertyValuesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetInterpolatedAssetPropertyValues +func (c *IoTSiteWise) GetInterpolatedAssetPropertyValuesRequest(input *GetInterpolatedAssetPropertyValuesInput) (req *request.Request, output *GetInterpolatedAssetPropertyValuesOutput) { + op := &request.Operation{ + Name: opGetInterpolatedAssetPropertyValues, + HTTPMethod: "GET", + HTTPPath: "/properties/interpolated", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &GetInterpolatedAssetPropertyValuesInput{} + } + + output = &GetInterpolatedAssetPropertyValuesOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Build.PushBackNamed(protocol.NewHostPrefixHandler("data.", nil)) + req.Handlers.Build.PushBackNamed(protocol.ValidateEndpointHostHandler) + return +} + +// GetInterpolatedAssetPropertyValues API operation for AWS IoT SiteWise. +// +// Get interpolated values for an asset property for a specified time interval, +// during a period of time. For example, you can use the this operation to return +// the interpolated temperature values for a wind turbine every 24 hours over +// a duration of 7 days. +// +// To identify an asset property, you must specify one of the following: +// +// * The assetId and propertyId of an asset property. +// +// * A propertyAlias, which is a data stream alias (for example, /company/windfarm/3/turbine/7/temperature). +// To define an asset property's alias, see UpdateAssetProperty (https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html). +// +// 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 IoT SiteWise's +// API operation GetInterpolatedAssetPropertyValues for usage and error information. +// +// Returned Error Types: +// * InvalidRequestException +// The request isn't valid. This can occur if your request contains malformed +// JSON or unsupported characters. Check your request and try again. +// +// * ResourceNotFoundException +// The requested resource can't be found. +// +// * InternalFailureException +// AWS IoT SiteWise can't process your request right now. Try again later. +// +// * ThrottlingException +// Your request exceeded a rate limit. For example, you might have exceeded +// the number of AWS IoT SiteWise assets that can be created per second, the +// allowed number of messages per second, and so on. +// +// For more information, see Quotas (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/quotas.html) +// in the AWS IoT SiteWise User Guide. +// +// * ServiceUnavailableException +// The requested service is unavailable. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/iotsitewise-2019-12-02/GetInterpolatedAssetPropertyValues +func (c *IoTSiteWise) GetInterpolatedAssetPropertyValues(input *GetInterpolatedAssetPropertyValuesInput) (*GetInterpolatedAssetPropertyValuesOutput, error) { + req, out := c.GetInterpolatedAssetPropertyValuesRequest(input) + return out, req.Send() +} + +// GetInterpolatedAssetPropertyValuesWithContext is the same as GetInterpolatedAssetPropertyValues with the addition of +// the ability to pass a context and additional request options. +// +// See GetInterpolatedAssetPropertyValues 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 *IoTSiteWise) GetInterpolatedAssetPropertyValuesWithContext(ctx aws.Context, input *GetInterpolatedAssetPropertyValuesInput, opts ...request.Option) (*GetInterpolatedAssetPropertyValuesOutput, error) { + req, out := c.GetInterpolatedAssetPropertyValuesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// GetInterpolatedAssetPropertyValuesPages iterates over the pages of a GetInterpolatedAssetPropertyValues operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See GetInterpolatedAssetPropertyValues 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 GetInterpolatedAssetPropertyValues operation. +// pageNum := 0 +// err := client.GetInterpolatedAssetPropertyValuesPages(params, +// func(page *iotsitewise.GetInterpolatedAssetPropertyValuesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *IoTSiteWise) GetInterpolatedAssetPropertyValuesPages(input *GetInterpolatedAssetPropertyValuesInput, fn func(*GetInterpolatedAssetPropertyValuesOutput, bool) bool) error { + return c.GetInterpolatedAssetPropertyValuesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// GetInterpolatedAssetPropertyValuesPagesWithContext same as GetInterpolatedAssetPropertyValuesPages 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 *IoTSiteWise) GetInterpolatedAssetPropertyValuesPagesWithContext(ctx aws.Context, input *GetInterpolatedAssetPropertyValuesInput, fn func(*GetInterpolatedAssetPropertyValuesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *GetInterpolatedAssetPropertyValuesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.GetInterpolatedAssetPropertyValuesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*GetInterpolatedAssetPropertyValuesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListAccessPolicies = "ListAccessPolicies" // ListAccessPoliciesRequest generates a "aws/request.Request" representing the @@ -12736,6 +12903,236 @@ func (s *GetAssetPropertyValueOutput) SetPropertyValue(v *AssetPropertyValue) *G return s } +type GetInterpolatedAssetPropertyValuesInput struct { + _ struct{} `type:"structure"` + + // The ID of the asset. + AssetId *string `location:"querystring" locationName:"assetId" min:"36" type:"string"` + + // The inclusive end of the range from which to interpolate data, expressed + // in seconds in Unix epoch time. + // + // EndTimeInSeconds is a required field + EndTimeInSeconds *int64 `location:"querystring" locationName:"endTimeInSeconds" min:"1" type:"long" required:"true"` + + // The nanosecond offset converted from endTimeInSeconds. + EndTimeOffsetInNanos *int64 `location:"querystring" locationName:"endTimeOffsetInNanos" type:"integer"` + + // The time interval in seconds over which to interpolate data. Each interval + // starts when the previous one ends. + // + // IntervalInSeconds is a required field + IntervalInSeconds *int64 `location:"querystring" locationName:"intervalInSeconds" min:"1" type:"long" required:"true"` + + // The maximum number of results to be returned per paginated request. If not + // specified, the default value is 10. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token to be used for the next set of paginated results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` + + // The property alias that identifies the property, such as an OPC-UA server + // data stream path (for example, /company/windfarm/3/turbine/7/temperature). + // For more information, see Mapping industrial data streams to asset properties + // (https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html) + // in the AWS IoT SiteWise User Guide. + PropertyAlias *string `location:"querystring" locationName:"propertyAlias" min:"1" type:"string"` + + // The ID of the asset property. + PropertyId *string `location:"querystring" locationName:"propertyId" min:"36" type:"string"` + + // The quality of the asset property value. You can use this parameter as a + // filter to choose only the asset property values that have a specific quality. + // + // Quality is a required field + Quality *string `location:"querystring" locationName:"quality" type:"string" required:"true" enum:"Quality"` + + // The exclusive start of the range from which to interpolate data, expressed + // in seconds in Unix epoch time. + // + // StartTimeInSeconds is a required field + StartTimeInSeconds *int64 `location:"querystring" locationName:"startTimeInSeconds" min:"1" type:"long" required:"true"` + + // The nanosecond offset converted from startTimeInSeconds. + StartTimeOffsetInNanos *int64 `location:"querystring" locationName:"startTimeOffsetInNanos" type:"integer"` + + // The interpolation type. + // + // Valid values: LINEAR_INTERPOLATION + // + // Type is a required field + Type *string `location:"querystring" locationName:"type" min:"1" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetInterpolatedAssetPropertyValuesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetInterpolatedAssetPropertyValuesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetInterpolatedAssetPropertyValuesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetInterpolatedAssetPropertyValuesInput"} + if s.AssetId != nil && len(*s.AssetId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AssetId", 36)) + } + if s.EndTimeInSeconds == nil { + invalidParams.Add(request.NewErrParamRequired("EndTimeInSeconds")) + } + if s.EndTimeInSeconds != nil && *s.EndTimeInSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("EndTimeInSeconds", 1)) + } + if s.IntervalInSeconds == nil { + invalidParams.Add(request.NewErrParamRequired("IntervalInSeconds")) + } + if s.IntervalInSeconds != nil && *s.IntervalInSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("IntervalInSeconds", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.PropertyAlias != nil && len(*s.PropertyAlias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PropertyAlias", 1)) + } + if s.PropertyId != nil && len(*s.PropertyId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PropertyId", 36)) + } + if s.Quality == nil { + invalidParams.Add(request.NewErrParamRequired("Quality")) + } + if s.StartTimeInSeconds == nil { + invalidParams.Add(request.NewErrParamRequired("StartTimeInSeconds")) + } + if s.StartTimeInSeconds != nil && *s.StartTimeInSeconds < 1 { + invalidParams.Add(request.NewErrParamMinValue("StartTimeInSeconds", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Type != nil && len(*s.Type) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Type", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAssetId sets the AssetId field's value. +func (s *GetInterpolatedAssetPropertyValuesInput) SetAssetId(v string) *GetInterpolatedAssetPropertyValuesInput { + s.AssetId = &v + return s +} + +// SetEndTimeInSeconds sets the EndTimeInSeconds field's value. +func (s *GetInterpolatedAssetPropertyValuesInput) SetEndTimeInSeconds(v int64) *GetInterpolatedAssetPropertyValuesInput { + s.EndTimeInSeconds = &v + return s +} + +// SetEndTimeOffsetInNanos sets the EndTimeOffsetInNanos field's value. +func (s *GetInterpolatedAssetPropertyValuesInput) SetEndTimeOffsetInNanos(v int64) *GetInterpolatedAssetPropertyValuesInput { + s.EndTimeOffsetInNanos = &v + return s +} + +// SetIntervalInSeconds sets the IntervalInSeconds field's value. +func (s *GetInterpolatedAssetPropertyValuesInput) SetIntervalInSeconds(v int64) *GetInterpolatedAssetPropertyValuesInput { + s.IntervalInSeconds = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *GetInterpolatedAssetPropertyValuesInput) SetMaxResults(v int64) *GetInterpolatedAssetPropertyValuesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetInterpolatedAssetPropertyValuesInput) SetNextToken(v string) *GetInterpolatedAssetPropertyValuesInput { + s.NextToken = &v + return s +} + +// SetPropertyAlias sets the PropertyAlias field's value. +func (s *GetInterpolatedAssetPropertyValuesInput) SetPropertyAlias(v string) *GetInterpolatedAssetPropertyValuesInput { + s.PropertyAlias = &v + return s +} + +// SetPropertyId sets the PropertyId field's value. +func (s *GetInterpolatedAssetPropertyValuesInput) SetPropertyId(v string) *GetInterpolatedAssetPropertyValuesInput { + s.PropertyId = &v + return s +} + +// SetQuality sets the Quality field's value. +func (s *GetInterpolatedAssetPropertyValuesInput) SetQuality(v string) *GetInterpolatedAssetPropertyValuesInput { + s.Quality = &v + return s +} + +// SetStartTimeInSeconds sets the StartTimeInSeconds field's value. +func (s *GetInterpolatedAssetPropertyValuesInput) SetStartTimeInSeconds(v int64) *GetInterpolatedAssetPropertyValuesInput { + s.StartTimeInSeconds = &v + return s +} + +// SetStartTimeOffsetInNanos sets the StartTimeOffsetInNanos field's value. +func (s *GetInterpolatedAssetPropertyValuesInput) SetStartTimeOffsetInNanos(v int64) *GetInterpolatedAssetPropertyValuesInput { + s.StartTimeOffsetInNanos = &v + return s +} + +// SetType sets the Type field's value. +func (s *GetInterpolatedAssetPropertyValuesInput) SetType(v string) *GetInterpolatedAssetPropertyValuesInput { + s.Type = &v + return s +} + +type GetInterpolatedAssetPropertyValuesOutput struct { + _ struct{} `type:"structure"` + + // The requested interpolated values. + // + // InterpolatedAssetPropertyValues is a required field + InterpolatedAssetPropertyValues []*InterpolatedAssetPropertyValue `locationName:"interpolatedAssetPropertyValues" type:"list" required:"true"` + + // The token for the next set of results, or null if there are no additional + // results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation +func (s GetInterpolatedAssetPropertyValuesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetInterpolatedAssetPropertyValuesOutput) GoString() string { + return s.String() +} + +// SetInterpolatedAssetPropertyValues sets the InterpolatedAssetPropertyValues field's value. +func (s *GetInterpolatedAssetPropertyValuesOutput) SetInterpolatedAssetPropertyValues(v []*InterpolatedAssetPropertyValue) *GetInterpolatedAssetPropertyValuesOutput { + s.InterpolatedAssetPropertyValues = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *GetInterpolatedAssetPropertyValuesOutput) SetNextToken(v string) *GetInterpolatedAssetPropertyValuesOutput { + s.NextToken = &v + return s +} + // Contains details for a gateway that runs on AWS IoT Greengrass. To create // a gateway that runs on AWS IoT Greengrass, you must add the IoT SiteWise // connector to a Greengrass group and deploy it. Your Greengrass group must @@ -12835,7 +13232,7 @@ func (s *GroupIdentity) SetId(v string) *GroupIdentity { type IAMRoleIdentity struct { _ struct{} `type:"structure"` - // The ARN of the IAM role. For more information, see IAM ARNs (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.htmll#identifiers-arns) + // The ARN of the IAM role. For more information, see IAM ARNs (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html) // in the IAM User Guide. // // Arn is a required field @@ -13216,6 +13613,43 @@ func (s *InternalFailureException) RequestID() string { return s.RespMetadata.RequestID } +// Contains information about an interpolated asset property value. +type InterpolatedAssetPropertyValue struct { + _ struct{} `type:"structure"` + + // Contains a timestamp with optional nanosecond granularity. + // + // Timestamp is a required field + Timestamp *TimeInNanos `locationName:"timestamp" type:"structure" required:"true"` + + // Contains an asset property value (of a single type only). + // + // Value is a required field + Value *Variant `locationName:"value" type:"structure" required:"true"` +} + +// String returns the string representation +func (s InterpolatedAssetPropertyValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InterpolatedAssetPropertyValue) GoString() string { + return s.String() +} + +// SetTimestamp sets the Timestamp field's value. +func (s *InterpolatedAssetPropertyValue) SetTimestamp(v *TimeInNanos) *InterpolatedAssetPropertyValue { + s.Timestamp = v + return s +} + +// SetValue sets the Value field's value. +func (s *InterpolatedAssetPropertyValue) SetValue(v *Variant) *InterpolatedAssetPropertyValue { + s.Value = v + return s +} + // The request isn't valid. This can occur if your request contains malformed // JSON or unsupported characters. Check your request and try again. type InvalidRequestException struct { diff --git a/service/iotsitewise/iotsitewiseiface/interface.go b/service/iotsitewise/iotsitewiseiface/interface.go index d581fa810d..48210a0ab7 100644 --- a/service/iotsitewise/iotsitewiseiface/interface.go +++ b/service/iotsitewise/iotsitewiseiface/interface.go @@ -198,6 +198,13 @@ type IoTSiteWiseAPI interface { GetAssetPropertyValueHistoryPages(*iotsitewise.GetAssetPropertyValueHistoryInput, func(*iotsitewise.GetAssetPropertyValueHistoryOutput, bool) bool) error GetAssetPropertyValueHistoryPagesWithContext(aws.Context, *iotsitewise.GetAssetPropertyValueHistoryInput, func(*iotsitewise.GetAssetPropertyValueHistoryOutput, bool) bool, ...request.Option) error + GetInterpolatedAssetPropertyValues(*iotsitewise.GetInterpolatedAssetPropertyValuesInput) (*iotsitewise.GetInterpolatedAssetPropertyValuesOutput, error) + GetInterpolatedAssetPropertyValuesWithContext(aws.Context, *iotsitewise.GetInterpolatedAssetPropertyValuesInput, ...request.Option) (*iotsitewise.GetInterpolatedAssetPropertyValuesOutput, error) + GetInterpolatedAssetPropertyValuesRequest(*iotsitewise.GetInterpolatedAssetPropertyValuesInput) (*request.Request, *iotsitewise.GetInterpolatedAssetPropertyValuesOutput) + + GetInterpolatedAssetPropertyValuesPages(*iotsitewise.GetInterpolatedAssetPropertyValuesInput, func(*iotsitewise.GetInterpolatedAssetPropertyValuesOutput, bool) bool) error + GetInterpolatedAssetPropertyValuesPagesWithContext(aws.Context, *iotsitewise.GetInterpolatedAssetPropertyValuesInput, func(*iotsitewise.GetInterpolatedAssetPropertyValuesOutput, bool) bool, ...request.Option) error + ListAccessPolicies(*iotsitewise.ListAccessPoliciesInput) (*iotsitewise.ListAccessPoliciesOutput, error) ListAccessPoliciesWithContext(aws.Context, *iotsitewise.ListAccessPoliciesInput, ...request.Option) (*iotsitewise.ListAccessPoliciesOutput, error) ListAccessPoliciesRequest(*iotsitewise.ListAccessPoliciesInput) (*request.Request, *iotsitewise.ListAccessPoliciesOutput) diff --git a/service/mediapackagevod/api.go b/service/mediapackagevod/api.go index 9e19270b3f..669a5e698e 100644 --- a/service/mediapackagevod/api.go +++ b/service/mediapackagevod/api.go @@ -1847,6 +1847,13 @@ type CmafPackage struct { // HlsManifests is a required field HlsManifests []*HlsManifest `locationName:"hlsManifests" type:"list" required:"true"` + // When includeEncoderConfigurationInSegments is set to true, MediaPackage places + // your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS), + // and Video Parameter Set (VPS) metadata in every video segment instead of + // in the init fragment. This lets you use different SPS/PPS/VPS settings for + // your assets during content playback. + IncludeEncoderConfigurationInSegments *bool `locationName:"includeEncoderConfigurationInSegments" type:"boolean"` + // Duration (in seconds) of each fragment. Actual fragments will berounded to // the nearest multiple of the source fragment duration. SegmentDurationSeconds *int64 `locationName:"segmentDurationSeconds" type:"integer"` @@ -1892,6 +1899,12 @@ func (s *CmafPackage) SetHlsManifests(v []*HlsManifest) *CmafPackage { return s } +// SetIncludeEncoderConfigurationInSegments sets the IncludeEncoderConfigurationInSegments field's value. +func (s *CmafPackage) SetIncludeEncoderConfigurationInSegments(v bool) *CmafPackage { + s.IncludeEncoderConfigurationInSegments = &v + return s +} + // SetSegmentDurationSeconds sets the SegmentDurationSeconds field's value. func (s *CmafPackage) SetSegmentDurationSeconds(v int64) *CmafPackage { s.SegmentDurationSeconds = &v @@ -2638,6 +2651,13 @@ type DashPackage struct { // A Dynamic Adaptive Streaming over HTTP (DASH) encryption configuration. Encryption *DashEncryption `locationName:"encryption" type:"structure"` + // When includeEncoderConfigurationInSegments is set to true, MediaPackage places + // your encoder's Sequence Parameter Set (SPS), Picture Parameter Set (PPS), + // and Video Parameter Set (VPS) metadata in every video segment instead of + // in the init fragment. This lets you use different SPS/PPS/VPS settings for + // your assets during content playback. + IncludeEncoderConfigurationInSegments *bool `locationName:"includeEncoderConfigurationInSegments" type:"boolean"` + // A list of triggers that controls when the outgoing Dynamic Adaptive Streaming // over HTTP (DASH)Media Presentation Description (MPD) will be partitioned // into multiple periods. If empty, the content will notbe partitioned into @@ -2698,6 +2718,12 @@ func (s *DashPackage) SetEncryption(v *DashEncryption) *DashPackage { return s } +// SetIncludeEncoderConfigurationInSegments sets the IncludeEncoderConfigurationInSegments field's value. +func (s *DashPackage) SetIncludeEncoderConfigurationInSegments(v bool) *DashPackage { + s.IncludeEncoderConfigurationInSegments = &v + return s +} + // SetPeriodTriggers sets the PeriodTriggers field's value. func (s *DashPackage) SetPeriodTriggers(v []*string) *DashPackage { s.PeriodTriggers = v diff --git a/service/nimblestudio/api.go b/service/nimblestudio/api.go new file mode 100644 index 0000000000..50efe4e711 --- /dev/null +++ b/service/nimblestudio/api.go @@ -0,0 +1,12103 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package nimblestudio + +import ( + "fmt" + "time" + + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/awsutil" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +const opAcceptEulas = "AcceptEulas" + +// AcceptEulasRequest generates a "aws/request.Request" representing the +// client's request for the AcceptEulas 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 AcceptEulas for more information on using the AcceptEulas +// 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 AcceptEulasRequest method. +// req, resp := client.AcceptEulasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/AcceptEulas +func (c *NimbleStudio) AcceptEulasRequest(input *AcceptEulasInput) (req *request.Request, output *AcceptEulasOutput) { + op := &request.Operation{ + Name: opAcceptEulas, + HTTPMethod: "POST", + HTTPPath: "/2020-08-01/studios/{studioId}/eula-acceptances", + } + + if input == nil { + input = &AcceptEulasInput{} + } + + output = &AcceptEulasOutput{} + req = c.newRequest(op, input, output) + return +} + +// AcceptEulas API operation for AmazonNimbleStudio. +// +// Accept EULAs. +// +// 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 AmazonNimbleStudio's +// API operation AcceptEulas for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/AcceptEulas +func (c *NimbleStudio) AcceptEulas(input *AcceptEulasInput) (*AcceptEulasOutput, error) { + req, out := c.AcceptEulasRequest(input) + return out, req.Send() +} + +// AcceptEulasWithContext is the same as AcceptEulas with the addition of +// the ability to pass a context and additional request options. +// +// See AcceptEulas 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 *NimbleStudio) AcceptEulasWithContext(ctx aws.Context, input *AcceptEulasInput, opts ...request.Option) (*AcceptEulasOutput, error) { + req, out := c.AcceptEulasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateLaunchProfile = "CreateLaunchProfile" + +// CreateLaunchProfileRequest generates a "aws/request.Request" representing the +// client's request for the CreateLaunchProfile 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 CreateLaunchProfile for more information on using the CreateLaunchProfile +// 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 CreateLaunchProfileRequest method. +// req, resp := client.CreateLaunchProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/CreateLaunchProfile +func (c *NimbleStudio) CreateLaunchProfileRequest(input *CreateLaunchProfileInput) (req *request.Request, output *CreateLaunchProfileOutput) { + op := &request.Operation{ + Name: opCreateLaunchProfile, + HTTPMethod: "POST", + HTTPPath: "/2020-08-01/studios/{studioId}/launch-profiles", + } + + if input == nil { + input = &CreateLaunchProfileInput{} + } + + output = &CreateLaunchProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateLaunchProfile API operation for AmazonNimbleStudio. +// +// Create a launch profile. +// +// 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 AmazonNimbleStudio's +// API operation CreateLaunchProfile for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/CreateLaunchProfile +func (c *NimbleStudio) CreateLaunchProfile(input *CreateLaunchProfileInput) (*CreateLaunchProfileOutput, error) { + req, out := c.CreateLaunchProfileRequest(input) + return out, req.Send() +} + +// CreateLaunchProfileWithContext is the same as CreateLaunchProfile with the addition of +// the ability to pass a context and additional request options. +// +// See CreateLaunchProfile 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 *NimbleStudio) CreateLaunchProfileWithContext(ctx aws.Context, input *CreateLaunchProfileInput, opts ...request.Option) (*CreateLaunchProfileOutput, error) { + req, out := c.CreateLaunchProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateStreamingImage = "CreateStreamingImage" + +// CreateStreamingImageRequest generates a "aws/request.Request" representing the +// client's request for the CreateStreamingImage 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 CreateStreamingImage for more information on using the CreateStreamingImage +// 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 CreateStreamingImageRequest method. +// req, resp := client.CreateStreamingImageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/CreateStreamingImage +func (c *NimbleStudio) CreateStreamingImageRequest(input *CreateStreamingImageInput) (req *request.Request, output *CreateStreamingImageOutput) { + op := &request.Operation{ + Name: opCreateStreamingImage, + HTTPMethod: "POST", + HTTPPath: "/2020-08-01/studios/{studioId}/streaming-images", + } + + if input == nil { + input = &CreateStreamingImageInput{} + } + + output = &CreateStreamingImageOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateStreamingImage API operation for AmazonNimbleStudio. +// +// Creates a streaming image resource in a studio. +// +// 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 AmazonNimbleStudio's +// API operation CreateStreamingImage for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/CreateStreamingImage +func (c *NimbleStudio) CreateStreamingImage(input *CreateStreamingImageInput) (*CreateStreamingImageOutput, error) { + req, out := c.CreateStreamingImageRequest(input) + return out, req.Send() +} + +// CreateStreamingImageWithContext is the same as CreateStreamingImage with the addition of +// the ability to pass a context and additional request options. +// +// See CreateStreamingImage 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 *NimbleStudio) CreateStreamingImageWithContext(ctx aws.Context, input *CreateStreamingImageInput, opts ...request.Option) (*CreateStreamingImageOutput, error) { + req, out := c.CreateStreamingImageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateStreamingSession = "CreateStreamingSession" + +// CreateStreamingSessionRequest generates a "aws/request.Request" representing the +// client's request for the CreateStreamingSession 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 CreateStreamingSession for more information on using the CreateStreamingSession +// 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 CreateStreamingSessionRequest method. +// req, resp := client.CreateStreamingSessionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/CreateStreamingSession +func (c *NimbleStudio) CreateStreamingSessionRequest(input *CreateStreamingSessionInput) (req *request.Request, output *CreateStreamingSessionOutput) { + op := &request.Operation{ + Name: opCreateStreamingSession, + HTTPMethod: "POST", + HTTPPath: "/2020-08-01/studios/{studioId}/streaming-sessions", + } + + if input == nil { + input = &CreateStreamingSessionInput{} + } + + output = &CreateStreamingSessionOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateStreamingSession API operation for AmazonNimbleStudio. +// +// Creates a streaming session in a studio. +// +// After invoking this operation, you must poll GetStreamingSession until the +// streaming session is in state READY. +// +// 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 AmazonNimbleStudio's +// API operation CreateStreamingSession for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/CreateStreamingSession +func (c *NimbleStudio) CreateStreamingSession(input *CreateStreamingSessionInput) (*CreateStreamingSessionOutput, error) { + req, out := c.CreateStreamingSessionRequest(input) + return out, req.Send() +} + +// CreateStreamingSessionWithContext is the same as CreateStreamingSession with the addition of +// the ability to pass a context and additional request options. +// +// See CreateStreamingSession 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 *NimbleStudio) CreateStreamingSessionWithContext(ctx aws.Context, input *CreateStreamingSessionInput, opts ...request.Option) (*CreateStreamingSessionOutput, error) { + req, out := c.CreateStreamingSessionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateStreamingSessionStream = "CreateStreamingSessionStream" + +// CreateStreamingSessionStreamRequest generates a "aws/request.Request" representing the +// client's request for the CreateStreamingSessionStream 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 CreateStreamingSessionStream for more information on using the CreateStreamingSessionStream +// 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 CreateStreamingSessionStreamRequest method. +// req, resp := client.CreateStreamingSessionStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/CreateStreamingSessionStream +func (c *NimbleStudio) CreateStreamingSessionStreamRequest(input *CreateStreamingSessionStreamInput) (req *request.Request, output *CreateStreamingSessionStreamOutput) { + op := &request.Operation{ + Name: opCreateStreamingSessionStream, + HTTPMethod: "POST", + HTTPPath: "/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/streams", + } + + if input == nil { + input = &CreateStreamingSessionStreamInput{} + } + + output = &CreateStreamingSessionStreamOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateStreamingSessionStream API operation for AmazonNimbleStudio. +// +// Creates a streaming session stream for a streaming session. +// +// After invoking this API, invoke GetStreamingSessionStream with the returned +// streamId to poll the resource until it is in state READY. +// +// 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 AmazonNimbleStudio's +// API operation CreateStreamingSessionStream for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/CreateStreamingSessionStream +func (c *NimbleStudio) CreateStreamingSessionStream(input *CreateStreamingSessionStreamInput) (*CreateStreamingSessionStreamOutput, error) { + req, out := c.CreateStreamingSessionStreamRequest(input) + return out, req.Send() +} + +// CreateStreamingSessionStreamWithContext is the same as CreateStreamingSessionStream with the addition of +// the ability to pass a context and additional request options. +// +// See CreateStreamingSessionStream 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 *NimbleStudio) CreateStreamingSessionStreamWithContext(ctx aws.Context, input *CreateStreamingSessionStreamInput, opts ...request.Option) (*CreateStreamingSessionStreamOutput, error) { + req, out := c.CreateStreamingSessionStreamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateStudio = "CreateStudio" + +// CreateStudioRequest generates a "aws/request.Request" representing the +// client's request for the CreateStudio 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 CreateStudio for more information on using the CreateStudio +// 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 CreateStudioRequest method. +// req, resp := client.CreateStudioRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/CreateStudio +func (c *NimbleStudio) CreateStudioRequest(input *CreateStudioInput) (req *request.Request, output *CreateStudioOutput) { + op := &request.Operation{ + Name: opCreateStudio, + HTTPMethod: "POST", + HTTPPath: "/2020-08-01/studios", + } + + if input == nil { + input = &CreateStudioInput{} + } + + output = &CreateStudioOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateStudio API operation for AmazonNimbleStudio. +// +// Create a new Studio. +// +// When creating a Studio, two IAM roles must be provided: the admin role and +// the user Role. These roles are assumed by your users when they log in to +// the Nimble Studio portal. +// +// The user role must have the AmazonNimbleStudio-StudioUser managed policy +// attached for the portal to function properly. +// +// The Admin Role must have the AmazonNimbleStudio-StudioAdmin managed policy +// attached for the portal to function properly. +// +// You may optionally specify a KMS key in the StudioEncryptionConfiguration. +// +// In Nimble Studio, resource names, descriptions, initialization scripts, and +// other data you provide are always encrypted at rest using an AWS KMS key. +// By default, this key is owned by AWS and managed on your behalf. You may +// provide your own AWS KMS key when calling CreateStudio to encrypt this data +// using a key you own and manage. +// +// When providing an AWS KMS key during studio creation, Nimble Studio creates +// KMS grants in your account to provide your studio user and admin roles access +// to these KMS keys. +// +// If you delete this grant, the studio will no longer be accessible to your +// portal users. +// +// If you delete the studio KMS key, your studio will no longer be accessible. +// +// 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 AmazonNimbleStudio's +// API operation CreateStudio for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/CreateStudio +func (c *NimbleStudio) CreateStudio(input *CreateStudioInput) (*CreateStudioOutput, error) { + req, out := c.CreateStudioRequest(input) + return out, req.Send() +} + +// CreateStudioWithContext is the same as CreateStudio with the addition of +// the ability to pass a context and additional request options. +// +// See CreateStudio 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 *NimbleStudio) CreateStudioWithContext(ctx aws.Context, input *CreateStudioInput, opts ...request.Option) (*CreateStudioOutput, error) { + req, out := c.CreateStudioRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateStudioComponent = "CreateStudioComponent" + +// CreateStudioComponentRequest generates a "aws/request.Request" representing the +// client's request for the CreateStudioComponent 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 CreateStudioComponent for more information on using the CreateStudioComponent +// 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 CreateStudioComponentRequest method. +// req, resp := client.CreateStudioComponentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/CreateStudioComponent +func (c *NimbleStudio) CreateStudioComponentRequest(input *CreateStudioComponentInput) (req *request.Request, output *CreateStudioComponentOutput) { + op := &request.Operation{ + Name: opCreateStudioComponent, + HTTPMethod: "POST", + HTTPPath: "/2020-08-01/studios/{studioId}/studio-components", + } + + if input == nil { + input = &CreateStudioComponentInput{} + } + + output = &CreateStudioComponentOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateStudioComponent API operation for AmazonNimbleStudio. +// +// Creates a studio component resource. +// +// 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 AmazonNimbleStudio's +// API operation CreateStudioComponent for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/CreateStudioComponent +func (c *NimbleStudio) CreateStudioComponent(input *CreateStudioComponentInput) (*CreateStudioComponentOutput, error) { + req, out := c.CreateStudioComponentRequest(input) + return out, req.Send() +} + +// CreateStudioComponentWithContext is the same as CreateStudioComponent with the addition of +// the ability to pass a context and additional request options. +// +// See CreateStudioComponent 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 *NimbleStudio) CreateStudioComponentWithContext(ctx aws.Context, input *CreateStudioComponentInput, opts ...request.Option) (*CreateStudioComponentOutput, error) { + req, out := c.CreateStudioComponentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteLaunchProfile = "DeleteLaunchProfile" + +// DeleteLaunchProfileRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLaunchProfile 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 DeleteLaunchProfile for more information on using the DeleteLaunchProfile +// 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 DeleteLaunchProfileRequest method. +// req, resp := client.DeleteLaunchProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/DeleteLaunchProfile +func (c *NimbleStudio) DeleteLaunchProfileRequest(input *DeleteLaunchProfileInput) (req *request.Request, output *DeleteLaunchProfileOutput) { + op := &request.Operation{ + Name: opDeleteLaunchProfile, + HTTPMethod: "DELETE", + HTTPPath: "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}", + } + + if input == nil { + input = &DeleteLaunchProfileInput{} + } + + output = &DeleteLaunchProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteLaunchProfile API operation for AmazonNimbleStudio. +// +// Permanently delete a launch profile. +// +// 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 AmazonNimbleStudio's +// API operation DeleteLaunchProfile for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/DeleteLaunchProfile +func (c *NimbleStudio) DeleteLaunchProfile(input *DeleteLaunchProfileInput) (*DeleteLaunchProfileOutput, error) { + req, out := c.DeleteLaunchProfileRequest(input) + return out, req.Send() +} + +// DeleteLaunchProfileWithContext is the same as DeleteLaunchProfile with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteLaunchProfile 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 *NimbleStudio) DeleteLaunchProfileWithContext(ctx aws.Context, input *DeleteLaunchProfileInput, opts ...request.Option) (*DeleteLaunchProfileOutput, error) { + req, out := c.DeleteLaunchProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteLaunchProfileMember = "DeleteLaunchProfileMember" + +// DeleteLaunchProfileMemberRequest generates a "aws/request.Request" representing the +// client's request for the DeleteLaunchProfileMember 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 DeleteLaunchProfileMember for more information on using the DeleteLaunchProfileMember +// 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 DeleteLaunchProfileMemberRequest method. +// req, resp := client.DeleteLaunchProfileMemberRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/DeleteLaunchProfileMember +func (c *NimbleStudio) DeleteLaunchProfileMemberRequest(input *DeleteLaunchProfileMemberInput) (req *request.Request, output *DeleteLaunchProfileMemberOutput) { + op := &request.Operation{ + Name: opDeleteLaunchProfileMember, + HTTPMethod: "DELETE", + HTTPPath: "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId}", + } + + if input == nil { + input = &DeleteLaunchProfileMemberInput{} + } + + output = &DeleteLaunchProfileMemberOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteLaunchProfileMember API operation for AmazonNimbleStudio. +// +// Delete a user from launch profile membership. +// +// 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 AmazonNimbleStudio's +// API operation DeleteLaunchProfileMember for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/DeleteLaunchProfileMember +func (c *NimbleStudio) DeleteLaunchProfileMember(input *DeleteLaunchProfileMemberInput) (*DeleteLaunchProfileMemberOutput, error) { + req, out := c.DeleteLaunchProfileMemberRequest(input) + return out, req.Send() +} + +// DeleteLaunchProfileMemberWithContext is the same as DeleteLaunchProfileMember with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteLaunchProfileMember 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 *NimbleStudio) DeleteLaunchProfileMemberWithContext(ctx aws.Context, input *DeleteLaunchProfileMemberInput, opts ...request.Option) (*DeleteLaunchProfileMemberOutput, error) { + req, out := c.DeleteLaunchProfileMemberRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteStreamingImage = "DeleteStreamingImage" + +// DeleteStreamingImageRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStreamingImage 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 DeleteStreamingImage for more information on using the DeleteStreamingImage +// 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 DeleteStreamingImageRequest method. +// req, resp := client.DeleteStreamingImageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/DeleteStreamingImage +func (c *NimbleStudio) DeleteStreamingImageRequest(input *DeleteStreamingImageInput) (req *request.Request, output *DeleteStreamingImageOutput) { + op := &request.Operation{ + Name: opDeleteStreamingImage, + HTTPMethod: "DELETE", + HTTPPath: "/2020-08-01/studios/{studioId}/streaming-images/{streamingImageId}", + } + + if input == nil { + input = &DeleteStreamingImageInput{} + } + + output = &DeleteStreamingImageOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteStreamingImage API operation for AmazonNimbleStudio. +// +// Delete streaming image. +// +// 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 AmazonNimbleStudio's +// API operation DeleteStreamingImage for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/DeleteStreamingImage +func (c *NimbleStudio) DeleteStreamingImage(input *DeleteStreamingImageInput) (*DeleteStreamingImageOutput, error) { + req, out := c.DeleteStreamingImageRequest(input) + return out, req.Send() +} + +// DeleteStreamingImageWithContext is the same as DeleteStreamingImage with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteStreamingImage 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 *NimbleStudio) DeleteStreamingImageWithContext(ctx aws.Context, input *DeleteStreamingImageInput, opts ...request.Option) (*DeleteStreamingImageOutput, error) { + req, out := c.DeleteStreamingImageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteStreamingSession = "DeleteStreamingSession" + +// DeleteStreamingSessionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStreamingSession 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 DeleteStreamingSession for more information on using the DeleteStreamingSession +// 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 DeleteStreamingSessionRequest method. +// req, resp := client.DeleteStreamingSessionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/DeleteStreamingSession +func (c *NimbleStudio) DeleteStreamingSessionRequest(input *DeleteStreamingSessionInput) (req *request.Request, output *DeleteStreamingSessionOutput) { + op := &request.Operation{ + Name: opDeleteStreamingSession, + HTTPMethod: "DELETE", + HTTPPath: "/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}", + } + + if input == nil { + input = &DeleteStreamingSessionInput{} + } + + output = &DeleteStreamingSessionOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteStreamingSession API operation for AmazonNimbleStudio. +// +// Deletes streaming session resource. +// +// After invoking this operation, use GetStreamingSession to poll the resource +// until it transitions to a DELETED state. +// +// A streaming session will count against your streaming session quota until +// it is marked DELETED. +// +// 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 AmazonNimbleStudio's +// API operation DeleteStreamingSession for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/DeleteStreamingSession +func (c *NimbleStudio) DeleteStreamingSession(input *DeleteStreamingSessionInput) (*DeleteStreamingSessionOutput, error) { + req, out := c.DeleteStreamingSessionRequest(input) + return out, req.Send() +} + +// DeleteStreamingSessionWithContext is the same as DeleteStreamingSession with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteStreamingSession 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 *NimbleStudio) DeleteStreamingSessionWithContext(ctx aws.Context, input *DeleteStreamingSessionInput, opts ...request.Option) (*DeleteStreamingSessionOutput, error) { + req, out := c.DeleteStreamingSessionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteStudio = "DeleteStudio" + +// DeleteStudioRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStudio 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 DeleteStudio for more information on using the DeleteStudio +// 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 DeleteStudioRequest method. +// req, resp := client.DeleteStudioRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/DeleteStudio +func (c *NimbleStudio) DeleteStudioRequest(input *DeleteStudioInput) (req *request.Request, output *DeleteStudioOutput) { + op := &request.Operation{ + Name: opDeleteStudio, + HTTPMethod: "DELETE", + HTTPPath: "/2020-08-01/studios/{studioId}", + } + + if input == nil { + input = &DeleteStudioInput{} + } + + output = &DeleteStudioOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteStudio API operation for AmazonNimbleStudio. +// +// Delete a studio resource. +// +// 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 AmazonNimbleStudio's +// API operation DeleteStudio for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/DeleteStudio +func (c *NimbleStudio) DeleteStudio(input *DeleteStudioInput) (*DeleteStudioOutput, error) { + req, out := c.DeleteStudioRequest(input) + return out, req.Send() +} + +// DeleteStudioWithContext is the same as DeleteStudio with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteStudio 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 *NimbleStudio) DeleteStudioWithContext(ctx aws.Context, input *DeleteStudioInput, opts ...request.Option) (*DeleteStudioOutput, error) { + req, out := c.DeleteStudioRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteStudioComponent = "DeleteStudioComponent" + +// DeleteStudioComponentRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStudioComponent 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 DeleteStudioComponent for more information on using the DeleteStudioComponent +// 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 DeleteStudioComponentRequest method. +// req, resp := client.DeleteStudioComponentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/DeleteStudioComponent +func (c *NimbleStudio) DeleteStudioComponentRequest(input *DeleteStudioComponentInput) (req *request.Request, output *DeleteStudioComponentOutput) { + op := &request.Operation{ + Name: opDeleteStudioComponent, + HTTPMethod: "DELETE", + HTTPPath: "/2020-08-01/studios/{studioId}/studio-components/{studioComponentId}", + } + + if input == nil { + input = &DeleteStudioComponentInput{} + } + + output = &DeleteStudioComponentOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteStudioComponent API operation for AmazonNimbleStudio. +// +// Deletes a studio component resource. +// +// 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 AmazonNimbleStudio's +// API operation DeleteStudioComponent for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/DeleteStudioComponent +func (c *NimbleStudio) DeleteStudioComponent(input *DeleteStudioComponentInput) (*DeleteStudioComponentOutput, error) { + req, out := c.DeleteStudioComponentRequest(input) + return out, req.Send() +} + +// DeleteStudioComponentWithContext is the same as DeleteStudioComponent with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteStudioComponent 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 *NimbleStudio) DeleteStudioComponentWithContext(ctx aws.Context, input *DeleteStudioComponentInput, opts ...request.Option) (*DeleteStudioComponentOutput, error) { + req, out := c.DeleteStudioComponentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteStudioMember = "DeleteStudioMember" + +// DeleteStudioMemberRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStudioMember 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 DeleteStudioMember for more information on using the DeleteStudioMember +// 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 DeleteStudioMemberRequest method. +// req, resp := client.DeleteStudioMemberRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/DeleteStudioMember +func (c *NimbleStudio) DeleteStudioMemberRequest(input *DeleteStudioMemberInput) (req *request.Request, output *DeleteStudioMemberOutput) { + op := &request.Operation{ + Name: opDeleteStudioMember, + HTTPMethod: "DELETE", + HTTPPath: "/2020-08-01/studios/{studioId}/membership/{principalId}", + } + + if input == nil { + input = &DeleteStudioMemberInput{} + } + + output = &DeleteStudioMemberOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteStudioMember API operation for AmazonNimbleStudio. +// +// Delete a user from studio membership. +// +// 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 AmazonNimbleStudio's +// API operation DeleteStudioMember for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/DeleteStudioMember +func (c *NimbleStudio) DeleteStudioMember(input *DeleteStudioMemberInput) (*DeleteStudioMemberOutput, error) { + req, out := c.DeleteStudioMemberRequest(input) + return out, req.Send() +} + +// DeleteStudioMemberWithContext is the same as DeleteStudioMember with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteStudioMember 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 *NimbleStudio) DeleteStudioMemberWithContext(ctx aws.Context, input *DeleteStudioMemberInput, opts ...request.Option) (*DeleteStudioMemberOutput, error) { + req, out := c.DeleteStudioMemberRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetEula = "GetEula" + +// GetEulaRequest generates a "aws/request.Request" representing the +// client's request for the GetEula 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 GetEula for more information on using the GetEula +// 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 GetEulaRequest method. +// req, resp := client.GetEulaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetEula +func (c *NimbleStudio) GetEulaRequest(input *GetEulaInput) (req *request.Request, output *GetEulaOutput) { + op := &request.Operation{ + Name: opGetEula, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/eulas/{eulaId}", + } + + if input == nil { + input = &GetEulaInput{} + } + + output = &GetEulaOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetEula API operation for AmazonNimbleStudio. +// +// Get Eula. +// +// 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 AmazonNimbleStudio's +// API operation GetEula for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetEula +func (c *NimbleStudio) GetEula(input *GetEulaInput) (*GetEulaOutput, error) { + req, out := c.GetEulaRequest(input) + return out, req.Send() +} + +// GetEulaWithContext is the same as GetEula with the addition of +// the ability to pass a context and additional request options. +// +// See GetEula 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 *NimbleStudio) GetEulaWithContext(ctx aws.Context, input *GetEulaInput, opts ...request.Option) (*GetEulaOutput, error) { + req, out := c.GetEulaRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetLaunchProfile = "GetLaunchProfile" + +// GetLaunchProfileRequest generates a "aws/request.Request" representing the +// client's request for the GetLaunchProfile 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 GetLaunchProfile for more information on using the GetLaunchProfile +// 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 GetLaunchProfileRequest method. +// req, resp := client.GetLaunchProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetLaunchProfile +func (c *NimbleStudio) GetLaunchProfileRequest(input *GetLaunchProfileInput) (req *request.Request, output *GetLaunchProfileOutput) { + op := &request.Operation{ + Name: opGetLaunchProfile, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}", + } + + if input == nil { + input = &GetLaunchProfileInput{} + } + + output = &GetLaunchProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetLaunchProfile API operation for AmazonNimbleStudio. +// +// Get a launch profile. +// +// 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 AmazonNimbleStudio's +// API operation GetLaunchProfile for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetLaunchProfile +func (c *NimbleStudio) GetLaunchProfile(input *GetLaunchProfileInput) (*GetLaunchProfileOutput, error) { + req, out := c.GetLaunchProfileRequest(input) + return out, req.Send() +} + +// GetLaunchProfileWithContext is the same as GetLaunchProfile with the addition of +// the ability to pass a context and additional request options. +// +// See GetLaunchProfile 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 *NimbleStudio) GetLaunchProfileWithContext(ctx aws.Context, input *GetLaunchProfileInput, opts ...request.Option) (*GetLaunchProfileOutput, error) { + req, out := c.GetLaunchProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetLaunchProfileDetails = "GetLaunchProfileDetails" + +// GetLaunchProfileDetailsRequest generates a "aws/request.Request" representing the +// client's request for the GetLaunchProfileDetails 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 GetLaunchProfileDetails for more information on using the GetLaunchProfileDetails +// 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 GetLaunchProfileDetailsRequest method. +// req, resp := client.GetLaunchProfileDetailsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetLaunchProfileDetails +func (c *NimbleStudio) GetLaunchProfileDetailsRequest(input *GetLaunchProfileDetailsInput) (req *request.Request, output *GetLaunchProfileDetailsOutput) { + op := &request.Operation{ + Name: opGetLaunchProfileDetails, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/details", + } + + if input == nil { + input = &GetLaunchProfileDetailsInput{} + } + + output = &GetLaunchProfileDetailsOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetLaunchProfileDetails API operation for AmazonNimbleStudio. +// +// Launch profile details include the launch profile resource and summary information +// of resources that are used by, or available to, the launch profile. This +// includes the name and description of all studio components used by the launch +// profiles, and the name and description of streaming images that can be used +// with this launch profile. +// +// 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 AmazonNimbleStudio's +// API operation GetLaunchProfileDetails for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetLaunchProfileDetails +func (c *NimbleStudio) GetLaunchProfileDetails(input *GetLaunchProfileDetailsInput) (*GetLaunchProfileDetailsOutput, error) { + req, out := c.GetLaunchProfileDetailsRequest(input) + return out, req.Send() +} + +// GetLaunchProfileDetailsWithContext is the same as GetLaunchProfileDetails with the addition of +// the ability to pass a context and additional request options. +// +// See GetLaunchProfileDetails 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 *NimbleStudio) GetLaunchProfileDetailsWithContext(ctx aws.Context, input *GetLaunchProfileDetailsInput, opts ...request.Option) (*GetLaunchProfileDetailsOutput, error) { + req, out := c.GetLaunchProfileDetailsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetLaunchProfileInitialization = "GetLaunchProfileInitialization" + +// GetLaunchProfileInitializationRequest generates a "aws/request.Request" representing the +// client's request for the GetLaunchProfileInitialization 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 GetLaunchProfileInitialization for more information on using the GetLaunchProfileInitialization +// 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 GetLaunchProfileInitializationRequest method. +// req, resp := client.GetLaunchProfileInitializationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetLaunchProfileInitialization +func (c *NimbleStudio) GetLaunchProfileInitializationRequest(input *GetLaunchProfileInitializationInput) (req *request.Request, output *GetLaunchProfileInitializationOutput) { + op := &request.Operation{ + Name: opGetLaunchProfileInitialization, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/init", + } + + if input == nil { + input = &GetLaunchProfileInitializationInput{} + } + + output = &GetLaunchProfileInitializationOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetLaunchProfileInitialization API operation for AmazonNimbleStudio. +// +// Get a launch profile initialization. +// +// 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 AmazonNimbleStudio's +// API operation GetLaunchProfileInitialization for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetLaunchProfileInitialization +func (c *NimbleStudio) GetLaunchProfileInitialization(input *GetLaunchProfileInitializationInput) (*GetLaunchProfileInitializationOutput, error) { + req, out := c.GetLaunchProfileInitializationRequest(input) + return out, req.Send() +} + +// GetLaunchProfileInitializationWithContext is the same as GetLaunchProfileInitialization with the addition of +// the ability to pass a context and additional request options. +// +// See GetLaunchProfileInitialization 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 *NimbleStudio) GetLaunchProfileInitializationWithContext(ctx aws.Context, input *GetLaunchProfileInitializationInput, opts ...request.Option) (*GetLaunchProfileInitializationOutput, error) { + req, out := c.GetLaunchProfileInitializationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetLaunchProfileMember = "GetLaunchProfileMember" + +// GetLaunchProfileMemberRequest generates a "aws/request.Request" representing the +// client's request for the GetLaunchProfileMember 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 GetLaunchProfileMember for more information on using the GetLaunchProfileMember +// 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 GetLaunchProfileMemberRequest method. +// req, resp := client.GetLaunchProfileMemberRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetLaunchProfileMember +func (c *NimbleStudio) GetLaunchProfileMemberRequest(input *GetLaunchProfileMemberInput) (req *request.Request, output *GetLaunchProfileMemberOutput) { + op := &request.Operation{ + Name: opGetLaunchProfileMember, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId}", + } + + if input == nil { + input = &GetLaunchProfileMemberInput{} + } + + output = &GetLaunchProfileMemberOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetLaunchProfileMember API operation for AmazonNimbleStudio. +// +// Get a user persona in launch profile membership. +// +// 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 AmazonNimbleStudio's +// API operation GetLaunchProfileMember for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetLaunchProfileMember +func (c *NimbleStudio) GetLaunchProfileMember(input *GetLaunchProfileMemberInput) (*GetLaunchProfileMemberOutput, error) { + req, out := c.GetLaunchProfileMemberRequest(input) + return out, req.Send() +} + +// GetLaunchProfileMemberWithContext is the same as GetLaunchProfileMember with the addition of +// the ability to pass a context and additional request options. +// +// See GetLaunchProfileMember 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 *NimbleStudio) GetLaunchProfileMemberWithContext(ctx aws.Context, input *GetLaunchProfileMemberInput, opts ...request.Option) (*GetLaunchProfileMemberOutput, error) { + req, out := c.GetLaunchProfileMemberRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetStreamingImage = "GetStreamingImage" + +// GetStreamingImageRequest generates a "aws/request.Request" representing the +// client's request for the GetStreamingImage 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 GetStreamingImage for more information on using the GetStreamingImage +// 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 GetStreamingImageRequest method. +// req, resp := client.GetStreamingImageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetStreamingImage +func (c *NimbleStudio) GetStreamingImageRequest(input *GetStreamingImageInput) (req *request.Request, output *GetStreamingImageOutput) { + op := &request.Operation{ + Name: opGetStreamingImage, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/streaming-images/{streamingImageId}", + } + + if input == nil { + input = &GetStreamingImageInput{} + } + + output = &GetStreamingImageOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetStreamingImage API operation for AmazonNimbleStudio. +// +// Get streaming image. +// +// 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 AmazonNimbleStudio's +// API operation GetStreamingImage for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetStreamingImage +func (c *NimbleStudio) GetStreamingImage(input *GetStreamingImageInput) (*GetStreamingImageOutput, error) { + req, out := c.GetStreamingImageRequest(input) + return out, req.Send() +} + +// GetStreamingImageWithContext is the same as GetStreamingImage with the addition of +// the ability to pass a context and additional request options. +// +// See GetStreamingImage 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 *NimbleStudio) GetStreamingImageWithContext(ctx aws.Context, input *GetStreamingImageInput, opts ...request.Option) (*GetStreamingImageOutput, error) { + req, out := c.GetStreamingImageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetStreamingSession = "GetStreamingSession" + +// GetStreamingSessionRequest generates a "aws/request.Request" representing the +// client's request for the GetStreamingSession 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 GetStreamingSession for more information on using the GetStreamingSession +// 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 GetStreamingSessionRequest method. +// req, resp := client.GetStreamingSessionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetStreamingSession +func (c *NimbleStudio) GetStreamingSessionRequest(input *GetStreamingSessionInput) (req *request.Request, output *GetStreamingSessionOutput) { + op := &request.Operation{ + Name: opGetStreamingSession, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}", + } + + if input == nil { + input = &GetStreamingSessionInput{} + } + + output = &GetStreamingSessionOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetStreamingSession API operation for AmazonNimbleStudio. +// +// Gets StreamingSession resource. +// +// Invoke this operation to poll for a streaming session state while creating +// or deleting a session. +// +// 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 AmazonNimbleStudio's +// API operation GetStreamingSession for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetStreamingSession +func (c *NimbleStudio) GetStreamingSession(input *GetStreamingSessionInput) (*GetStreamingSessionOutput, error) { + req, out := c.GetStreamingSessionRequest(input) + return out, req.Send() +} + +// GetStreamingSessionWithContext is the same as GetStreamingSession with the addition of +// the ability to pass a context and additional request options. +// +// See GetStreamingSession 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 *NimbleStudio) GetStreamingSessionWithContext(ctx aws.Context, input *GetStreamingSessionInput, opts ...request.Option) (*GetStreamingSessionOutput, error) { + req, out := c.GetStreamingSessionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetStreamingSessionStream = "GetStreamingSessionStream" + +// GetStreamingSessionStreamRequest generates a "aws/request.Request" representing the +// client's request for the GetStreamingSessionStream 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 GetStreamingSessionStream for more information on using the GetStreamingSessionStream +// 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 GetStreamingSessionStreamRequest method. +// req, resp := client.GetStreamingSessionStreamRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetStreamingSessionStream +func (c *NimbleStudio) GetStreamingSessionStreamRequest(input *GetStreamingSessionStreamInput) (req *request.Request, output *GetStreamingSessionStreamOutput) { + op := &request.Operation{ + Name: opGetStreamingSessionStream, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/streaming-sessions/{sessionId}/streams/{streamId}", + } + + if input == nil { + input = &GetStreamingSessionStreamInput{} + } + + output = &GetStreamingSessionStreamOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetStreamingSessionStream API operation for AmazonNimbleStudio. +// +// Gets a StreamingSessionStream for a streaming session. +// +// Invoke this operation to poll the resource after invoking CreateStreamingSessionStream. +// +// After the StreamingSessionStream changes to the state READY, the url property +// will contain a stream to be used with the DCV streaming client. +// +// 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 AmazonNimbleStudio's +// API operation GetStreamingSessionStream for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetStreamingSessionStream +func (c *NimbleStudio) GetStreamingSessionStream(input *GetStreamingSessionStreamInput) (*GetStreamingSessionStreamOutput, error) { + req, out := c.GetStreamingSessionStreamRequest(input) + return out, req.Send() +} + +// GetStreamingSessionStreamWithContext is the same as GetStreamingSessionStream with the addition of +// the ability to pass a context and additional request options. +// +// See GetStreamingSessionStream 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 *NimbleStudio) GetStreamingSessionStreamWithContext(ctx aws.Context, input *GetStreamingSessionStreamInput, opts ...request.Option) (*GetStreamingSessionStreamOutput, error) { + req, out := c.GetStreamingSessionStreamRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetStudio = "GetStudio" + +// GetStudioRequest generates a "aws/request.Request" representing the +// client's request for the GetStudio 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 GetStudio for more information on using the GetStudio +// 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 GetStudioRequest method. +// req, resp := client.GetStudioRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetStudio +func (c *NimbleStudio) GetStudioRequest(input *GetStudioInput) (req *request.Request, output *GetStudioOutput) { + op := &request.Operation{ + Name: opGetStudio, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}", + } + + if input == nil { + input = &GetStudioInput{} + } + + output = &GetStudioOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetStudio API operation for AmazonNimbleStudio. +// +// Get a Studio resource. +// +// 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 AmazonNimbleStudio's +// API operation GetStudio for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetStudio +func (c *NimbleStudio) GetStudio(input *GetStudioInput) (*GetStudioOutput, error) { + req, out := c.GetStudioRequest(input) + return out, req.Send() +} + +// GetStudioWithContext is the same as GetStudio with the addition of +// the ability to pass a context and additional request options. +// +// See GetStudio 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 *NimbleStudio) GetStudioWithContext(ctx aws.Context, input *GetStudioInput, opts ...request.Option) (*GetStudioOutput, error) { + req, out := c.GetStudioRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetStudioComponent = "GetStudioComponent" + +// GetStudioComponentRequest generates a "aws/request.Request" representing the +// client's request for the GetStudioComponent 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 GetStudioComponent for more information on using the GetStudioComponent +// 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 GetStudioComponentRequest method. +// req, resp := client.GetStudioComponentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetStudioComponent +func (c *NimbleStudio) GetStudioComponentRequest(input *GetStudioComponentInput) (req *request.Request, output *GetStudioComponentOutput) { + op := &request.Operation{ + Name: opGetStudioComponent, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/studio-components/{studioComponentId}", + } + + if input == nil { + input = &GetStudioComponentInput{} + } + + output = &GetStudioComponentOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetStudioComponent API operation for AmazonNimbleStudio. +// +// Gets a studio component resource. +// +// 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 AmazonNimbleStudio's +// API operation GetStudioComponent for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetStudioComponent +func (c *NimbleStudio) GetStudioComponent(input *GetStudioComponentInput) (*GetStudioComponentOutput, error) { + req, out := c.GetStudioComponentRequest(input) + return out, req.Send() +} + +// GetStudioComponentWithContext is the same as GetStudioComponent with the addition of +// the ability to pass a context and additional request options. +// +// See GetStudioComponent 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 *NimbleStudio) GetStudioComponentWithContext(ctx aws.Context, input *GetStudioComponentInput, opts ...request.Option) (*GetStudioComponentOutput, error) { + req, out := c.GetStudioComponentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetStudioMember = "GetStudioMember" + +// GetStudioMemberRequest generates a "aws/request.Request" representing the +// client's request for the GetStudioMember 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 GetStudioMember for more information on using the GetStudioMember +// 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 GetStudioMemberRequest method. +// req, resp := client.GetStudioMemberRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetStudioMember +func (c *NimbleStudio) GetStudioMemberRequest(input *GetStudioMemberInput) (req *request.Request, output *GetStudioMemberOutput) { + op := &request.Operation{ + Name: opGetStudioMember, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/membership/{principalId}", + } + + if input == nil { + input = &GetStudioMemberInput{} + } + + output = &GetStudioMemberOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetStudioMember API operation for AmazonNimbleStudio. +// +// Get a user's membership in a studio. +// +// 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 AmazonNimbleStudio's +// API operation GetStudioMember for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/GetStudioMember +func (c *NimbleStudio) GetStudioMember(input *GetStudioMemberInput) (*GetStudioMemberOutput, error) { + req, out := c.GetStudioMemberRequest(input) + return out, req.Send() +} + +// GetStudioMemberWithContext is the same as GetStudioMember with the addition of +// the ability to pass a context and additional request options. +// +// See GetStudioMember 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 *NimbleStudio) GetStudioMemberWithContext(ctx aws.Context, input *GetStudioMemberInput, opts ...request.Option) (*GetStudioMemberOutput, error) { + req, out := c.GetStudioMemberRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListEulaAcceptances = "ListEulaAcceptances" + +// ListEulaAcceptancesRequest generates a "aws/request.Request" representing the +// client's request for the ListEulaAcceptances 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 ListEulaAcceptances for more information on using the ListEulaAcceptances +// 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 ListEulaAcceptancesRequest method. +// req, resp := client.ListEulaAcceptancesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListEulaAcceptances +func (c *NimbleStudio) ListEulaAcceptancesRequest(input *ListEulaAcceptancesInput) (req *request.Request, output *ListEulaAcceptancesOutput) { + op := &request.Operation{ + Name: opListEulaAcceptances, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/eula-acceptances", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEulaAcceptancesInput{} + } + + output = &ListEulaAcceptancesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEulaAcceptances API operation for AmazonNimbleStudio. +// +// List Eula Acceptances. +// +// 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 AmazonNimbleStudio's +// API operation ListEulaAcceptances for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListEulaAcceptances +func (c *NimbleStudio) ListEulaAcceptances(input *ListEulaAcceptancesInput) (*ListEulaAcceptancesOutput, error) { + req, out := c.ListEulaAcceptancesRequest(input) + return out, req.Send() +} + +// ListEulaAcceptancesWithContext is the same as ListEulaAcceptances with the addition of +// the ability to pass a context and additional request options. +// +// See ListEulaAcceptances 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 *NimbleStudio) ListEulaAcceptancesWithContext(ctx aws.Context, input *ListEulaAcceptancesInput, opts ...request.Option) (*ListEulaAcceptancesOutput, error) { + req, out := c.ListEulaAcceptancesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListEulaAcceptancesPages iterates over the pages of a ListEulaAcceptances operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEulaAcceptances 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 ListEulaAcceptances operation. +// pageNum := 0 +// err := client.ListEulaAcceptancesPages(params, +// func(page *nimblestudio.ListEulaAcceptancesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *NimbleStudio) ListEulaAcceptancesPages(input *ListEulaAcceptancesInput, fn func(*ListEulaAcceptancesOutput, bool) bool) error { + return c.ListEulaAcceptancesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEulaAcceptancesPagesWithContext same as ListEulaAcceptancesPages 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 *NimbleStudio) ListEulaAcceptancesPagesWithContext(ctx aws.Context, input *ListEulaAcceptancesInput, fn func(*ListEulaAcceptancesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEulaAcceptancesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEulaAcceptancesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListEulaAcceptancesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListEulas = "ListEulas" + +// ListEulasRequest generates a "aws/request.Request" representing the +// client's request for the ListEulas 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 ListEulas for more information on using the ListEulas +// 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 ListEulasRequest method. +// req, resp := client.ListEulasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListEulas +func (c *NimbleStudio) ListEulasRequest(input *ListEulasInput) (req *request.Request, output *ListEulasOutput) { + op := &request.Operation{ + Name: opListEulas, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/eulas", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListEulasInput{} + } + + output = &ListEulasOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListEulas API operation for AmazonNimbleStudio. +// +// List Eulas. +// +// 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 AmazonNimbleStudio's +// API operation ListEulas for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListEulas +func (c *NimbleStudio) ListEulas(input *ListEulasInput) (*ListEulasOutput, error) { + req, out := c.ListEulasRequest(input) + return out, req.Send() +} + +// ListEulasWithContext is the same as ListEulas with the addition of +// the ability to pass a context and additional request options. +// +// See ListEulas 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 *NimbleStudio) ListEulasWithContext(ctx aws.Context, input *ListEulasInput, opts ...request.Option) (*ListEulasOutput, error) { + req, out := c.ListEulasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListEulasPages iterates over the pages of a ListEulas operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListEulas 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 ListEulas operation. +// pageNum := 0 +// err := client.ListEulasPages(params, +// func(page *nimblestudio.ListEulasOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *NimbleStudio) ListEulasPages(input *ListEulasInput, fn func(*ListEulasOutput, bool) bool) error { + return c.ListEulasPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListEulasPagesWithContext same as ListEulasPages 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 *NimbleStudio) ListEulasPagesWithContext(ctx aws.Context, input *ListEulasInput, fn func(*ListEulasOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListEulasInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListEulasRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListEulasOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListLaunchProfileMembers = "ListLaunchProfileMembers" + +// ListLaunchProfileMembersRequest generates a "aws/request.Request" representing the +// client's request for the ListLaunchProfileMembers 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 ListLaunchProfileMembers for more information on using the ListLaunchProfileMembers +// 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 ListLaunchProfileMembersRequest method. +// req, resp := client.ListLaunchProfileMembersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListLaunchProfileMembers +func (c *NimbleStudio) ListLaunchProfileMembersRequest(input *ListLaunchProfileMembersInput) (req *request.Request, output *ListLaunchProfileMembersOutput) { + op := &request.Operation{ + Name: opListLaunchProfileMembers, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListLaunchProfileMembersInput{} + } + + output = &ListLaunchProfileMembersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListLaunchProfileMembers API operation for AmazonNimbleStudio. +// +// Get all users in a given launch profile membership. +// +// 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 AmazonNimbleStudio's +// API operation ListLaunchProfileMembers for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListLaunchProfileMembers +func (c *NimbleStudio) ListLaunchProfileMembers(input *ListLaunchProfileMembersInput) (*ListLaunchProfileMembersOutput, error) { + req, out := c.ListLaunchProfileMembersRequest(input) + return out, req.Send() +} + +// ListLaunchProfileMembersWithContext is the same as ListLaunchProfileMembers with the addition of +// the ability to pass a context and additional request options. +// +// See ListLaunchProfileMembers 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 *NimbleStudio) ListLaunchProfileMembersWithContext(ctx aws.Context, input *ListLaunchProfileMembersInput, opts ...request.Option) (*ListLaunchProfileMembersOutput, error) { + req, out := c.ListLaunchProfileMembersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListLaunchProfileMembersPages iterates over the pages of a ListLaunchProfileMembers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListLaunchProfileMembers 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 ListLaunchProfileMembers operation. +// pageNum := 0 +// err := client.ListLaunchProfileMembersPages(params, +// func(page *nimblestudio.ListLaunchProfileMembersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *NimbleStudio) ListLaunchProfileMembersPages(input *ListLaunchProfileMembersInput, fn func(*ListLaunchProfileMembersOutput, bool) bool) error { + return c.ListLaunchProfileMembersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListLaunchProfileMembersPagesWithContext same as ListLaunchProfileMembersPages 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 *NimbleStudio) ListLaunchProfileMembersPagesWithContext(ctx aws.Context, input *ListLaunchProfileMembersInput, fn func(*ListLaunchProfileMembersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListLaunchProfileMembersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListLaunchProfileMembersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListLaunchProfileMembersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListLaunchProfiles = "ListLaunchProfiles" + +// ListLaunchProfilesRequest generates a "aws/request.Request" representing the +// client's request for the ListLaunchProfiles 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 ListLaunchProfiles for more information on using the ListLaunchProfiles +// 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 ListLaunchProfilesRequest method. +// req, resp := client.ListLaunchProfilesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListLaunchProfiles +func (c *NimbleStudio) ListLaunchProfilesRequest(input *ListLaunchProfilesInput) (req *request.Request, output *ListLaunchProfilesOutput) { + op := &request.Operation{ + Name: opListLaunchProfiles, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/launch-profiles", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListLaunchProfilesInput{} + } + + output = &ListLaunchProfilesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListLaunchProfiles API operation for AmazonNimbleStudio. +// +// List all the launch profiles a studio. +// +// 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 AmazonNimbleStudio's +// API operation ListLaunchProfiles for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListLaunchProfiles +func (c *NimbleStudio) ListLaunchProfiles(input *ListLaunchProfilesInput) (*ListLaunchProfilesOutput, error) { + req, out := c.ListLaunchProfilesRequest(input) + return out, req.Send() +} + +// ListLaunchProfilesWithContext is the same as ListLaunchProfiles with the addition of +// the ability to pass a context and additional request options. +// +// See ListLaunchProfiles 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 *NimbleStudio) ListLaunchProfilesWithContext(ctx aws.Context, input *ListLaunchProfilesInput, opts ...request.Option) (*ListLaunchProfilesOutput, error) { + req, out := c.ListLaunchProfilesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListLaunchProfilesPages iterates over the pages of a ListLaunchProfiles operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListLaunchProfiles 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 ListLaunchProfiles operation. +// pageNum := 0 +// err := client.ListLaunchProfilesPages(params, +// func(page *nimblestudio.ListLaunchProfilesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *NimbleStudio) ListLaunchProfilesPages(input *ListLaunchProfilesInput, fn func(*ListLaunchProfilesOutput, bool) bool) error { + return c.ListLaunchProfilesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListLaunchProfilesPagesWithContext same as ListLaunchProfilesPages 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 *NimbleStudio) ListLaunchProfilesPagesWithContext(ctx aws.Context, input *ListLaunchProfilesInput, fn func(*ListLaunchProfilesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListLaunchProfilesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListLaunchProfilesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListLaunchProfilesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListStreamingImages = "ListStreamingImages" + +// ListStreamingImagesRequest generates a "aws/request.Request" representing the +// client's request for the ListStreamingImages 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 ListStreamingImages for more information on using the ListStreamingImages +// 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 ListStreamingImagesRequest method. +// req, resp := client.ListStreamingImagesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListStreamingImages +func (c *NimbleStudio) ListStreamingImagesRequest(input *ListStreamingImagesInput) (req *request.Request, output *ListStreamingImagesOutput) { + op := &request.Operation{ + Name: opListStreamingImages, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/streaming-images", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListStreamingImagesInput{} + } + + output = &ListStreamingImagesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListStreamingImages API operation for AmazonNimbleStudio. +// +// List the streaming image resources available to this studio. +// +// This list will contain both images provided by AWS, as well as streaming +// images that you have created in your studio. +// +// 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 AmazonNimbleStudio's +// API operation ListStreamingImages for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListStreamingImages +func (c *NimbleStudio) ListStreamingImages(input *ListStreamingImagesInput) (*ListStreamingImagesOutput, error) { + req, out := c.ListStreamingImagesRequest(input) + return out, req.Send() +} + +// ListStreamingImagesWithContext is the same as ListStreamingImages with the addition of +// the ability to pass a context and additional request options. +// +// See ListStreamingImages 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 *NimbleStudio) ListStreamingImagesWithContext(ctx aws.Context, input *ListStreamingImagesInput, opts ...request.Option) (*ListStreamingImagesOutput, error) { + req, out := c.ListStreamingImagesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListStreamingImagesPages iterates over the pages of a ListStreamingImages operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStreamingImages 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 ListStreamingImages operation. +// pageNum := 0 +// err := client.ListStreamingImagesPages(params, +// func(page *nimblestudio.ListStreamingImagesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *NimbleStudio) ListStreamingImagesPages(input *ListStreamingImagesInput, fn func(*ListStreamingImagesOutput, bool) bool) error { + return c.ListStreamingImagesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListStreamingImagesPagesWithContext same as ListStreamingImagesPages 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 *NimbleStudio) ListStreamingImagesPagesWithContext(ctx aws.Context, input *ListStreamingImagesInput, fn func(*ListStreamingImagesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListStreamingImagesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListStreamingImagesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListStreamingImagesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListStreamingSessions = "ListStreamingSessions" + +// ListStreamingSessionsRequest generates a "aws/request.Request" representing the +// client's request for the ListStreamingSessions 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 ListStreamingSessions for more information on using the ListStreamingSessions +// 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 ListStreamingSessionsRequest method. +// req, resp := client.ListStreamingSessionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListStreamingSessions +func (c *NimbleStudio) ListStreamingSessionsRequest(input *ListStreamingSessionsInput) (req *request.Request, output *ListStreamingSessionsOutput) { + op := &request.Operation{ + Name: opListStreamingSessions, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/streaming-sessions", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListStreamingSessionsInput{} + } + + output = &ListStreamingSessionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListStreamingSessions API operation for AmazonNimbleStudio. +// +// Lists the streaming image resources in a studio. +// +// 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 AmazonNimbleStudio's +// API operation ListStreamingSessions for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListStreamingSessions +func (c *NimbleStudio) ListStreamingSessions(input *ListStreamingSessionsInput) (*ListStreamingSessionsOutput, error) { + req, out := c.ListStreamingSessionsRequest(input) + return out, req.Send() +} + +// ListStreamingSessionsWithContext is the same as ListStreamingSessions with the addition of +// the ability to pass a context and additional request options. +// +// See ListStreamingSessions 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 *NimbleStudio) ListStreamingSessionsWithContext(ctx aws.Context, input *ListStreamingSessionsInput, opts ...request.Option) (*ListStreamingSessionsOutput, error) { + req, out := c.ListStreamingSessionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListStreamingSessionsPages iterates over the pages of a ListStreamingSessions operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStreamingSessions 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 ListStreamingSessions operation. +// pageNum := 0 +// err := client.ListStreamingSessionsPages(params, +// func(page *nimblestudio.ListStreamingSessionsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *NimbleStudio) ListStreamingSessionsPages(input *ListStreamingSessionsInput, fn func(*ListStreamingSessionsOutput, bool) bool) error { + return c.ListStreamingSessionsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListStreamingSessionsPagesWithContext same as ListStreamingSessionsPages 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 *NimbleStudio) ListStreamingSessionsPagesWithContext(ctx aws.Context, input *ListStreamingSessionsInput, fn func(*ListStreamingSessionsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListStreamingSessionsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListStreamingSessionsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListStreamingSessionsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListStudioComponents = "ListStudioComponents" + +// ListStudioComponentsRequest generates a "aws/request.Request" representing the +// client's request for the ListStudioComponents 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 ListStudioComponents for more information on using the ListStudioComponents +// 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 ListStudioComponentsRequest method. +// req, resp := client.ListStudioComponentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListStudioComponents +func (c *NimbleStudio) ListStudioComponentsRequest(input *ListStudioComponentsInput) (req *request.Request, output *ListStudioComponentsOutput) { + op := &request.Operation{ + Name: opListStudioComponents, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/studio-components", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListStudioComponentsInput{} + } + + output = &ListStudioComponentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListStudioComponents API operation for AmazonNimbleStudio. +// +// Lists the StudioComponents in a studio. +// +// 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 AmazonNimbleStudio's +// API operation ListStudioComponents for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListStudioComponents +func (c *NimbleStudio) ListStudioComponents(input *ListStudioComponentsInput) (*ListStudioComponentsOutput, error) { + req, out := c.ListStudioComponentsRequest(input) + return out, req.Send() +} + +// ListStudioComponentsWithContext is the same as ListStudioComponents with the addition of +// the ability to pass a context and additional request options. +// +// See ListStudioComponents 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 *NimbleStudio) ListStudioComponentsWithContext(ctx aws.Context, input *ListStudioComponentsInput, opts ...request.Option) (*ListStudioComponentsOutput, error) { + req, out := c.ListStudioComponentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListStudioComponentsPages iterates over the pages of a ListStudioComponents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStudioComponents 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 ListStudioComponents operation. +// pageNum := 0 +// err := client.ListStudioComponentsPages(params, +// func(page *nimblestudio.ListStudioComponentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *NimbleStudio) ListStudioComponentsPages(input *ListStudioComponentsInput, fn func(*ListStudioComponentsOutput, bool) bool) error { + return c.ListStudioComponentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListStudioComponentsPagesWithContext same as ListStudioComponentsPages 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 *NimbleStudio) ListStudioComponentsPagesWithContext(ctx aws.Context, input *ListStudioComponentsInput, fn func(*ListStudioComponentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListStudioComponentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListStudioComponentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListStudioComponentsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListStudioMembers = "ListStudioMembers" + +// ListStudioMembersRequest generates a "aws/request.Request" representing the +// client's request for the ListStudioMembers 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 ListStudioMembers for more information on using the ListStudioMembers +// 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 ListStudioMembersRequest method. +// req, resp := client.ListStudioMembersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListStudioMembers +func (c *NimbleStudio) ListStudioMembersRequest(input *ListStudioMembersInput) (req *request.Request, output *ListStudioMembersOutput) { + op := &request.Operation{ + Name: opListStudioMembers, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios/{studioId}/membership", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListStudioMembersInput{} + } + + output = &ListStudioMembersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListStudioMembers API operation for AmazonNimbleStudio. +// +// Get all users in a given studio membership. +// +// 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 AmazonNimbleStudio's +// API operation ListStudioMembers for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListStudioMembers +func (c *NimbleStudio) ListStudioMembers(input *ListStudioMembersInput) (*ListStudioMembersOutput, error) { + req, out := c.ListStudioMembersRequest(input) + return out, req.Send() +} + +// ListStudioMembersWithContext is the same as ListStudioMembers with the addition of +// the ability to pass a context and additional request options. +// +// See ListStudioMembers 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 *NimbleStudio) ListStudioMembersWithContext(ctx aws.Context, input *ListStudioMembersInput, opts ...request.Option) (*ListStudioMembersOutput, error) { + req, out := c.ListStudioMembersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListStudioMembersPages iterates over the pages of a ListStudioMembers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStudioMembers 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 ListStudioMembers operation. +// pageNum := 0 +// err := client.ListStudioMembersPages(params, +// func(page *nimblestudio.ListStudioMembersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *NimbleStudio) ListStudioMembersPages(input *ListStudioMembersInput, fn func(*ListStudioMembersOutput, bool) bool) error { + return c.ListStudioMembersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListStudioMembersPagesWithContext same as ListStudioMembersPages 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 *NimbleStudio) ListStudioMembersPagesWithContext(ctx aws.Context, input *ListStudioMembersInput, fn func(*ListStudioMembersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListStudioMembersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListStudioMembersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListStudioMembersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListStudios = "ListStudios" + +// ListStudiosRequest generates a "aws/request.Request" representing the +// client's request for the ListStudios 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 ListStudios for more information on using the ListStudios +// 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 ListStudiosRequest method. +// req, resp := client.ListStudiosRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListStudios +func (c *NimbleStudio) ListStudiosRequest(input *ListStudiosInput) (req *request.Request, output *ListStudiosOutput) { + op := &request.Operation{ + Name: opListStudios, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/studios", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListStudiosInput{} + } + + output = &ListStudiosOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListStudios API operation for AmazonNimbleStudio. +// +// List studios in your AWS account in the requested AWS Region. +// +// 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 AmazonNimbleStudio's +// API operation ListStudios for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListStudios +func (c *NimbleStudio) ListStudios(input *ListStudiosInput) (*ListStudiosOutput, error) { + req, out := c.ListStudiosRequest(input) + return out, req.Send() +} + +// ListStudiosWithContext is the same as ListStudios with the addition of +// the ability to pass a context and additional request options. +// +// See ListStudios 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 *NimbleStudio) ListStudiosWithContext(ctx aws.Context, input *ListStudiosInput, opts ...request.Option) (*ListStudiosOutput, error) { + req, out := c.ListStudiosRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListStudiosPages iterates over the pages of a ListStudios operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListStudios 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 ListStudios operation. +// pageNum := 0 +// err := client.ListStudiosPages(params, +// func(page *nimblestudio.ListStudiosOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +// +func (c *NimbleStudio) ListStudiosPages(input *ListStudiosInput, fn func(*ListStudiosOutput, bool) bool) error { + return c.ListStudiosPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListStudiosPagesWithContext same as ListStudiosPages 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 *NimbleStudio) ListStudiosPagesWithContext(ctx aws.Context, input *ListStudiosInput, fn func(*ListStudiosOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListStudiosInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListStudiosRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListStudiosOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListTagsForResource = "ListTagsForResource" + +// ListTagsForResourceRequest generates a "aws/request.Request" representing the +// client's request for the ListTagsForResource 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 ListTagsForResource for more information on using the ListTagsForResource +// 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 ListTagsForResourceRequest method. +// req, resp := client.ListTagsForResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListTagsForResource +func (c *NimbleStudio) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/2020-08-01/tags/{resourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for AmazonNimbleStudio. +// +// Gets the tags for a resource, given its Amazon Resource Names (ARN). +// +// This operation supports ARNs for all resource types in Nimble Studio that +// support tags, including studio, studio component, launch profile, streaming +// image, and streaming session. All resources that can be tagged will contain +// an ARN property, so you do not have to create this ARN yourself. +// +// 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 AmazonNimbleStudio's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/ListTagsForResource +func (c *NimbleStudio) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + return out, req.Send() +} + +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// the ability to pass a context and additional request options. +// +// See ListTagsForResource 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 *NimbleStudio) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutLaunchProfileMembers = "PutLaunchProfileMembers" + +// PutLaunchProfileMembersRequest generates a "aws/request.Request" representing the +// client's request for the PutLaunchProfileMembers 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 PutLaunchProfileMembers for more information on using the PutLaunchProfileMembers +// 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 PutLaunchProfileMembersRequest method. +// req, resp := client.PutLaunchProfileMembersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/PutLaunchProfileMembers +func (c *NimbleStudio) PutLaunchProfileMembersRequest(input *PutLaunchProfileMembersInput) (req *request.Request, output *PutLaunchProfileMembersOutput) { + op := &request.Operation{ + Name: opPutLaunchProfileMembers, + HTTPMethod: "POST", + HTTPPath: "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership", + } + + if input == nil { + input = &PutLaunchProfileMembersInput{} + } + + output = &PutLaunchProfileMembersOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutLaunchProfileMembers API operation for AmazonNimbleStudio. +// +// Add/update users with given persona to launch profile membership. +// +// 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 AmazonNimbleStudio's +// API operation PutLaunchProfileMembers for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/PutLaunchProfileMembers +func (c *NimbleStudio) PutLaunchProfileMembers(input *PutLaunchProfileMembersInput) (*PutLaunchProfileMembersOutput, error) { + req, out := c.PutLaunchProfileMembersRequest(input) + return out, req.Send() +} + +// PutLaunchProfileMembersWithContext is the same as PutLaunchProfileMembers with the addition of +// the ability to pass a context and additional request options. +// +// See PutLaunchProfileMembers 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 *NimbleStudio) PutLaunchProfileMembersWithContext(ctx aws.Context, input *PutLaunchProfileMembersInput, opts ...request.Option) (*PutLaunchProfileMembersOutput, error) { + req, out := c.PutLaunchProfileMembersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opPutStudioMembers = "PutStudioMembers" + +// PutStudioMembersRequest generates a "aws/request.Request" representing the +// client's request for the PutStudioMembers 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 PutStudioMembers for more information on using the PutStudioMembers +// 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 PutStudioMembersRequest method. +// req, resp := client.PutStudioMembersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/PutStudioMembers +func (c *NimbleStudio) PutStudioMembersRequest(input *PutStudioMembersInput) (req *request.Request, output *PutStudioMembersOutput) { + op := &request.Operation{ + Name: opPutStudioMembers, + HTTPMethod: "POST", + HTTPPath: "/2020-08-01/studios/{studioId}/membership", + } + + if input == nil { + input = &PutStudioMembersInput{} + } + + output = &PutStudioMembersOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// PutStudioMembers API operation for AmazonNimbleStudio. +// +// Add/update users with given persona to studio membership. +// +// 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 AmazonNimbleStudio's +// API operation PutStudioMembers for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/PutStudioMembers +func (c *NimbleStudio) PutStudioMembers(input *PutStudioMembersInput) (*PutStudioMembersOutput, error) { + req, out := c.PutStudioMembersRequest(input) + return out, req.Send() +} + +// PutStudioMembersWithContext is the same as PutStudioMembers with the addition of +// the ability to pass a context and additional request options. +// +// See PutStudioMembers 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 *NimbleStudio) PutStudioMembersWithContext(ctx aws.Context, input *PutStudioMembersInput, opts ...request.Option) (*PutStudioMembersOutput, error) { + req, out := c.PutStudioMembersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartStudioSSOConfigurationRepair = "StartStudioSSOConfigurationRepair" + +// StartStudioSSOConfigurationRepairRequest generates a "aws/request.Request" representing the +// client's request for the StartStudioSSOConfigurationRepair 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 StartStudioSSOConfigurationRepair for more information on using the StartStudioSSOConfigurationRepair +// 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 StartStudioSSOConfigurationRepairRequest method. +// req, resp := client.StartStudioSSOConfigurationRepairRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/StartStudioSSOConfigurationRepair +func (c *NimbleStudio) StartStudioSSOConfigurationRepairRequest(input *StartStudioSSOConfigurationRepairInput) (req *request.Request, output *StartStudioSSOConfigurationRepairOutput) { + op := &request.Operation{ + Name: opStartStudioSSOConfigurationRepair, + HTTPMethod: "PUT", + HTTPPath: "/2020-08-01/studios/{studioId}/sso-configuration", + } + + if input == nil { + input = &StartStudioSSOConfigurationRepairInput{} + } + + output = &StartStudioSSOConfigurationRepairOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartStudioSSOConfigurationRepair API operation for AmazonNimbleStudio. +// +// Repairs the SSO configuration for a given studio. +// +// If the studio has a valid AWS SSO configuration currently associated with +// it, this operation will fail with a validation error. +// +// If the studio does not have a valid AWS SSO configuration currently associated +// with it, then a new AWS SSO application is created for the studio and the +// studio is changed to the READY state. +// +// After the AWS SSO application is repaired, you must use the Amazon Nimble +// Studio console to add administrators and users to your studio. +// +// 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 AmazonNimbleStudio's +// API operation StartStudioSSOConfigurationRepair for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/StartStudioSSOConfigurationRepair +func (c *NimbleStudio) StartStudioSSOConfigurationRepair(input *StartStudioSSOConfigurationRepairInput) (*StartStudioSSOConfigurationRepairOutput, error) { + req, out := c.StartStudioSSOConfigurationRepairRequest(input) + return out, req.Send() +} + +// StartStudioSSOConfigurationRepairWithContext is the same as StartStudioSSOConfigurationRepair with the addition of +// the ability to pass a context and additional request options. +// +// See StartStudioSSOConfigurationRepair 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 *NimbleStudio) StartStudioSSOConfigurationRepairWithContext(ctx aws.Context, input *StartStudioSSOConfigurationRepairInput, opts ...request.Option) (*StartStudioSSOConfigurationRepairOutput, error) { + req, out := c.StartStudioSSOConfigurationRepairRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opTagResource = "TagResource" + +// TagResourceRequest generates a "aws/request.Request" representing the +// client's request for the TagResource 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 TagResource for more information on using the TagResource +// 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 TagResourceRequest method. +// req, resp := client.TagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/TagResource +func (c *NimbleStudio) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/2020-08-01/tags/{resourceArn}", + } + + if input == nil { + input = &TagResourceInput{} + } + + output = &TagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// TagResource API operation for AmazonNimbleStudio. +// +// Creates tags for a resource, given its ARN. +// +// 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 AmazonNimbleStudio's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/TagResource +func (c *NimbleStudio) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + return out, req.Send() +} + +// TagResourceWithContext is the same as TagResource with the addition of +// the ability to pass a context and additional request options. +// +// See TagResource 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 *NimbleStudio) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { + req, out := c.TagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUntagResource = "UntagResource" + +// UntagResourceRequest generates a "aws/request.Request" representing the +// client's request for the UntagResource 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 UntagResource for more information on using the UntagResource +// 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 UntagResourceRequest method. +// req, resp := client.UntagResourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/UntagResource +func (c *NimbleStudio) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/2020-08-01/tags/{resourceArn}", + } + + if input == nil { + input = &UntagResourceInput{} + } + + output = &UntagResourceOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// UntagResource API operation for AmazonNimbleStudio. +// +// Deletes the tags for a resource. +// +// 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 AmazonNimbleStudio's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/UntagResource +func (c *NimbleStudio) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + return out, req.Send() +} + +// UntagResourceWithContext is the same as UntagResource with the addition of +// the ability to pass a context and additional request options. +// +// See UntagResource 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 *NimbleStudio) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { + req, out := c.UntagResourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLaunchProfile = "UpdateLaunchProfile" + +// UpdateLaunchProfileRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLaunchProfile 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 UpdateLaunchProfile for more information on using the UpdateLaunchProfile +// 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 UpdateLaunchProfileRequest method. +// req, resp := client.UpdateLaunchProfileRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/UpdateLaunchProfile +func (c *NimbleStudio) UpdateLaunchProfileRequest(input *UpdateLaunchProfileInput) (req *request.Request, output *UpdateLaunchProfileOutput) { + op := &request.Operation{ + Name: opUpdateLaunchProfile, + HTTPMethod: "PATCH", + HTTPPath: "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}", + } + + if input == nil { + input = &UpdateLaunchProfileInput{} + } + + output = &UpdateLaunchProfileOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateLaunchProfile API operation for AmazonNimbleStudio. +// +// Update a launch profile. +// +// 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 AmazonNimbleStudio's +// API operation UpdateLaunchProfile for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/UpdateLaunchProfile +func (c *NimbleStudio) UpdateLaunchProfile(input *UpdateLaunchProfileInput) (*UpdateLaunchProfileOutput, error) { + req, out := c.UpdateLaunchProfileRequest(input) + return out, req.Send() +} + +// UpdateLaunchProfileWithContext is the same as UpdateLaunchProfile with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLaunchProfile 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 *NimbleStudio) UpdateLaunchProfileWithContext(ctx aws.Context, input *UpdateLaunchProfileInput, opts ...request.Option) (*UpdateLaunchProfileOutput, error) { + req, out := c.UpdateLaunchProfileRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateLaunchProfileMember = "UpdateLaunchProfileMember" + +// UpdateLaunchProfileMemberRequest generates a "aws/request.Request" representing the +// client's request for the UpdateLaunchProfileMember 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 UpdateLaunchProfileMember for more information on using the UpdateLaunchProfileMember +// 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 UpdateLaunchProfileMemberRequest method. +// req, resp := client.UpdateLaunchProfileMemberRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/UpdateLaunchProfileMember +func (c *NimbleStudio) UpdateLaunchProfileMemberRequest(input *UpdateLaunchProfileMemberInput) (req *request.Request, output *UpdateLaunchProfileMemberOutput) { + op := &request.Operation{ + Name: opUpdateLaunchProfileMember, + HTTPMethod: "PATCH", + HTTPPath: "/2020-08-01/studios/{studioId}/launch-profiles/{launchProfileId}/membership/{principalId}", + } + + if input == nil { + input = &UpdateLaunchProfileMemberInput{} + } + + output = &UpdateLaunchProfileMemberOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateLaunchProfileMember API operation for AmazonNimbleStudio. +// +// Update a user persona in launch profile membership. +// +// 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 AmazonNimbleStudio's +// API operation UpdateLaunchProfileMember for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/UpdateLaunchProfileMember +func (c *NimbleStudio) UpdateLaunchProfileMember(input *UpdateLaunchProfileMemberInput) (*UpdateLaunchProfileMemberOutput, error) { + req, out := c.UpdateLaunchProfileMemberRequest(input) + return out, req.Send() +} + +// UpdateLaunchProfileMemberWithContext is the same as UpdateLaunchProfileMember with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateLaunchProfileMember 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 *NimbleStudio) UpdateLaunchProfileMemberWithContext(ctx aws.Context, input *UpdateLaunchProfileMemberInput, opts ...request.Option) (*UpdateLaunchProfileMemberOutput, error) { + req, out := c.UpdateLaunchProfileMemberRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateStreamingImage = "UpdateStreamingImage" + +// UpdateStreamingImageRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStreamingImage 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 UpdateStreamingImage for more information on using the UpdateStreamingImage +// 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 UpdateStreamingImageRequest method. +// req, resp := client.UpdateStreamingImageRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/UpdateStreamingImage +func (c *NimbleStudio) UpdateStreamingImageRequest(input *UpdateStreamingImageInput) (req *request.Request, output *UpdateStreamingImageOutput) { + op := &request.Operation{ + Name: opUpdateStreamingImage, + HTTPMethod: "PATCH", + HTTPPath: "/2020-08-01/studios/{studioId}/streaming-images/{streamingImageId}", + } + + if input == nil { + input = &UpdateStreamingImageInput{} + } + + output = &UpdateStreamingImageOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateStreamingImage API operation for AmazonNimbleStudio. +// +// Update streaming image. +// +// 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 AmazonNimbleStudio's +// API operation UpdateStreamingImage for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/UpdateStreamingImage +func (c *NimbleStudio) UpdateStreamingImage(input *UpdateStreamingImageInput) (*UpdateStreamingImageOutput, error) { + req, out := c.UpdateStreamingImageRequest(input) + return out, req.Send() +} + +// UpdateStreamingImageWithContext is the same as UpdateStreamingImage with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateStreamingImage 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 *NimbleStudio) UpdateStreamingImageWithContext(ctx aws.Context, input *UpdateStreamingImageInput, opts ...request.Option) (*UpdateStreamingImageOutput, error) { + req, out := c.UpdateStreamingImageRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateStudio = "UpdateStudio" + +// UpdateStudioRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStudio 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 UpdateStudio for more information on using the UpdateStudio +// 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 UpdateStudioRequest method. +// req, resp := client.UpdateStudioRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/UpdateStudio +func (c *NimbleStudio) UpdateStudioRequest(input *UpdateStudioInput) (req *request.Request, output *UpdateStudioOutput) { + op := &request.Operation{ + Name: opUpdateStudio, + HTTPMethod: "PATCH", + HTTPPath: "/2020-08-01/studios/{studioId}", + } + + if input == nil { + input = &UpdateStudioInput{} + } + + output = &UpdateStudioOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateStudio API operation for AmazonNimbleStudio. +// +// Update a Studio resource. +// +// Currently, this operation only supports updating the displayName of your +// studio. +// +// 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 AmazonNimbleStudio's +// API operation UpdateStudio for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/UpdateStudio +func (c *NimbleStudio) UpdateStudio(input *UpdateStudioInput) (*UpdateStudioOutput, error) { + req, out := c.UpdateStudioRequest(input) + return out, req.Send() +} + +// UpdateStudioWithContext is the same as UpdateStudio with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateStudio 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 *NimbleStudio) UpdateStudioWithContext(ctx aws.Context, input *UpdateStudioInput, opts ...request.Option) (*UpdateStudioOutput, error) { + req, out := c.UpdateStudioRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateStudioComponent = "UpdateStudioComponent" + +// UpdateStudioComponentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStudioComponent 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 UpdateStudioComponent for more information on using the UpdateStudioComponent +// 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 UpdateStudioComponentRequest method. +// req, resp := client.UpdateStudioComponentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/UpdateStudioComponent +func (c *NimbleStudio) UpdateStudioComponentRequest(input *UpdateStudioComponentInput) (req *request.Request, output *UpdateStudioComponentOutput) { + op := &request.Operation{ + Name: opUpdateStudioComponent, + HTTPMethod: "PATCH", + HTTPPath: "/2020-08-01/studios/{studioId}/studio-components/{studioComponentId}", + } + + if input == nil { + input = &UpdateStudioComponentInput{} + } + + output = &UpdateStudioComponentOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateStudioComponent API operation for AmazonNimbleStudio. +// +// Updates a studio component resource. +// +// 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 AmazonNimbleStudio's +// API operation UpdateStudioComponent for usage and error information. +// +// Returned Error Types: +// * ValidationException +// +// * InternalServerErrorException +// +// * ServiceQuotaExceededException +// +// * AccessDeniedException +// +// * ResourceNotFoundException +// +// * ThrottlingException +// +// * ConflictException +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01/UpdateStudioComponent +func (c *NimbleStudio) UpdateStudioComponent(input *UpdateStudioComponentInput) (*UpdateStudioComponentOutput, error) { + req, out := c.UpdateStudioComponentRequest(input) + return out, req.Send() +} + +// UpdateStudioComponentWithContext is the same as UpdateStudioComponent with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateStudioComponent 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 *NimbleStudio) UpdateStudioComponentWithContext(ctx aws.Context, input *UpdateStudioComponentInput, opts ...request.Option) (*UpdateStudioComponentOutput, error) { + req, out := c.UpdateStudioComponentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +type AcceptEulasInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + EulaIds []*string `locationName:"eulaIds" type:"list"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s AcceptEulasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptEulasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AcceptEulasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AcceptEulasInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *AcceptEulasInput) SetClientToken(v string) *AcceptEulasInput { + s.ClientToken = &v + return s +} + +// SetEulaIds sets the EulaIds field's value. +func (s *AcceptEulasInput) SetEulaIds(v []*string) *AcceptEulasInput { + s.EulaIds = v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *AcceptEulasInput) SetStudioId(v string) *AcceptEulasInput { + s.StudioId = &v + return s +} + +type AcceptEulasOutput struct { + _ struct{} `type:"structure"` + + EulaAcceptances []*EulaAcceptance `locationName:"eulaAcceptances" type:"list"` +} + +// String returns the string representation +func (s AcceptEulasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AcceptEulasOutput) GoString() string { + return s.String() +} + +// SetEulaAcceptances sets the EulaAcceptances field's value. +func (s *AcceptEulasOutput) SetEulaAcceptances(v []*EulaAcceptance) *AcceptEulasOutput { + s.EulaAcceptances = v + return s +} + +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + // ExceptionContext is a set of key-value pairs that provide you with more information + // about the error that occurred. For example, when the service returns a 404 + // ResourceNotFound error, ExceptionContext will contain the key `resourceId` + // with the value of resource that was not found. + // + // ExceptionContext enables scripts and other programmatic clients to provide + // for better error handling. + Context map[string]*string `locationName:"context" type:"map"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s AccessDeniedException) GoString() string { + return s.String() +} + +func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { + return &AccessDeniedException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *AccessDeniedException) Code() string { + return "AccessDeniedException" +} + +// Message returns the exception's message. +func (s *AccessDeniedException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *AccessDeniedException) OrigErr() error { + return nil +} + +func (s *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *AccessDeniedException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *AccessDeniedException) RequestID() string { + return s.RespMetadata.RequestID +} + +// An LDAP attribute of an Active Directory computer account, in the form of +// a name:value pair. +type ActiveDirectoryComputerAttribute struct { + _ struct{} `type:"structure"` + + // The name for the LDAP attribute. + Name *string `locationName:"name" min:"1" type:"string"` + + // The value for the LDAP attribute. + Value *string `locationName:"value" min:"1" type:"string"` +} + +// String returns the string representation +func (s ActiveDirectoryComputerAttribute) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ActiveDirectoryComputerAttribute) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ActiveDirectoryComputerAttribute) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ActiveDirectoryComputerAttribute"} + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetName sets the Name field's value. +func (s *ActiveDirectoryComputerAttribute) SetName(v string) *ActiveDirectoryComputerAttribute { + s.Name = &v + return s +} + +// SetValue sets the Value field's value. +func (s *ActiveDirectoryComputerAttribute) SetValue(v string) *ActiveDirectoryComputerAttribute { + s.Value = &v + return s +} + +// The configuration for a Microsoft Active Directory (Microsoft AD) studio +// resource. +type ActiveDirectoryConfiguration struct { + _ struct{} `type:"structure"` + + // A collection of LDAP attributes to apply to Active Directory computer accounts + // that are created for streaming sessions. + ComputerAttributes []*ActiveDirectoryComputerAttribute `locationName:"computerAttributes" type:"list"` + + DirectoryId *string `locationName:"directoryId" type:"string"` + + // The fully-qualified distinguished name of the organizational unit to place + // the computer account in. + OrganizationalUnitDistinguishedName *string `locationName:"organizationalUnitDistinguishedName" min:"1" type:"string"` +} + +// String returns the string representation +func (s ActiveDirectoryConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ActiveDirectoryConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ActiveDirectoryConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ActiveDirectoryConfiguration"} + if s.OrganizationalUnitDistinguishedName != nil && len(*s.OrganizationalUnitDistinguishedName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OrganizationalUnitDistinguishedName", 1)) + } + if s.ComputerAttributes != nil { + for i, v := range s.ComputerAttributes { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ComputerAttributes", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComputerAttributes sets the ComputerAttributes field's value. +func (s *ActiveDirectoryConfiguration) SetComputerAttributes(v []*ActiveDirectoryComputerAttribute) *ActiveDirectoryConfiguration { + s.ComputerAttributes = v + return s +} + +// SetDirectoryId sets the DirectoryId field's value. +func (s *ActiveDirectoryConfiguration) SetDirectoryId(v string) *ActiveDirectoryConfiguration { + s.DirectoryId = &v + return s +} + +// SetOrganizationalUnitDistinguishedName sets the OrganizationalUnitDistinguishedName field's value. +func (s *ActiveDirectoryConfiguration) SetOrganizationalUnitDistinguishedName(v string) *ActiveDirectoryConfiguration { + s.OrganizationalUnitDistinguishedName = &v + return s +} + +// The configuration for a render farm that is associated with a studio resource. +type ComputeFarmConfiguration struct { + _ struct{} `type:"structure"` + + ActiveDirectoryUser *string `locationName:"activeDirectoryUser" type:"string"` + + Endpoint *string `locationName:"endpoint" type:"string"` +} + +// String returns the string representation +func (s ComputeFarmConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ComputeFarmConfiguration) GoString() string { + return s.String() +} + +// SetActiveDirectoryUser sets the ActiveDirectoryUser field's value. +func (s *ComputeFarmConfiguration) SetActiveDirectoryUser(v string) *ComputeFarmConfiguration { + s.ActiveDirectoryUser = &v + return s +} + +// SetEndpoint sets the Endpoint field's value. +func (s *ComputeFarmConfiguration) SetEndpoint(v string) *ComputeFarmConfiguration { + s.Endpoint = &v + return s +} + +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + // ExceptionContext is a set of key-value pairs that provide you with more information + // about the error that occurred. For example, when the service returns a 404 + // ResourceNotFound error, ExceptionContext will contain the key `resourceId` + // with the value of resource that was not found. + // + // ExceptionContext enables scripts and other programmatic clients to provide + // for better error handling. + Context map[string]*string `locationName:"context" type:"map"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + +type CreateLaunchProfileInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + Description *string `locationName:"description" type:"string"` + + // Ec2SubnetIds is a required field + Ec2SubnetIds []*string `locationName:"ec2SubnetIds" type:"list" required:"true"` + + // LaunchProfileProtocolVersions is a required field + LaunchProfileProtocolVersions []*string `locationName:"launchProfileProtocolVersions" type:"list" required:"true"` + + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // StreamConfiguration is a required field + StreamConfiguration *StreamConfigurationCreate `locationName:"streamConfiguration" type:"structure" required:"true"` + + // StudioComponentIds is a required field + StudioComponentIds []*string `locationName:"studioComponentIds" min:"1" type:"list" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreateLaunchProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLaunchProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateLaunchProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateLaunchProfileInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Ec2SubnetIds == nil { + invalidParams.Add(request.NewErrParamRequired("Ec2SubnetIds")) + } + if s.LaunchProfileProtocolVersions == nil { + invalidParams.Add(request.NewErrParamRequired("LaunchProfileProtocolVersions")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.StreamConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("StreamConfiguration")) + } + if s.StudioComponentIds == nil { + invalidParams.Add(request.NewErrParamRequired("StudioComponentIds")) + } + if s.StudioComponentIds != nil && len(s.StudioComponentIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioComponentIds", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + if s.StreamConfiguration != nil { + if err := s.StreamConfiguration.Validate(); err != nil { + invalidParams.AddNested("StreamConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateLaunchProfileInput) SetClientToken(v string) *CreateLaunchProfileInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateLaunchProfileInput) SetDescription(v string) *CreateLaunchProfileInput { + s.Description = &v + return s +} + +// SetEc2SubnetIds sets the Ec2SubnetIds field's value. +func (s *CreateLaunchProfileInput) SetEc2SubnetIds(v []*string) *CreateLaunchProfileInput { + s.Ec2SubnetIds = v + return s +} + +// SetLaunchProfileProtocolVersions sets the LaunchProfileProtocolVersions field's value. +func (s *CreateLaunchProfileInput) SetLaunchProfileProtocolVersions(v []*string) *CreateLaunchProfileInput { + s.LaunchProfileProtocolVersions = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateLaunchProfileInput) SetName(v string) *CreateLaunchProfileInput { + s.Name = &v + return s +} + +// SetStreamConfiguration sets the StreamConfiguration field's value. +func (s *CreateLaunchProfileInput) SetStreamConfiguration(v *StreamConfigurationCreate) *CreateLaunchProfileInput { + s.StreamConfiguration = v + return s +} + +// SetStudioComponentIds sets the StudioComponentIds field's value. +func (s *CreateLaunchProfileInput) SetStudioComponentIds(v []*string) *CreateLaunchProfileInput { + s.StudioComponentIds = v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *CreateLaunchProfileInput) SetStudioId(v string) *CreateLaunchProfileInput { + s.StudioId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateLaunchProfileInput) SetTags(v map[string]*string) *CreateLaunchProfileInput { + s.Tags = v + return s +} + +type CreateLaunchProfileOutput struct { + _ struct{} `type:"structure"` + + LaunchProfile *LaunchProfile `locationName:"launchProfile" type:"structure"` +} + +// String returns the string representation +func (s CreateLaunchProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateLaunchProfileOutput) GoString() string { + return s.String() +} + +// SetLaunchProfile sets the LaunchProfile field's value. +func (s *CreateLaunchProfileOutput) SetLaunchProfile(v *LaunchProfile) *CreateLaunchProfileOutput { + s.LaunchProfile = v + return s +} + +type CreateStreamingImageInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // The description. + Description *string `locationName:"description" type:"string"` + + // Ec2ImageId is a required field + Ec2ImageId *string `locationName:"ec2ImageId" type:"string" required:"true"` + + // A friendly name for a streaming image resource. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreateStreamingImageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStreamingImageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateStreamingImageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStreamingImageInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Ec2ImageId == nil { + invalidParams.Add(request.NewErrParamRequired("Ec2ImageId")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateStreamingImageInput) SetClientToken(v string) *CreateStreamingImageInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateStreamingImageInput) SetDescription(v string) *CreateStreamingImageInput { + s.Description = &v + return s +} + +// SetEc2ImageId sets the Ec2ImageId field's value. +func (s *CreateStreamingImageInput) SetEc2ImageId(v string) *CreateStreamingImageInput { + s.Ec2ImageId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateStreamingImageInput) SetName(v string) *CreateStreamingImageInput { + s.Name = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *CreateStreamingImageInput) SetStudioId(v string) *CreateStreamingImageInput { + s.StudioId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateStreamingImageInput) SetTags(v map[string]*string) *CreateStreamingImageInput { + s.Tags = v + return s +} + +type CreateStreamingImageOutput struct { + _ struct{} `type:"structure"` + + StreamingImage *StreamingImage `locationName:"streamingImage" type:"structure"` +} + +// String returns the string representation +func (s CreateStreamingImageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStreamingImageOutput) GoString() string { + return s.String() +} + +// SetStreamingImage sets the StreamingImage field's value. +func (s *CreateStreamingImageOutput) SetStreamingImage(v *StreamingImage) *CreateStreamingImageOutput { + s.StreamingImage = v + return s +} + +type CreateStreamingSessionInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + Ec2InstanceType *string `locationName:"ec2InstanceType" type:"string" enum:"StreamingInstanceType"` + + LaunchProfileId *string `locationName:"launchProfileId" type:"string"` + + StreamingImageId *string `locationName:"streamingImageId" type:"string"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s CreateStreamingSessionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStreamingSessionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateStreamingSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStreamingSessionInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateStreamingSessionInput) SetClientToken(v string) *CreateStreamingSessionInput { + s.ClientToken = &v + return s +} + +// SetEc2InstanceType sets the Ec2InstanceType field's value. +func (s *CreateStreamingSessionInput) SetEc2InstanceType(v string) *CreateStreamingSessionInput { + s.Ec2InstanceType = &v + return s +} + +// SetLaunchProfileId sets the LaunchProfileId field's value. +func (s *CreateStreamingSessionInput) SetLaunchProfileId(v string) *CreateStreamingSessionInput { + s.LaunchProfileId = &v + return s +} + +// SetStreamingImageId sets the StreamingImageId field's value. +func (s *CreateStreamingSessionInput) SetStreamingImageId(v string) *CreateStreamingSessionInput { + s.StreamingImageId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *CreateStreamingSessionInput) SetStudioId(v string) *CreateStreamingSessionInput { + s.StudioId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateStreamingSessionInput) SetTags(v map[string]*string) *CreateStreamingSessionInput { + s.Tags = v + return s +} + +type CreateStreamingSessionOutput struct { + _ struct{} `type:"structure"` + + Session *StreamingSession `locationName:"session" type:"structure"` +} + +// String returns the string representation +func (s CreateStreamingSessionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStreamingSessionOutput) GoString() string { + return s.String() +} + +// SetSession sets the Session field's value. +func (s *CreateStreamingSessionOutput) SetSession(v *StreamingSession) *CreateStreamingSessionOutput { + s.Session = v + return s +} + +type CreateStreamingSessionStreamInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + ExpirationInSeconds *int64 `locationName:"expirationInSeconds" min:"60" type:"integer"` + + // SessionId is a required field + SessionId *string `location:"uri" locationName:"sessionId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateStreamingSessionStreamInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStreamingSessionStreamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateStreamingSessionStreamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStreamingSessionStreamInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.ExpirationInSeconds != nil && *s.ExpirationInSeconds < 60 { + invalidParams.Add(request.NewErrParamMinValue("ExpirationInSeconds", 60)) + } + if s.SessionId == nil { + invalidParams.Add(request.NewErrParamRequired("SessionId")) + } + if s.SessionId != nil && len(*s.SessionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SessionId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateStreamingSessionStreamInput) SetClientToken(v string) *CreateStreamingSessionStreamInput { + s.ClientToken = &v + return s +} + +// SetExpirationInSeconds sets the ExpirationInSeconds field's value. +func (s *CreateStreamingSessionStreamInput) SetExpirationInSeconds(v int64) *CreateStreamingSessionStreamInput { + s.ExpirationInSeconds = &v + return s +} + +// SetSessionId sets the SessionId field's value. +func (s *CreateStreamingSessionStreamInput) SetSessionId(v string) *CreateStreamingSessionStreamInput { + s.SessionId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *CreateStreamingSessionStreamInput) SetStudioId(v string) *CreateStreamingSessionStreamInput { + s.StudioId = &v + return s +} + +type CreateStreamingSessionStreamOutput struct { + _ struct{} `type:"structure"` + + Stream *StreamingSessionStream `locationName:"stream" type:"structure"` +} + +// String returns the string representation +func (s CreateStreamingSessionStreamOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStreamingSessionStreamOutput) GoString() string { + return s.String() +} + +// SetStream sets the Stream field's value. +func (s *CreateStreamingSessionStreamOutput) SetStream(v *StreamingSessionStream) *CreateStreamingSessionStreamOutput { + s.Stream = v + return s +} + +type CreateStudioComponentInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // The configuration of the studio component, based on component type. + Configuration *StudioComponentConfiguration `locationName:"configuration" type:"structure"` + + Description *string `locationName:"description" type:"string"` + + Ec2SecurityGroupIds []*string `locationName:"ec2SecurityGroupIds" min:"1" type:"list"` + + InitializationScripts []*StudioComponentInitializationScript `locationName:"initializationScripts" type:"list"` + + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + ScriptParameters []*ScriptParameterKeyValue `locationName:"scriptParameters" type:"list"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` + + Subtype *string `locationName:"subtype" type:"string" enum:"StudioComponentSubtype"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"StudioComponentType"` +} + +// String returns the string representation +func (s CreateStudioComponentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStudioComponentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateStudioComponentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStudioComponentInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Ec2SecurityGroupIds != nil && len(s.Ec2SecurityGroupIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Ec2SecurityGroupIds", 1)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Configuration != nil { + if err := s.Configuration.Validate(); err != nil { + invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) + } + } + if s.InitializationScripts != nil { + for i, v := range s.InitializationScripts { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InitializationScripts", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ScriptParameters != nil { + for i, v := range s.ScriptParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScriptParameters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateStudioComponentInput) SetClientToken(v string) *CreateStudioComponentInput { + s.ClientToken = &v + return s +} + +// SetConfiguration sets the Configuration field's value. +func (s *CreateStudioComponentInput) SetConfiguration(v *StudioComponentConfiguration) *CreateStudioComponentInput { + s.Configuration = v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateStudioComponentInput) SetDescription(v string) *CreateStudioComponentInput { + s.Description = &v + return s +} + +// SetEc2SecurityGroupIds sets the Ec2SecurityGroupIds field's value. +func (s *CreateStudioComponentInput) SetEc2SecurityGroupIds(v []*string) *CreateStudioComponentInput { + s.Ec2SecurityGroupIds = v + return s +} + +// SetInitializationScripts sets the InitializationScripts field's value. +func (s *CreateStudioComponentInput) SetInitializationScripts(v []*StudioComponentInitializationScript) *CreateStudioComponentInput { + s.InitializationScripts = v + return s +} + +// SetName sets the Name field's value. +func (s *CreateStudioComponentInput) SetName(v string) *CreateStudioComponentInput { + s.Name = &v + return s +} + +// SetScriptParameters sets the ScriptParameters field's value. +func (s *CreateStudioComponentInput) SetScriptParameters(v []*ScriptParameterKeyValue) *CreateStudioComponentInput { + s.ScriptParameters = v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *CreateStudioComponentInput) SetStudioId(v string) *CreateStudioComponentInput { + s.StudioId = &v + return s +} + +// SetSubtype sets the Subtype field's value. +func (s *CreateStudioComponentInput) SetSubtype(v string) *CreateStudioComponentInput { + s.Subtype = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateStudioComponentInput) SetTags(v map[string]*string) *CreateStudioComponentInput { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *CreateStudioComponentInput) SetType(v string) *CreateStudioComponentInput { + s.Type = &v + return s +} + +type CreateStudioComponentOutput struct { + _ struct{} `type:"structure"` + + // A network that is used by a studio’s users and workflows, including render + // farm, Active Directory, licensing, and file system. + StudioComponent *StudioComponent `locationName:"studioComponent" type:"structure"` +} + +// String returns the string representation +func (s CreateStudioComponentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStudioComponentOutput) GoString() string { + return s.String() +} + +// SetStudioComponent sets the StudioComponent field's value. +func (s *CreateStudioComponentOutput) SetStudioComponent(v *StudioComponent) *CreateStudioComponentOutput { + s.StudioComponent = v + return s +} + +type CreateStudioInput struct { + _ struct{} `type:"structure"` + + // AdminRoleArn is a required field + AdminRoleArn *string `locationName:"adminRoleArn" type:"string" required:"true"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // DisplayName is a required field + DisplayName *string `locationName:"displayName" type:"string" required:"true"` + + // Configuration of the encryption method that is used for the studio. + StudioEncryptionConfiguration *StudioEncryptionConfiguration `locationName:"studioEncryptionConfiguration" type:"structure"` + + // StudioName is a required field + StudioName *string `locationName:"studioName" min:"3" type:"string" required:"true"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + // UserRoleArn is a required field + UserRoleArn *string `locationName:"userRoleArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s CreateStudioInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStudioInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateStudioInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStudioInput"} + if s.AdminRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("AdminRoleArn")) + } + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.DisplayName == nil { + invalidParams.Add(request.NewErrParamRequired("DisplayName")) + } + if s.StudioName == nil { + invalidParams.Add(request.NewErrParamRequired("StudioName")) + } + if s.StudioName != nil && len(*s.StudioName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("StudioName", 3)) + } + if s.UserRoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("UserRoleArn")) + } + if s.StudioEncryptionConfiguration != nil { + if err := s.StudioEncryptionConfiguration.Validate(); err != nil { + invalidParams.AddNested("StudioEncryptionConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdminRoleArn sets the AdminRoleArn field's value. +func (s *CreateStudioInput) SetAdminRoleArn(v string) *CreateStudioInput { + s.AdminRoleArn = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *CreateStudioInput) SetClientToken(v string) *CreateStudioInput { + s.ClientToken = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *CreateStudioInput) SetDisplayName(v string) *CreateStudioInput { + s.DisplayName = &v + return s +} + +// SetStudioEncryptionConfiguration sets the StudioEncryptionConfiguration field's value. +func (s *CreateStudioInput) SetStudioEncryptionConfiguration(v *StudioEncryptionConfiguration) *CreateStudioInput { + s.StudioEncryptionConfiguration = v + return s +} + +// SetStudioName sets the StudioName field's value. +func (s *CreateStudioInput) SetStudioName(v string) *CreateStudioInput { + s.StudioName = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateStudioInput) SetTags(v map[string]*string) *CreateStudioInput { + s.Tags = v + return s +} + +// SetUserRoleArn sets the UserRoleArn field's value. +func (s *CreateStudioInput) SetUserRoleArn(v string) *CreateStudioInput { + s.UserRoleArn = &v + return s +} + +type CreateStudioOutput struct { + _ struct{} `type:"structure"` + + Studio *Studio `locationName:"studio" type:"structure"` +} + +// String returns the string representation +func (s CreateStudioOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s CreateStudioOutput) GoString() string { + return s.String() +} + +// SetStudio sets the Studio field's value. +func (s *CreateStudioOutput) SetStudio(v *Studio) *CreateStudioOutput { + s.Studio = v + return s +} + +type DeleteLaunchProfileInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // LaunchProfileId is a required field + LaunchProfileId *string `location:"uri" locationName:"launchProfileId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteLaunchProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteLaunchProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteLaunchProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchProfileInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.LaunchProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("LaunchProfileId")) + } + if s.LaunchProfileId != nil && len(*s.LaunchProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LaunchProfileId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DeleteLaunchProfileInput) SetClientToken(v string) *DeleteLaunchProfileInput { + s.ClientToken = &v + return s +} + +// SetLaunchProfileId sets the LaunchProfileId field's value. +func (s *DeleteLaunchProfileInput) SetLaunchProfileId(v string) *DeleteLaunchProfileInput { + s.LaunchProfileId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *DeleteLaunchProfileInput) SetStudioId(v string) *DeleteLaunchProfileInput { + s.StudioId = &v + return s +} + +type DeleteLaunchProfileMemberInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // LaunchProfileId is a required field + LaunchProfileId *string `location:"uri" locationName:"launchProfileId" type:"string" required:"true"` + + // PrincipalId is a required field + PrincipalId *string `location:"uri" locationName:"principalId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteLaunchProfileMemberInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteLaunchProfileMemberInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteLaunchProfileMemberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteLaunchProfileMemberInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.LaunchProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("LaunchProfileId")) + } + if s.LaunchProfileId != nil && len(*s.LaunchProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LaunchProfileId", 1)) + } + if s.PrincipalId == nil { + invalidParams.Add(request.NewErrParamRequired("PrincipalId")) + } + if s.PrincipalId != nil && len(*s.PrincipalId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DeleteLaunchProfileMemberInput) SetClientToken(v string) *DeleteLaunchProfileMemberInput { + s.ClientToken = &v + return s +} + +// SetLaunchProfileId sets the LaunchProfileId field's value. +func (s *DeleteLaunchProfileMemberInput) SetLaunchProfileId(v string) *DeleteLaunchProfileMemberInput { + s.LaunchProfileId = &v + return s +} + +// SetPrincipalId sets the PrincipalId field's value. +func (s *DeleteLaunchProfileMemberInput) SetPrincipalId(v string) *DeleteLaunchProfileMemberInput { + s.PrincipalId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *DeleteLaunchProfileMemberInput) SetStudioId(v string) *DeleteLaunchProfileMemberInput { + s.StudioId = &v + return s +} + +type DeleteLaunchProfileMemberOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteLaunchProfileMemberOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteLaunchProfileMemberOutput) GoString() string { + return s.String() +} + +type DeleteLaunchProfileOutput struct { + _ struct{} `type:"structure"` + + LaunchProfile *LaunchProfile `locationName:"launchProfile" type:"structure"` +} + +// String returns the string representation +func (s DeleteLaunchProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteLaunchProfileOutput) GoString() string { + return s.String() +} + +// SetLaunchProfile sets the LaunchProfile field's value. +func (s *DeleteLaunchProfileOutput) SetLaunchProfile(v *LaunchProfile) *DeleteLaunchProfileOutput { + s.LaunchProfile = v + return s +} + +type DeleteStreamingImageInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // StreamingImageId is a required field + StreamingImageId *string `location:"uri" locationName:"streamingImageId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteStreamingImageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStreamingImageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteStreamingImageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStreamingImageInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.StreamingImageId == nil { + invalidParams.Add(request.NewErrParamRequired("StreamingImageId")) + } + if s.StreamingImageId != nil && len(*s.StreamingImageId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StreamingImageId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DeleteStreamingImageInput) SetClientToken(v string) *DeleteStreamingImageInput { + s.ClientToken = &v + return s +} + +// SetStreamingImageId sets the StreamingImageId field's value. +func (s *DeleteStreamingImageInput) SetStreamingImageId(v string) *DeleteStreamingImageInput { + s.StreamingImageId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *DeleteStreamingImageInput) SetStudioId(v string) *DeleteStreamingImageInput { + s.StudioId = &v + return s +} + +type DeleteStreamingImageOutput struct { + _ struct{} `type:"structure"` + + StreamingImage *StreamingImage `locationName:"streamingImage" type:"structure"` +} + +// String returns the string representation +func (s DeleteStreamingImageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStreamingImageOutput) GoString() string { + return s.String() +} + +// SetStreamingImage sets the StreamingImage field's value. +func (s *DeleteStreamingImageOutput) SetStreamingImage(v *StreamingImage) *DeleteStreamingImageOutput { + s.StreamingImage = v + return s +} + +type DeleteStreamingSessionInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // SessionId is a required field + SessionId *string `location:"uri" locationName:"sessionId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteStreamingSessionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStreamingSessionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteStreamingSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStreamingSessionInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.SessionId == nil { + invalidParams.Add(request.NewErrParamRequired("SessionId")) + } + if s.SessionId != nil && len(*s.SessionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SessionId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DeleteStreamingSessionInput) SetClientToken(v string) *DeleteStreamingSessionInput { + s.ClientToken = &v + return s +} + +// SetSessionId sets the SessionId field's value. +func (s *DeleteStreamingSessionInput) SetSessionId(v string) *DeleteStreamingSessionInput { + s.SessionId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *DeleteStreamingSessionInput) SetStudioId(v string) *DeleteStreamingSessionInput { + s.StudioId = &v + return s +} + +type DeleteStreamingSessionOutput struct { + _ struct{} `type:"structure"` + + Session *StreamingSession `locationName:"session" type:"structure"` +} + +// String returns the string representation +func (s DeleteStreamingSessionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStreamingSessionOutput) GoString() string { + return s.String() +} + +// SetSession sets the Session field's value. +func (s *DeleteStreamingSessionOutput) SetSession(v *StreamingSession) *DeleteStreamingSessionOutput { + s.Session = v + return s +} + +type DeleteStudioComponentInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // StudioComponentId is a required field + StudioComponentId *string `location:"uri" locationName:"studioComponentId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteStudioComponentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStudioComponentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteStudioComponentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStudioComponentInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.StudioComponentId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioComponentId")) + } + if s.StudioComponentId != nil && len(*s.StudioComponentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioComponentId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DeleteStudioComponentInput) SetClientToken(v string) *DeleteStudioComponentInput { + s.ClientToken = &v + return s +} + +// SetStudioComponentId sets the StudioComponentId field's value. +func (s *DeleteStudioComponentInput) SetStudioComponentId(v string) *DeleteStudioComponentInput { + s.StudioComponentId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *DeleteStudioComponentInput) SetStudioId(v string) *DeleteStudioComponentInput { + s.StudioId = &v + return s +} + +type DeleteStudioComponentOutput struct { + _ struct{} `type:"structure"` + + // A network that is used by a studio’s users and workflows, including render + // farm, Active Directory, licensing, and file system. + StudioComponent *StudioComponent `locationName:"studioComponent" type:"structure"` +} + +// String returns the string representation +func (s DeleteStudioComponentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStudioComponentOutput) GoString() string { + return s.String() +} + +// SetStudioComponent sets the StudioComponent field's value. +func (s *DeleteStudioComponentOutput) SetStudioComponent(v *StudioComponent) *DeleteStudioComponentOutput { + s.StudioComponent = v + return s +} + +type DeleteStudioInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteStudioInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStudioInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteStudioInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStudioInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DeleteStudioInput) SetClientToken(v string) *DeleteStudioInput { + s.ClientToken = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *DeleteStudioInput) SetStudioId(v string) *DeleteStudioInput { + s.StudioId = &v + return s +} + +type DeleteStudioMemberInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // PrincipalId is a required field + PrincipalId *string `location:"uri" locationName:"principalId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s DeleteStudioMemberInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStudioMemberInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteStudioMemberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStudioMemberInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.PrincipalId == nil { + invalidParams.Add(request.NewErrParamRequired("PrincipalId")) + } + if s.PrincipalId != nil && len(*s.PrincipalId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *DeleteStudioMemberInput) SetClientToken(v string) *DeleteStudioMemberInput { + s.ClientToken = &v + return s +} + +// SetPrincipalId sets the PrincipalId field's value. +func (s *DeleteStudioMemberInput) SetPrincipalId(v string) *DeleteStudioMemberInput { + s.PrincipalId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *DeleteStudioMemberInput) SetStudioId(v string) *DeleteStudioMemberInput { + s.StudioId = &v + return s +} + +type DeleteStudioMemberOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s DeleteStudioMemberOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStudioMemberOutput) GoString() string { + return s.String() +} + +type DeleteStudioOutput struct { + _ struct{} `type:"structure"` + + Studio *Studio `locationName:"studio" type:"structure"` +} + +// String returns the string representation +func (s DeleteStudioOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s DeleteStudioOutput) GoString() string { + return s.String() +} + +// SetStudio sets the Studio field's value. +func (s *DeleteStudioOutput) SetStudio(v *Studio) *DeleteStudioOutput { + s.Studio = v + return s +} + +// Represents a EULA resource. +type Eula struct { + _ struct{} `type:"structure"` + + Content *string `locationName:"content" type:"string"` + + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"` + + // Represents a EULA resource. + EulaId *string `locationName:"eulaId" type:"string"` + + Name *string `locationName:"name" type:"string"` + + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"` +} + +// String returns the string representation +func (s Eula) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Eula) GoString() string { + return s.String() +} + +// SetContent sets the Content field's value. +func (s *Eula) SetContent(v string) *Eula { + s.Content = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *Eula) SetCreatedAt(v time.Time) *Eula { + s.CreatedAt = &v + return s +} + +// SetEulaId sets the EulaId field's value. +func (s *Eula) SetEulaId(v string) *Eula { + s.EulaId = &v + return s +} + +// SetName sets the Name field's value. +func (s *Eula) SetName(v string) *Eula { + s.Name = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *Eula) SetUpdatedAt(v time.Time) *Eula { + s.UpdatedAt = &v + return s +} + +type EulaAcceptance struct { + _ struct{} `type:"structure"` + + AcceptedAt *time.Time `locationName:"acceptedAt" type:"timestamp" timestampFormat:"iso8601"` + + AcceptedBy *string `locationName:"acceptedBy" type:"string"` + + AccepteeId *string `locationName:"accepteeId" type:"string"` + + // The EULA acceptance ID. + EulaAcceptanceId *string `locationName:"eulaAcceptanceId" type:"string"` + + // Represents a EULA resource. + EulaId *string `locationName:"eulaId" type:"string"` +} + +// String returns the string representation +func (s EulaAcceptance) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s EulaAcceptance) GoString() string { + return s.String() +} + +// SetAcceptedAt sets the AcceptedAt field's value. +func (s *EulaAcceptance) SetAcceptedAt(v time.Time) *EulaAcceptance { + s.AcceptedAt = &v + return s +} + +// SetAcceptedBy sets the AcceptedBy field's value. +func (s *EulaAcceptance) SetAcceptedBy(v string) *EulaAcceptance { + s.AcceptedBy = &v + return s +} + +// SetAccepteeId sets the AccepteeId field's value. +func (s *EulaAcceptance) SetAccepteeId(v string) *EulaAcceptance { + s.AccepteeId = &v + return s +} + +// SetEulaAcceptanceId sets the EulaAcceptanceId field's value. +func (s *EulaAcceptance) SetEulaAcceptanceId(v string) *EulaAcceptance { + s.EulaAcceptanceId = &v + return s +} + +// SetEulaId sets the EulaId field's value. +func (s *EulaAcceptance) SetEulaId(v string) *EulaAcceptance { + s.EulaId = &v + return s +} + +type GetEulaInput struct { + _ struct{} `type:"structure"` + + // EulaId is a required field + EulaId *string `location:"uri" locationName:"eulaId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetEulaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEulaInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetEulaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetEulaInput"} + if s.EulaId == nil { + invalidParams.Add(request.NewErrParamRequired("EulaId")) + } + if s.EulaId != nil && len(*s.EulaId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("EulaId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEulaId sets the EulaId field's value. +func (s *GetEulaInput) SetEulaId(v string) *GetEulaInput { + s.EulaId = &v + return s +} + +type GetEulaOutput struct { + _ struct{} `type:"structure"` + + // Represents a EULA resource. + Eula *Eula `locationName:"eula" type:"structure"` +} + +// String returns the string representation +func (s GetEulaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetEulaOutput) GoString() string { + return s.String() +} + +// SetEula sets the Eula field's value. +func (s *GetEulaOutput) SetEula(v *Eula) *GetEulaOutput { + s.Eula = v + return s +} + +type GetLaunchProfileDetailsInput struct { + _ struct{} `type:"structure"` + + // LaunchProfileId is a required field + LaunchProfileId *string `location:"uri" locationName:"launchProfileId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetLaunchProfileDetailsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetLaunchProfileDetailsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetLaunchProfileDetailsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetLaunchProfileDetailsInput"} + if s.LaunchProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("LaunchProfileId")) + } + if s.LaunchProfileId != nil && len(*s.LaunchProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LaunchProfileId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLaunchProfileId sets the LaunchProfileId field's value. +func (s *GetLaunchProfileDetailsInput) SetLaunchProfileId(v string) *GetLaunchProfileDetailsInput { + s.LaunchProfileId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *GetLaunchProfileDetailsInput) SetStudioId(v string) *GetLaunchProfileDetailsInput { + s.StudioId = &v + return s +} + +type GetLaunchProfileDetailsOutput struct { + _ struct{} `type:"structure"` + + LaunchProfile *LaunchProfile `locationName:"launchProfile" type:"structure"` + + StreamingImages []*StreamingImage `locationName:"streamingImages" type:"list"` + + StudioComponentSummaries []*StudioComponentSummary `locationName:"studioComponentSummaries" type:"list"` +} + +// String returns the string representation +func (s GetLaunchProfileDetailsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetLaunchProfileDetailsOutput) GoString() string { + return s.String() +} + +// SetLaunchProfile sets the LaunchProfile field's value. +func (s *GetLaunchProfileDetailsOutput) SetLaunchProfile(v *LaunchProfile) *GetLaunchProfileDetailsOutput { + s.LaunchProfile = v + return s +} + +// SetStreamingImages sets the StreamingImages field's value. +func (s *GetLaunchProfileDetailsOutput) SetStreamingImages(v []*StreamingImage) *GetLaunchProfileDetailsOutput { + s.StreamingImages = v + return s +} + +// SetStudioComponentSummaries sets the StudioComponentSummaries field's value. +func (s *GetLaunchProfileDetailsOutput) SetStudioComponentSummaries(v []*StudioComponentSummary) *GetLaunchProfileDetailsOutput { + s.StudioComponentSummaries = v + return s +} + +type GetLaunchProfileInitializationInput struct { + _ struct{} `type:"structure"` + + // LaunchProfileId is a required field + LaunchProfileId *string `location:"uri" locationName:"launchProfileId" type:"string" required:"true"` + + // LaunchProfileProtocolVersions is a required field + LaunchProfileProtocolVersions []*string `location:"querystring" locationName:"launchProfileProtocolVersions" type:"list" required:"true"` + + // LaunchPurpose is a required field + LaunchPurpose *string `location:"querystring" locationName:"launchPurpose" type:"string" required:"true"` + + // Platform is a required field + Platform *string `location:"querystring" locationName:"platform" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetLaunchProfileInitializationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetLaunchProfileInitializationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetLaunchProfileInitializationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetLaunchProfileInitializationInput"} + if s.LaunchProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("LaunchProfileId")) + } + if s.LaunchProfileId != nil && len(*s.LaunchProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LaunchProfileId", 1)) + } + if s.LaunchProfileProtocolVersions == nil { + invalidParams.Add(request.NewErrParamRequired("LaunchProfileProtocolVersions")) + } + if s.LaunchPurpose == nil { + invalidParams.Add(request.NewErrParamRequired("LaunchPurpose")) + } + if s.Platform == nil { + invalidParams.Add(request.NewErrParamRequired("Platform")) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLaunchProfileId sets the LaunchProfileId field's value. +func (s *GetLaunchProfileInitializationInput) SetLaunchProfileId(v string) *GetLaunchProfileInitializationInput { + s.LaunchProfileId = &v + return s +} + +// SetLaunchProfileProtocolVersions sets the LaunchProfileProtocolVersions field's value. +func (s *GetLaunchProfileInitializationInput) SetLaunchProfileProtocolVersions(v []*string) *GetLaunchProfileInitializationInput { + s.LaunchProfileProtocolVersions = v + return s +} + +// SetLaunchPurpose sets the LaunchPurpose field's value. +func (s *GetLaunchProfileInitializationInput) SetLaunchPurpose(v string) *GetLaunchProfileInitializationInput { + s.LaunchPurpose = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *GetLaunchProfileInitializationInput) SetPlatform(v string) *GetLaunchProfileInitializationInput { + s.Platform = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *GetLaunchProfileInitializationInput) SetStudioId(v string) *GetLaunchProfileInitializationInput { + s.StudioId = &v + return s +} + +type GetLaunchProfileInitializationOutput struct { + _ struct{} `type:"structure"` + + LaunchProfileInitialization *LaunchProfileInitialization `locationName:"launchProfileInitialization" type:"structure"` +} + +// String returns the string representation +func (s GetLaunchProfileInitializationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetLaunchProfileInitializationOutput) GoString() string { + return s.String() +} + +// SetLaunchProfileInitialization sets the LaunchProfileInitialization field's value. +func (s *GetLaunchProfileInitializationOutput) SetLaunchProfileInitialization(v *LaunchProfileInitialization) *GetLaunchProfileInitializationOutput { + s.LaunchProfileInitialization = v + return s +} + +type GetLaunchProfileInput struct { + _ struct{} `type:"structure"` + + // LaunchProfileId is a required field + LaunchProfileId *string `location:"uri" locationName:"launchProfileId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetLaunchProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetLaunchProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetLaunchProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetLaunchProfileInput"} + if s.LaunchProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("LaunchProfileId")) + } + if s.LaunchProfileId != nil && len(*s.LaunchProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LaunchProfileId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLaunchProfileId sets the LaunchProfileId field's value. +func (s *GetLaunchProfileInput) SetLaunchProfileId(v string) *GetLaunchProfileInput { + s.LaunchProfileId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *GetLaunchProfileInput) SetStudioId(v string) *GetLaunchProfileInput { + s.StudioId = &v + return s +} + +type GetLaunchProfileMemberInput struct { + _ struct{} `type:"structure"` + + // LaunchProfileId is a required field + LaunchProfileId *string `location:"uri" locationName:"launchProfileId" type:"string" required:"true"` + + // PrincipalId is a required field + PrincipalId *string `location:"uri" locationName:"principalId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetLaunchProfileMemberInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetLaunchProfileMemberInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetLaunchProfileMemberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetLaunchProfileMemberInput"} + if s.LaunchProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("LaunchProfileId")) + } + if s.LaunchProfileId != nil && len(*s.LaunchProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LaunchProfileId", 1)) + } + if s.PrincipalId == nil { + invalidParams.Add(request.NewErrParamRequired("PrincipalId")) + } + if s.PrincipalId != nil && len(*s.PrincipalId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLaunchProfileId sets the LaunchProfileId field's value. +func (s *GetLaunchProfileMemberInput) SetLaunchProfileId(v string) *GetLaunchProfileMemberInput { + s.LaunchProfileId = &v + return s +} + +// SetPrincipalId sets the PrincipalId field's value. +func (s *GetLaunchProfileMemberInput) SetPrincipalId(v string) *GetLaunchProfileMemberInput { + s.PrincipalId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *GetLaunchProfileMemberInput) SetStudioId(v string) *GetLaunchProfileMemberInput { + s.StudioId = &v + return s +} + +type GetLaunchProfileMemberOutput struct { + _ struct{} `type:"structure"` + + Member *LaunchProfileMembership `locationName:"member" type:"structure"` +} + +// String returns the string representation +func (s GetLaunchProfileMemberOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetLaunchProfileMemberOutput) GoString() string { + return s.String() +} + +// SetMember sets the Member field's value. +func (s *GetLaunchProfileMemberOutput) SetMember(v *LaunchProfileMembership) *GetLaunchProfileMemberOutput { + s.Member = v + return s +} + +type GetLaunchProfileOutput struct { + _ struct{} `type:"structure"` + + LaunchProfile *LaunchProfile `locationName:"launchProfile" type:"structure"` +} + +// String returns the string representation +func (s GetLaunchProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetLaunchProfileOutput) GoString() string { + return s.String() +} + +// SetLaunchProfile sets the LaunchProfile field's value. +func (s *GetLaunchProfileOutput) SetLaunchProfile(v *LaunchProfile) *GetLaunchProfileOutput { + s.LaunchProfile = v + return s +} + +type GetStreamingImageInput struct { + _ struct{} `type:"structure"` + + // StreamingImageId is a required field + StreamingImageId *string `location:"uri" locationName:"streamingImageId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetStreamingImageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStreamingImageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetStreamingImageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStreamingImageInput"} + if s.StreamingImageId == nil { + invalidParams.Add(request.NewErrParamRequired("StreamingImageId")) + } + if s.StreamingImageId != nil && len(*s.StreamingImageId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StreamingImageId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStreamingImageId sets the StreamingImageId field's value. +func (s *GetStreamingImageInput) SetStreamingImageId(v string) *GetStreamingImageInput { + s.StreamingImageId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *GetStreamingImageInput) SetStudioId(v string) *GetStreamingImageInput { + s.StudioId = &v + return s +} + +type GetStreamingImageOutput struct { + _ struct{} `type:"structure"` + + StreamingImage *StreamingImage `locationName:"streamingImage" type:"structure"` +} + +// String returns the string representation +func (s GetStreamingImageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStreamingImageOutput) GoString() string { + return s.String() +} + +// SetStreamingImage sets the StreamingImage field's value. +func (s *GetStreamingImageOutput) SetStreamingImage(v *StreamingImage) *GetStreamingImageOutput { + s.StreamingImage = v + return s +} + +type GetStreamingSessionInput struct { + _ struct{} `type:"structure"` + + // SessionId is a required field + SessionId *string `location:"uri" locationName:"sessionId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetStreamingSessionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStreamingSessionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetStreamingSessionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStreamingSessionInput"} + if s.SessionId == nil { + invalidParams.Add(request.NewErrParamRequired("SessionId")) + } + if s.SessionId != nil && len(*s.SessionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SessionId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSessionId sets the SessionId field's value. +func (s *GetStreamingSessionInput) SetSessionId(v string) *GetStreamingSessionInput { + s.SessionId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *GetStreamingSessionInput) SetStudioId(v string) *GetStreamingSessionInput { + s.StudioId = &v + return s +} + +type GetStreamingSessionOutput struct { + _ struct{} `type:"structure"` + + Session *StreamingSession `locationName:"session" type:"structure"` +} + +// String returns the string representation +func (s GetStreamingSessionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStreamingSessionOutput) GoString() string { + return s.String() +} + +// SetSession sets the Session field's value. +func (s *GetStreamingSessionOutput) SetSession(v *StreamingSession) *GetStreamingSessionOutput { + s.Session = v + return s +} + +type GetStreamingSessionStreamInput struct { + _ struct{} `type:"structure"` + + // SessionId is a required field + SessionId *string `location:"uri" locationName:"sessionId" type:"string" required:"true"` + + // StreamId is a required field + StreamId *string `location:"uri" locationName:"streamId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetStreamingSessionStreamInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStreamingSessionStreamInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetStreamingSessionStreamInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStreamingSessionStreamInput"} + if s.SessionId == nil { + invalidParams.Add(request.NewErrParamRequired("SessionId")) + } + if s.SessionId != nil && len(*s.SessionId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SessionId", 1)) + } + if s.StreamId == nil { + invalidParams.Add(request.NewErrParamRequired("StreamId")) + } + if s.StreamId != nil && len(*s.StreamId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StreamId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetSessionId sets the SessionId field's value. +func (s *GetStreamingSessionStreamInput) SetSessionId(v string) *GetStreamingSessionStreamInput { + s.SessionId = &v + return s +} + +// SetStreamId sets the StreamId field's value. +func (s *GetStreamingSessionStreamInput) SetStreamId(v string) *GetStreamingSessionStreamInput { + s.StreamId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *GetStreamingSessionStreamInput) SetStudioId(v string) *GetStreamingSessionStreamInput { + s.StudioId = &v + return s +} + +type GetStreamingSessionStreamOutput struct { + _ struct{} `type:"structure"` + + Stream *StreamingSessionStream `locationName:"stream" type:"structure"` +} + +// String returns the string representation +func (s GetStreamingSessionStreamOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStreamingSessionStreamOutput) GoString() string { + return s.String() +} + +// SetStream sets the Stream field's value. +func (s *GetStreamingSessionStreamOutput) SetStream(v *StreamingSessionStream) *GetStreamingSessionStreamOutput { + s.Stream = v + return s +} + +type GetStudioComponentInput struct { + _ struct{} `type:"structure"` + + // StudioComponentId is a required field + StudioComponentId *string `location:"uri" locationName:"studioComponentId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetStudioComponentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStudioComponentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetStudioComponentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStudioComponentInput"} + if s.StudioComponentId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioComponentId")) + } + if s.StudioComponentId != nil && len(*s.StudioComponentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioComponentId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStudioComponentId sets the StudioComponentId field's value. +func (s *GetStudioComponentInput) SetStudioComponentId(v string) *GetStudioComponentInput { + s.StudioComponentId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *GetStudioComponentInput) SetStudioId(v string) *GetStudioComponentInput { + s.StudioId = &v + return s +} + +type GetStudioComponentOutput struct { + _ struct{} `type:"structure"` + + // A network that is used by a studio’s users and workflows, including render + // farm, Active Directory, licensing, and file system. + StudioComponent *StudioComponent `locationName:"studioComponent" type:"structure"` +} + +// String returns the string representation +func (s GetStudioComponentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStudioComponentOutput) GoString() string { + return s.String() +} + +// SetStudioComponent sets the StudioComponent field's value. +func (s *GetStudioComponentOutput) SetStudioComponent(v *StudioComponent) *GetStudioComponentOutput { + s.StudioComponent = v + return s +} + +type GetStudioInput struct { + _ struct{} `type:"structure"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetStudioInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStudioInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetStudioInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStudioInput"} + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStudioId sets the StudioId field's value. +func (s *GetStudioInput) SetStudioId(v string) *GetStudioInput { + s.StudioId = &v + return s +} + +type GetStudioMemberInput struct { + _ struct{} `type:"structure"` + + // PrincipalId is a required field + PrincipalId *string `location:"uri" locationName:"principalId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s GetStudioMemberInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStudioMemberInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetStudioMemberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetStudioMemberInput"} + if s.PrincipalId == nil { + invalidParams.Add(request.NewErrParamRequired("PrincipalId")) + } + if s.PrincipalId != nil && len(*s.PrincipalId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPrincipalId sets the PrincipalId field's value. +func (s *GetStudioMemberInput) SetPrincipalId(v string) *GetStudioMemberInput { + s.PrincipalId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *GetStudioMemberInput) SetStudioId(v string) *GetStudioMemberInput { + s.StudioId = &v + return s +} + +type GetStudioMemberOutput struct { + _ struct{} `type:"structure"` + + Member *StudioMembership `locationName:"member" type:"structure"` +} + +// String returns the string representation +func (s GetStudioMemberOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStudioMemberOutput) GoString() string { + return s.String() +} + +// SetMember sets the Member field's value. +func (s *GetStudioMemberOutput) SetMember(v *StudioMembership) *GetStudioMemberOutput { + s.Member = v + return s +} + +type GetStudioOutput struct { + _ struct{} `type:"structure"` + + Studio *Studio `locationName:"studio" type:"structure"` +} + +// String returns the string representation +func (s GetStudioOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s GetStudioOutput) GoString() string { + return s.String() +} + +// SetStudio sets the Studio field's value. +func (s *GetStudioOutput) SetStudio(v *Studio) *GetStudioOutput { + s.Studio = v + return s +} + +type InternalServerErrorException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + // ExceptionContext is a set of key-value pairs that provide you with more information + // about the error that occurred. For example, when the service returns a 404 + // ResourceNotFound error, ExceptionContext will contain the key `resourceId` + // with the value of resource that was not found. + // + // ExceptionContext enables scripts and other programmatic clients to provide + // for better error handling. + Context map[string]*string `locationName:"context" type:"map"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s InternalServerErrorException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s InternalServerErrorException) GoString() string { + return s.String() +} + +func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error { + return &InternalServerErrorException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerErrorException) Code() string { + return "InternalServerErrorException" +} + +// Message returns the exception's message. +func (s *InternalServerErrorException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerErrorException) OrigErr() error { + return nil +} + +func (s *InternalServerErrorException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerErrorException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerErrorException) RequestID() string { + return s.RespMetadata.RequestID +} + +type LaunchProfile struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"` + + CreatedBy *string `locationName:"createdBy" type:"string"` + + Description *string `locationName:"description" type:"string"` + + Ec2SubnetIds []*string `locationName:"ec2SubnetIds" type:"list"` + + LaunchProfileId *string `locationName:"launchProfileId" type:"string"` + + LaunchProfileProtocolVersions []*string `locationName:"launchProfileProtocolVersions" type:"list"` + + Name *string `locationName:"name" type:"string"` + + State *string `locationName:"state" type:"string" enum:"LaunchProfileState"` + + StatusCode *string `locationName:"statusCode" type:"string" enum:"LaunchProfileStatusCode"` + + StatusMessage *string `locationName:"statusMessage" type:"string"` + + // A configuration for a streaming session. + StreamConfiguration *StreamConfiguration `locationName:"streamConfiguration" type:"structure"` + + StudioComponentIds []*string `locationName:"studioComponentIds" min:"1" type:"list"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"` + + UpdatedBy *string `locationName:"updatedBy" type:"string"` +} + +// String returns the string representation +func (s LaunchProfile) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LaunchProfile) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *LaunchProfile) SetArn(v string) *LaunchProfile { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *LaunchProfile) SetCreatedAt(v time.Time) *LaunchProfile { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *LaunchProfile) SetCreatedBy(v string) *LaunchProfile { + s.CreatedBy = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *LaunchProfile) SetDescription(v string) *LaunchProfile { + s.Description = &v + return s +} + +// SetEc2SubnetIds sets the Ec2SubnetIds field's value. +func (s *LaunchProfile) SetEc2SubnetIds(v []*string) *LaunchProfile { + s.Ec2SubnetIds = v + return s +} + +// SetLaunchProfileId sets the LaunchProfileId field's value. +func (s *LaunchProfile) SetLaunchProfileId(v string) *LaunchProfile { + s.LaunchProfileId = &v + return s +} + +// SetLaunchProfileProtocolVersions sets the LaunchProfileProtocolVersions field's value. +func (s *LaunchProfile) SetLaunchProfileProtocolVersions(v []*string) *LaunchProfile { + s.LaunchProfileProtocolVersions = v + return s +} + +// SetName sets the Name field's value. +func (s *LaunchProfile) SetName(v string) *LaunchProfile { + s.Name = &v + return s +} + +// SetState sets the State field's value. +func (s *LaunchProfile) SetState(v string) *LaunchProfile { + s.State = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *LaunchProfile) SetStatusCode(v string) *LaunchProfile { + s.StatusCode = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *LaunchProfile) SetStatusMessage(v string) *LaunchProfile { + s.StatusMessage = &v + return s +} + +// SetStreamConfiguration sets the StreamConfiguration field's value. +func (s *LaunchProfile) SetStreamConfiguration(v *StreamConfiguration) *LaunchProfile { + s.StreamConfiguration = v + return s +} + +// SetStudioComponentIds sets the StudioComponentIds field's value. +func (s *LaunchProfile) SetStudioComponentIds(v []*string) *LaunchProfile { + s.StudioComponentIds = v + return s +} + +// SetTags sets the Tags field's value. +func (s *LaunchProfile) SetTags(v map[string]*string) *LaunchProfile { + s.Tags = v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *LaunchProfile) SetUpdatedAt(v time.Time) *LaunchProfile { + s.UpdatedAt = &v + return s +} + +// SetUpdatedBy sets the UpdatedBy field's value. +func (s *LaunchProfile) SetUpdatedBy(v string) *LaunchProfile { + s.UpdatedBy = &v + return s +} + +type LaunchProfileInitialization struct { + _ struct{} `type:"structure"` + + ActiveDirectory *LaunchProfileInitializationActiveDirectory `locationName:"activeDirectory" type:"structure"` + + Ec2SecurityGroupIds []*string `locationName:"ec2SecurityGroupIds" min:"1" type:"list"` + + LaunchProfileId *string `locationName:"launchProfileId" type:"string"` + + // The version number of the protocol that is used by the launch profile. The + // only valid version is "2021-03-31". + LaunchProfileProtocolVersion *string `locationName:"launchProfileProtocolVersion" type:"string"` + + // The launch purpose. + LaunchPurpose *string `locationName:"launchPurpose" type:"string"` + + Name *string `locationName:"name" type:"string"` + + Platform *string `locationName:"platform" type:"string" enum:"LaunchProfilePlatform"` + + SystemInitializationScripts []*LaunchProfileInitializationScript `locationName:"systemInitializationScripts" type:"list"` + + UserInitializationScripts []*LaunchProfileInitializationScript `locationName:"userInitializationScripts" type:"list"` +} + +// String returns the string representation +func (s LaunchProfileInitialization) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LaunchProfileInitialization) GoString() string { + return s.String() +} + +// SetActiveDirectory sets the ActiveDirectory field's value. +func (s *LaunchProfileInitialization) SetActiveDirectory(v *LaunchProfileInitializationActiveDirectory) *LaunchProfileInitialization { + s.ActiveDirectory = v + return s +} + +// SetEc2SecurityGroupIds sets the Ec2SecurityGroupIds field's value. +func (s *LaunchProfileInitialization) SetEc2SecurityGroupIds(v []*string) *LaunchProfileInitialization { + s.Ec2SecurityGroupIds = v + return s +} + +// SetLaunchProfileId sets the LaunchProfileId field's value. +func (s *LaunchProfileInitialization) SetLaunchProfileId(v string) *LaunchProfileInitialization { + s.LaunchProfileId = &v + return s +} + +// SetLaunchProfileProtocolVersion sets the LaunchProfileProtocolVersion field's value. +func (s *LaunchProfileInitialization) SetLaunchProfileProtocolVersion(v string) *LaunchProfileInitialization { + s.LaunchProfileProtocolVersion = &v + return s +} + +// SetLaunchPurpose sets the LaunchPurpose field's value. +func (s *LaunchProfileInitialization) SetLaunchPurpose(v string) *LaunchProfileInitialization { + s.LaunchPurpose = &v + return s +} + +// SetName sets the Name field's value. +func (s *LaunchProfileInitialization) SetName(v string) *LaunchProfileInitialization { + s.Name = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *LaunchProfileInitialization) SetPlatform(v string) *LaunchProfileInitialization { + s.Platform = &v + return s +} + +// SetSystemInitializationScripts sets the SystemInitializationScripts field's value. +func (s *LaunchProfileInitialization) SetSystemInitializationScripts(v []*LaunchProfileInitializationScript) *LaunchProfileInitialization { + s.SystemInitializationScripts = v + return s +} + +// SetUserInitializationScripts sets the UserInitializationScripts field's value. +func (s *LaunchProfileInitialization) SetUserInitializationScripts(v []*LaunchProfileInitializationScript) *LaunchProfileInitialization { + s.UserInitializationScripts = v + return s +} + +type LaunchProfileInitializationActiveDirectory struct { + _ struct{} `type:"structure"` + + // A collection of LDAP attributes to apply to Active Directory computer accounts + // that are created for streaming sessions. + ComputerAttributes []*ActiveDirectoryComputerAttribute `locationName:"computerAttributes" type:"list"` + + DirectoryId *string `locationName:"directoryId" type:"string"` + + DirectoryName *string `locationName:"directoryName" type:"string"` + + DnsIpAddresses []*string `locationName:"dnsIpAddresses" type:"list"` + + // The fully-qualified distinguished name of the organizational unit to place + // the computer account in. + OrganizationalUnitDistinguishedName *string `locationName:"organizationalUnitDistinguishedName" min:"1" type:"string"` + + StudioComponentId *string `locationName:"studioComponentId" type:"string"` + + StudioComponentName *string `locationName:"studioComponentName" type:"string"` +} + +// String returns the string representation +func (s LaunchProfileInitializationActiveDirectory) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LaunchProfileInitializationActiveDirectory) GoString() string { + return s.String() +} + +// SetComputerAttributes sets the ComputerAttributes field's value. +func (s *LaunchProfileInitializationActiveDirectory) SetComputerAttributes(v []*ActiveDirectoryComputerAttribute) *LaunchProfileInitializationActiveDirectory { + s.ComputerAttributes = v + return s +} + +// SetDirectoryId sets the DirectoryId field's value. +func (s *LaunchProfileInitializationActiveDirectory) SetDirectoryId(v string) *LaunchProfileInitializationActiveDirectory { + s.DirectoryId = &v + return s +} + +// SetDirectoryName sets the DirectoryName field's value. +func (s *LaunchProfileInitializationActiveDirectory) SetDirectoryName(v string) *LaunchProfileInitializationActiveDirectory { + s.DirectoryName = &v + return s +} + +// SetDnsIpAddresses sets the DnsIpAddresses field's value. +func (s *LaunchProfileInitializationActiveDirectory) SetDnsIpAddresses(v []*string) *LaunchProfileInitializationActiveDirectory { + s.DnsIpAddresses = v + return s +} + +// SetOrganizationalUnitDistinguishedName sets the OrganizationalUnitDistinguishedName field's value. +func (s *LaunchProfileInitializationActiveDirectory) SetOrganizationalUnitDistinguishedName(v string) *LaunchProfileInitializationActiveDirectory { + s.OrganizationalUnitDistinguishedName = &v + return s +} + +// SetStudioComponentId sets the StudioComponentId field's value. +func (s *LaunchProfileInitializationActiveDirectory) SetStudioComponentId(v string) *LaunchProfileInitializationActiveDirectory { + s.StudioComponentId = &v + return s +} + +// SetStudioComponentName sets the StudioComponentName field's value. +func (s *LaunchProfileInitializationActiveDirectory) SetStudioComponentName(v string) *LaunchProfileInitializationActiveDirectory { + s.StudioComponentName = &v + return s +} + +type LaunchProfileInitializationScript struct { + _ struct{} `type:"structure"` + + Script *string `locationName:"script" min:"1" type:"string"` + + StudioComponentId *string `locationName:"studioComponentId" type:"string"` + + StudioComponentName *string `locationName:"studioComponentName" type:"string"` +} + +// String returns the string representation +func (s LaunchProfileInitializationScript) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LaunchProfileInitializationScript) GoString() string { + return s.String() +} + +// SetScript sets the Script field's value. +func (s *LaunchProfileInitializationScript) SetScript(v string) *LaunchProfileInitializationScript { + s.Script = &v + return s +} + +// SetStudioComponentId sets the StudioComponentId field's value. +func (s *LaunchProfileInitializationScript) SetStudioComponentId(v string) *LaunchProfileInitializationScript { + s.StudioComponentId = &v + return s +} + +// SetStudioComponentName sets the StudioComponentName field's value. +func (s *LaunchProfileInitializationScript) SetStudioComponentName(v string) *LaunchProfileInitializationScript { + s.StudioComponentName = &v + return s +} + +type LaunchProfileMembership struct { + _ struct{} `type:"structure"` + + IdentityStoreId *string `locationName:"identityStoreId" type:"string"` + + Persona *string `locationName:"persona" type:"string" enum:"LaunchProfilePersona"` + + PrincipalId *string `locationName:"principalId" type:"string"` +} + +// String returns the string representation +func (s LaunchProfileMembership) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LaunchProfileMembership) GoString() string { + return s.String() +} + +// SetIdentityStoreId sets the IdentityStoreId field's value. +func (s *LaunchProfileMembership) SetIdentityStoreId(v string) *LaunchProfileMembership { + s.IdentityStoreId = &v + return s +} + +// SetPersona sets the Persona field's value. +func (s *LaunchProfileMembership) SetPersona(v string) *LaunchProfileMembership { + s.Persona = &v + return s +} + +// SetPrincipalId sets the PrincipalId field's value. +func (s *LaunchProfileMembership) SetPrincipalId(v string) *LaunchProfileMembership { + s.PrincipalId = &v + return s +} + +// The configuration for a license service that is associated with a studio +// resource. +type LicenseServiceConfiguration struct { + _ struct{} `type:"structure"` + + Endpoint *string `locationName:"endpoint" type:"string"` +} + +// String returns the string representation +func (s LicenseServiceConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s LicenseServiceConfiguration) GoString() string { + return s.String() +} + +// SetEndpoint sets the Endpoint field's value. +func (s *LicenseServiceConfiguration) SetEndpoint(v string) *LicenseServiceConfiguration { + s.Endpoint = &v + return s +} + +type ListEulaAcceptancesInput struct { + _ struct{} `type:"structure"` + + EulaIds []*string `location:"querystring" locationName:"eulaIds" type:"list"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListEulaAcceptancesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEulaAcceptancesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListEulaAcceptancesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListEulaAcceptancesInput"} + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEulaIds sets the EulaIds field's value. +func (s *ListEulaAcceptancesInput) SetEulaIds(v []*string) *ListEulaAcceptancesInput { + s.EulaIds = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEulaAcceptancesInput) SetNextToken(v string) *ListEulaAcceptancesInput { + s.NextToken = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *ListEulaAcceptancesInput) SetStudioId(v string) *ListEulaAcceptancesInput { + s.StudioId = &v + return s +} + +type ListEulaAcceptancesOutput struct { + _ struct{} `type:"structure"` + + EulaAcceptances []*EulaAcceptance `locationName:"eulaAcceptances" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListEulaAcceptancesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEulaAcceptancesOutput) GoString() string { + return s.String() +} + +// SetEulaAcceptances sets the EulaAcceptances field's value. +func (s *ListEulaAcceptancesOutput) SetEulaAcceptances(v []*EulaAcceptance) *ListEulaAcceptancesOutput { + s.EulaAcceptances = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEulaAcceptancesOutput) SetNextToken(v string) *ListEulaAcceptancesOutput { + s.NextToken = &v + return s +} + +type ListEulasInput struct { + _ struct{} `type:"structure"` + + EulaIds []*string `location:"querystring" locationName:"eulaIds" type:"list"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListEulasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEulasInput) GoString() string { + return s.String() +} + +// SetEulaIds sets the EulaIds field's value. +func (s *ListEulasInput) SetEulaIds(v []*string) *ListEulasInput { + s.EulaIds = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEulasInput) SetNextToken(v string) *ListEulasInput { + s.NextToken = &v + return s +} + +type ListEulasOutput struct { + _ struct{} `type:"structure"` + + Eulas []*Eula `locationName:"eulas" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListEulasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListEulasOutput) GoString() string { + return s.String() +} + +// SetEulas sets the Eulas field's value. +func (s *ListEulasOutput) SetEulas(v []*Eula) *ListEulasOutput { + s.Eulas = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListEulasOutput) SetNextToken(v string) *ListEulasOutput { + s.NextToken = &v + return s +} + +type ListLaunchProfileMembersInput struct { + _ struct{} `type:"structure"` + + // LaunchProfileId is a required field + LaunchProfileId *string `location:"uri" locationName:"launchProfileId" type:"string" required:"true"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListLaunchProfileMembersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLaunchProfileMembersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListLaunchProfileMembersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLaunchProfileMembersInput"} + if s.LaunchProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("LaunchProfileId")) + } + if s.LaunchProfileId != nil && len(*s.LaunchProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LaunchProfileId", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLaunchProfileId sets the LaunchProfileId field's value. +func (s *ListLaunchProfileMembersInput) SetLaunchProfileId(v string) *ListLaunchProfileMembersInput { + s.LaunchProfileId = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListLaunchProfileMembersInput) SetMaxResults(v int64) *ListLaunchProfileMembersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLaunchProfileMembersInput) SetNextToken(v string) *ListLaunchProfileMembersInput { + s.NextToken = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *ListLaunchProfileMembersInput) SetStudioId(v string) *ListLaunchProfileMembersInput { + s.StudioId = &v + return s +} + +type ListLaunchProfileMembersOutput struct { + _ struct{} `type:"structure"` + + Members []*LaunchProfileMembership `locationName:"members" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListLaunchProfileMembersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLaunchProfileMembersOutput) GoString() string { + return s.String() +} + +// SetMembers sets the Members field's value. +func (s *ListLaunchProfileMembersOutput) SetMembers(v []*LaunchProfileMembership) *ListLaunchProfileMembersOutput { + s.Members = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLaunchProfileMembersOutput) SetNextToken(v string) *ListLaunchProfileMembersOutput { + s.NextToken = &v + return s +} + +type ListLaunchProfilesInput struct { + _ struct{} `type:"structure"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + PrincipalId *string `location:"querystring" locationName:"principalId" type:"string"` + + States []*string `location:"querystring" locationName:"states" type:"list"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListLaunchProfilesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLaunchProfilesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListLaunchProfilesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListLaunchProfilesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListLaunchProfilesInput) SetMaxResults(v int64) *ListLaunchProfilesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLaunchProfilesInput) SetNextToken(v string) *ListLaunchProfilesInput { + s.NextToken = &v + return s +} + +// SetPrincipalId sets the PrincipalId field's value. +func (s *ListLaunchProfilesInput) SetPrincipalId(v string) *ListLaunchProfilesInput { + s.PrincipalId = &v + return s +} + +// SetStates sets the States field's value. +func (s *ListLaunchProfilesInput) SetStates(v []*string) *ListLaunchProfilesInput { + s.States = v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *ListLaunchProfilesInput) SetStudioId(v string) *ListLaunchProfilesInput { + s.StudioId = &v + return s +} + +type ListLaunchProfilesOutput struct { + _ struct{} `type:"structure"` + + LaunchProfiles []*LaunchProfile `locationName:"launchProfiles" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListLaunchProfilesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListLaunchProfilesOutput) GoString() string { + return s.String() +} + +// SetLaunchProfiles sets the LaunchProfiles field's value. +func (s *ListLaunchProfilesOutput) SetLaunchProfiles(v []*LaunchProfile) *ListLaunchProfilesOutput { + s.LaunchProfiles = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListLaunchProfilesOutput) SetNextToken(v string) *ListLaunchProfilesOutput { + s.NextToken = &v + return s +} + +type ListStreamingImagesInput struct { + _ struct{} `type:"structure"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + Owner *string `location:"querystring" locationName:"owner" type:"string"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListStreamingImagesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStreamingImagesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListStreamingImagesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListStreamingImagesInput"} + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStreamingImagesInput) SetNextToken(v string) *ListStreamingImagesInput { + s.NextToken = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *ListStreamingImagesInput) SetOwner(v string) *ListStreamingImagesInput { + s.Owner = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *ListStreamingImagesInput) SetStudioId(v string) *ListStreamingImagesInput { + s.StudioId = &v + return s +} + +type ListStreamingImagesOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `locationName:"nextToken" type:"string"` + + StreamingImages []*StreamingImage `locationName:"streamingImages" type:"list"` +} + +// String returns the string representation +func (s ListStreamingImagesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStreamingImagesOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStreamingImagesOutput) SetNextToken(v string) *ListStreamingImagesOutput { + s.NextToken = &v + return s +} + +// SetStreamingImages sets the StreamingImages field's value. +func (s *ListStreamingImagesOutput) SetStreamingImages(v []*StreamingImage) *ListStreamingImagesOutput { + s.StreamingImages = v + return s +} + +type ListStreamingSessionsInput struct { + _ struct{} `type:"structure"` + + CreatedBy *string `location:"querystring" locationName:"createdBy" type:"string"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + SessionIds *string `location:"querystring" locationName:"sessionIds" type:"string"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListStreamingSessionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStreamingSessionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListStreamingSessionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListStreamingSessionsInput"} + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *ListStreamingSessionsInput) SetCreatedBy(v string) *ListStreamingSessionsInput { + s.CreatedBy = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStreamingSessionsInput) SetNextToken(v string) *ListStreamingSessionsInput { + s.NextToken = &v + return s +} + +// SetSessionIds sets the SessionIds field's value. +func (s *ListStreamingSessionsInput) SetSessionIds(v string) *ListStreamingSessionsInput { + s.SessionIds = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *ListStreamingSessionsInput) SetStudioId(v string) *ListStreamingSessionsInput { + s.StudioId = &v + return s +} + +type ListStreamingSessionsOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `locationName:"nextToken" type:"string"` + + Sessions []*StreamingSession `locationName:"sessions" type:"list"` +} + +// String returns the string representation +func (s ListStreamingSessionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStreamingSessionsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStreamingSessionsOutput) SetNextToken(v string) *ListStreamingSessionsOutput { + s.NextToken = &v + return s +} + +// SetSessions sets the Sessions field's value. +func (s *ListStreamingSessionsOutput) SetSessions(v []*StreamingSession) *ListStreamingSessionsOutput { + s.Sessions = v + return s +} + +type ListStudioComponentsInput struct { + _ struct{} `type:"structure"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + States []*string `location:"querystring" locationName:"states" type:"list"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` + + Types []*string `location:"querystring" locationName:"types" type:"list"` +} + +// String returns the string representation +func (s ListStudioComponentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStudioComponentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListStudioComponentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListStudioComponentsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListStudioComponentsInput) SetMaxResults(v int64) *ListStudioComponentsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStudioComponentsInput) SetNextToken(v string) *ListStudioComponentsInput { + s.NextToken = &v + return s +} + +// SetStates sets the States field's value. +func (s *ListStudioComponentsInput) SetStates(v []*string) *ListStudioComponentsInput { + s.States = v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *ListStudioComponentsInput) SetStudioId(v string) *ListStudioComponentsInput { + s.StudioId = &v + return s +} + +// SetTypes sets the Types field's value. +func (s *ListStudioComponentsInput) SetTypes(v []*string) *ListStudioComponentsInput { + s.Types = v + return s +} + +type ListStudioComponentsOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `locationName:"nextToken" type:"string"` + + StudioComponents []*StudioComponent `locationName:"studioComponents" type:"list"` +} + +// String returns the string representation +func (s ListStudioComponentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStudioComponentsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStudioComponentsOutput) SetNextToken(v string) *ListStudioComponentsOutput { + s.NextToken = &v + return s +} + +// SetStudioComponents sets the StudioComponents field's value. +func (s *ListStudioComponentsOutput) SetStudioComponents(v []*StudioComponent) *ListStudioComponentsOutput { + s.StudioComponents = v + return s +} + +type ListStudioMembersInput struct { + _ struct{} `type:"structure"` + + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListStudioMembersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStudioMembersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListStudioMembersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListStudioMembersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListStudioMembersInput) SetMaxResults(v int64) *ListStudioMembersInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStudioMembersInput) SetNextToken(v string) *ListStudioMembersInput { + s.NextToken = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *ListStudioMembersInput) SetStudioId(v string) *ListStudioMembersInput { + s.StudioId = &v + return s +} + +type ListStudioMembersOutput struct { + _ struct{} `type:"structure"` + + Members []*StudioMembership `locationName:"members" type:"list"` + + NextToken *string `locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListStudioMembersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStudioMembersOutput) GoString() string { + return s.String() +} + +// SetMembers sets the Members field's value. +func (s *ListStudioMembersOutput) SetMembers(v []*StudioMembership) *ListStudioMembersOutput { + s.Members = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStudioMembersOutput) SetNextToken(v string) *ListStudioMembersOutput { + s.NextToken = &v + return s +} + +type ListStudiosInput struct { + _ struct{} `type:"structure"` + + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +} + +// String returns the string representation +func (s ListStudiosInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStudiosInput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStudiosInput) SetNextToken(v string) *ListStudiosInput { + s.NextToken = &v + return s +} + +type ListStudiosOutput struct { + _ struct{} `type:"structure"` + + NextToken *string `locationName:"nextToken" type:"string"` + + Studios []*Studio `locationName:"studios" type:"list"` +} + +// String returns the string representation +func (s ListStudiosOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListStudiosOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListStudiosOutput) SetNextToken(v string) *ListStudiosOutput { + s.NextToken = &v + return s +} + +// SetStudios sets the Studios field's value. +func (s *ListStudiosOutput) SetStudios(v []*Studio) *ListStudiosOutput { + s.Studios = v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` +} + +// String returns the string representation +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTagsForResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v + return s +} + +type ListTagsForResourceOutput struct { + _ struct{} `type:"structure"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ListTagsForResourceOutput) GoString() string { + return s.String() +} + +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v + return s +} + +type NewLaunchProfileMember struct { + _ struct{} `type:"structure"` + + // Persona is a required field + Persona *string `locationName:"persona" type:"string" required:"true" enum:"LaunchProfilePersona"` + + // PrincipalId is a required field + PrincipalId *string `locationName:"principalId" type:"string" required:"true"` +} + +// String returns the string representation +func (s NewLaunchProfileMember) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NewLaunchProfileMember) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NewLaunchProfileMember) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NewLaunchProfileMember"} + if s.Persona == nil { + invalidParams.Add(request.NewErrParamRequired("Persona")) + } + if s.PrincipalId == nil { + invalidParams.Add(request.NewErrParamRequired("PrincipalId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPersona sets the Persona field's value. +func (s *NewLaunchProfileMember) SetPersona(v string) *NewLaunchProfileMember { + s.Persona = &v + return s +} + +// SetPrincipalId sets the PrincipalId field's value. +func (s *NewLaunchProfileMember) SetPrincipalId(v string) *NewLaunchProfileMember { + s.PrincipalId = &v + return s +} + +type NewStudioMember struct { + _ struct{} `type:"structure"` + + // Persona is a required field + Persona *string `locationName:"persona" type:"string" required:"true" enum:"StudioPersona"` + + // PrincipalId is a required field + PrincipalId *string `locationName:"principalId" type:"string" required:"true"` +} + +// String returns the string representation +func (s NewStudioMember) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s NewStudioMember) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *NewStudioMember) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "NewStudioMember"} + if s.Persona == nil { + invalidParams.Add(request.NewErrParamRequired("Persona")) + } + if s.PrincipalId == nil { + invalidParams.Add(request.NewErrParamRequired("PrincipalId")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetPersona sets the Persona field's value. +func (s *NewStudioMember) SetPersona(v string) *NewStudioMember { + s.Persona = &v + return s +} + +// SetPrincipalId sets the PrincipalId field's value. +func (s *NewStudioMember) SetPrincipalId(v string) *NewStudioMember { + s.PrincipalId = &v + return s +} + +type PutLaunchProfileMembersInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // IdentityStoreId is a required field + IdentityStoreId *string `locationName:"identityStoreId" type:"string" required:"true"` + + // LaunchProfileId is a required field + LaunchProfileId *string `location:"uri" locationName:"launchProfileId" type:"string" required:"true"` + + // Members is a required field + Members []*NewLaunchProfileMember `locationName:"members" type:"list" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutLaunchProfileMembersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutLaunchProfileMembersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutLaunchProfileMembersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutLaunchProfileMembersInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.IdentityStoreId == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityStoreId")) + } + if s.LaunchProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("LaunchProfileId")) + } + if s.LaunchProfileId != nil && len(*s.LaunchProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LaunchProfileId", 1)) + } + if s.Members == nil { + invalidParams.Add(request.NewErrParamRequired("Members")) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + if s.Members != nil { + for i, v := range s.Members { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Members", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *PutLaunchProfileMembersInput) SetClientToken(v string) *PutLaunchProfileMembersInput { + s.ClientToken = &v + return s +} + +// SetIdentityStoreId sets the IdentityStoreId field's value. +func (s *PutLaunchProfileMembersInput) SetIdentityStoreId(v string) *PutLaunchProfileMembersInput { + s.IdentityStoreId = &v + return s +} + +// SetLaunchProfileId sets the LaunchProfileId field's value. +func (s *PutLaunchProfileMembersInput) SetLaunchProfileId(v string) *PutLaunchProfileMembersInput { + s.LaunchProfileId = &v + return s +} + +// SetMembers sets the Members field's value. +func (s *PutLaunchProfileMembersInput) SetMembers(v []*NewLaunchProfileMember) *PutLaunchProfileMembersInput { + s.Members = v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *PutLaunchProfileMembersInput) SetStudioId(v string) *PutLaunchProfileMembersInput { + s.StudioId = &v + return s +} + +type PutLaunchProfileMembersOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutLaunchProfileMembersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutLaunchProfileMembersOutput) GoString() string { + return s.String() +} + +type PutStudioMembersInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // IdentityStoreId is a required field + IdentityStoreId *string `locationName:"identityStoreId" type:"string" required:"true"` + + // Members is a required field + Members []*NewStudioMember `locationName:"members" type:"list" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s PutStudioMembersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutStudioMembersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutStudioMembersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutStudioMembersInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.IdentityStoreId == nil { + invalidParams.Add(request.NewErrParamRequired("IdentityStoreId")) + } + if s.Members == nil { + invalidParams.Add(request.NewErrParamRequired("Members")) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + if s.Members != nil { + for i, v := range s.Members { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Members", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *PutStudioMembersInput) SetClientToken(v string) *PutStudioMembersInput { + s.ClientToken = &v + return s +} + +// SetIdentityStoreId sets the IdentityStoreId field's value. +func (s *PutStudioMembersInput) SetIdentityStoreId(v string) *PutStudioMembersInput { + s.IdentityStoreId = &v + return s +} + +// SetMembers sets the Members field's value. +func (s *PutStudioMembersInput) SetMembers(v []*NewStudioMember) *PutStudioMembersInput { + s.Members = v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *PutStudioMembersInput) SetStudioId(v string) *PutStudioMembersInput { + s.StudioId = &v + return s +} + +type PutStudioMembersOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s PutStudioMembersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s PutStudioMembersOutput) GoString() string { + return s.String() +} + +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + // ExceptionContext is a set of key-value pairs that provide you with more information + // about the error that occurred. For example, when the service returns a 404 + // ResourceNotFound error, ExceptionContext will contain the key `resourceId` + // with the value of resource that was not found. + // + // ExceptionContext enables scripts and other programmatic clients to provide + // for better error handling. + Context map[string]*string `locationName:"context" type:"map"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ResourceNotFoundException) GoString() string { + return s.String() +} + +func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { + return &ResourceNotFoundException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ResourceNotFoundException) Code() string { + return "ResourceNotFoundException" +} + +// Message returns the exception's message. +func (s *ResourceNotFoundException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFoundException) OrigErr() error { + return nil +} + +func (s *ResourceNotFoundException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFoundException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFoundException) RequestID() string { + return s.RespMetadata.RequestID +} + +// A parameter for a studio component script, in the form of a key:value pair. +type ScriptParameterKeyValue struct { + _ struct{} `type:"structure"` + + // A script parameter key. + Key *string `locationName:"key" min:"1" type:"string"` + + // A script parameter value. + Value *string `locationName:"value" min:"1" type:"string"` +} + +// String returns the string representation +func (s ScriptParameterKeyValue) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ScriptParameterKeyValue) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ScriptParameterKeyValue) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ScriptParameterKeyValue"} + if s.Key != nil && len(*s.Key) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Key", 1)) + } + if s.Value != nil && len(*s.Value) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKey sets the Key field's value. +func (s *ScriptParameterKeyValue) SetKey(v string) *ScriptParameterKeyValue { + s.Key = &v + return s +} + +// SetValue sets the Value field's value. +func (s *ScriptParameterKeyValue) SetValue(v string) *ScriptParameterKeyValue { + s.Value = &v + return s +} + +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + // ExceptionContext is a set of key-value pairs that provide you with more information + // about the error that occurred. For example, when the service returns a 404 + // ResourceNotFound error, ExceptionContext will contain the key `resourceId` + // with the value of resource that was not found. + // + // ExceptionContext enables scripts and other programmatic clients to provide + // for better error handling. + Context map[string]*string `locationName:"context" type:"map"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ServiceQuotaExceededException) GoString() string { + return s.String() +} + +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" +} + +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil +} + +func (s *ServiceQuotaExceededException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + +// The configuration for a shared file storage system that is associated with +// a studio resource. +type SharedFileSystemConfiguration struct { + _ struct{} `type:"structure"` + + Endpoint *string `locationName:"endpoint" type:"string"` + + FileSystemId *string `locationName:"fileSystemId" type:"string"` + + LinuxMountPoint *string `locationName:"linuxMountPoint" type:"string"` + + ShareName *string `locationName:"shareName" type:"string"` + + WindowsMountDrive *string `locationName:"windowsMountDrive" type:"string"` +} + +// String returns the string representation +func (s SharedFileSystemConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s SharedFileSystemConfiguration) GoString() string { + return s.String() +} + +// SetEndpoint sets the Endpoint field's value. +func (s *SharedFileSystemConfiguration) SetEndpoint(v string) *SharedFileSystemConfiguration { + s.Endpoint = &v + return s +} + +// SetFileSystemId sets the FileSystemId field's value. +func (s *SharedFileSystemConfiguration) SetFileSystemId(v string) *SharedFileSystemConfiguration { + s.FileSystemId = &v + return s +} + +// SetLinuxMountPoint sets the LinuxMountPoint field's value. +func (s *SharedFileSystemConfiguration) SetLinuxMountPoint(v string) *SharedFileSystemConfiguration { + s.LinuxMountPoint = &v + return s +} + +// SetShareName sets the ShareName field's value. +func (s *SharedFileSystemConfiguration) SetShareName(v string) *SharedFileSystemConfiguration { + s.ShareName = &v + return s +} + +// SetWindowsMountDrive sets the WindowsMountDrive field's value. +func (s *SharedFileSystemConfiguration) SetWindowsMountDrive(v string) *SharedFileSystemConfiguration { + s.WindowsMountDrive = &v + return s +} + +type StartStudioSSOConfigurationRepairInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s StartStudioSSOConfigurationRepairInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartStudioSSOConfigurationRepairInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartStudioSSOConfigurationRepairInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartStudioSSOConfigurationRepairInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *StartStudioSSOConfigurationRepairInput) SetClientToken(v string) *StartStudioSSOConfigurationRepairInput { + s.ClientToken = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *StartStudioSSOConfigurationRepairInput) SetStudioId(v string) *StartStudioSSOConfigurationRepairInput { + s.StudioId = &v + return s +} + +type StartStudioSSOConfigurationRepairOutput struct { + _ struct{} `type:"structure"` + + Studio *Studio `locationName:"studio" type:"structure"` +} + +// String returns the string representation +func (s StartStudioSSOConfigurationRepairOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StartStudioSSOConfigurationRepairOutput) GoString() string { + return s.String() +} + +// SetStudio sets the Studio field's value. +func (s *StartStudioSSOConfigurationRepairOutput) SetStudio(v *Studio) *StartStudioSSOConfigurationRepairOutput { + s.Studio = v + return s +} + +// A configuration for a streaming session. +type StreamConfiguration struct { + _ struct{} `type:"structure"` + + ClipboardMode *string `locationName:"clipboardMode" type:"string" enum:"StreamingClipboardMode"` + + // The EC2 instance types that users can select from when launching a streaming + // session with this launch profile. + Ec2InstanceTypes []*string `locationName:"ec2InstanceTypes" min:"1" type:"list"` + + MaxSessionLengthInMinutes *int64 `locationName:"maxSessionLengthInMinutes" min:"1" type:"integer"` + + // A list of streaming image IDs that users can select from when launching a + // streaming session with this launch profile. + StreamingImageIds []*string `locationName:"streamingImageIds" type:"list"` +} + +// String returns the string representation +func (s StreamConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StreamConfiguration) GoString() string { + return s.String() +} + +// SetClipboardMode sets the ClipboardMode field's value. +func (s *StreamConfiguration) SetClipboardMode(v string) *StreamConfiguration { + s.ClipboardMode = &v + return s +} + +// SetEc2InstanceTypes sets the Ec2InstanceTypes field's value. +func (s *StreamConfiguration) SetEc2InstanceTypes(v []*string) *StreamConfiguration { + s.Ec2InstanceTypes = v + return s +} + +// SetMaxSessionLengthInMinutes sets the MaxSessionLengthInMinutes field's value. +func (s *StreamConfiguration) SetMaxSessionLengthInMinutes(v int64) *StreamConfiguration { + s.MaxSessionLengthInMinutes = &v + return s +} + +// SetStreamingImageIds sets the StreamingImageIds field's value. +func (s *StreamConfiguration) SetStreamingImageIds(v []*string) *StreamConfiguration { + s.StreamingImageIds = v + return s +} + +type StreamConfigurationCreate struct { + _ struct{} `type:"structure"` + + // ClipboardMode is a required field + ClipboardMode *string `locationName:"clipboardMode" type:"string" required:"true" enum:"StreamingClipboardMode"` + + // The EC2 instance types that users can select from when launching a streaming + // session with this launch profile. + // + // Ec2InstanceTypes is a required field + Ec2InstanceTypes []*string `locationName:"ec2InstanceTypes" min:"1" type:"list" required:"true"` + + MaxSessionLengthInMinutes *int64 `locationName:"maxSessionLengthInMinutes" min:"1" type:"integer"` + + // A list of streaming image IDs that users can select from when launching a + // streaming session with this launch profile. + // + // StreamingImageIds is a required field + StreamingImageIds []*string `locationName:"streamingImageIds" type:"list" required:"true"` +} + +// String returns the string representation +func (s StreamConfigurationCreate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StreamConfigurationCreate) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StreamConfigurationCreate) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StreamConfigurationCreate"} + if s.ClipboardMode == nil { + invalidParams.Add(request.NewErrParamRequired("ClipboardMode")) + } + if s.Ec2InstanceTypes == nil { + invalidParams.Add(request.NewErrParamRequired("Ec2InstanceTypes")) + } + if s.Ec2InstanceTypes != nil && len(s.Ec2InstanceTypes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Ec2InstanceTypes", 1)) + } + if s.MaxSessionLengthInMinutes != nil && *s.MaxSessionLengthInMinutes < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxSessionLengthInMinutes", 1)) + } + if s.StreamingImageIds == nil { + invalidParams.Add(request.NewErrParamRequired("StreamingImageIds")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClipboardMode sets the ClipboardMode field's value. +func (s *StreamConfigurationCreate) SetClipboardMode(v string) *StreamConfigurationCreate { + s.ClipboardMode = &v + return s +} + +// SetEc2InstanceTypes sets the Ec2InstanceTypes field's value. +func (s *StreamConfigurationCreate) SetEc2InstanceTypes(v []*string) *StreamConfigurationCreate { + s.Ec2InstanceTypes = v + return s +} + +// SetMaxSessionLengthInMinutes sets the MaxSessionLengthInMinutes field's value. +func (s *StreamConfigurationCreate) SetMaxSessionLengthInMinutes(v int64) *StreamConfigurationCreate { + s.MaxSessionLengthInMinutes = &v + return s +} + +// SetStreamingImageIds sets the StreamingImageIds field's value. +func (s *StreamConfigurationCreate) SetStreamingImageIds(v []*string) *StreamConfigurationCreate { + s.StreamingImageIds = v + return s +} + +type StreamingImage struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + // The description. + Description *string `locationName:"description" type:"string"` + + Ec2ImageId *string `locationName:"ec2ImageId" type:"string"` + + EncryptionConfiguration *StreamingImageEncryptionConfiguration `locationName:"encryptionConfiguration" type:"structure"` + + EulaIds []*string `locationName:"eulaIds" type:"list"` + + // A friendly name for a streaming image resource. + Name *string `locationName:"name" type:"string"` + + // StreamingImageOwner is the owner of a particular streaming image. + // + // This string is either the studioId that contains the streaming image, or + // the word 'AMAZON' for images provided by Nimble Studio. + Owner *string `locationName:"owner" type:"string"` + + // The platform of this Streaming Image, either WINDOWS or LINUX. + Platform *string `locationName:"platform" type:"string"` + + State *string `locationName:"state" type:"string" enum:"StreamingImageState"` + + // The status code. + StatusCode *string `locationName:"statusCode" type:"string" enum:"StreamingImageStatusCode"` + + StatusMessage *string `locationName:"statusMessage" type:"string"` + + StreamingImageId *string `locationName:"streamingImageId" type:"string"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s StreamingImage) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StreamingImage) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *StreamingImage) SetArn(v string) *StreamingImage { + s.Arn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *StreamingImage) SetDescription(v string) *StreamingImage { + s.Description = &v + return s +} + +// SetEc2ImageId sets the Ec2ImageId field's value. +func (s *StreamingImage) SetEc2ImageId(v string) *StreamingImage { + s.Ec2ImageId = &v + return s +} + +// SetEncryptionConfiguration sets the EncryptionConfiguration field's value. +func (s *StreamingImage) SetEncryptionConfiguration(v *StreamingImageEncryptionConfiguration) *StreamingImage { + s.EncryptionConfiguration = v + return s +} + +// SetEulaIds sets the EulaIds field's value. +func (s *StreamingImage) SetEulaIds(v []*string) *StreamingImage { + s.EulaIds = v + return s +} + +// SetName sets the Name field's value. +func (s *StreamingImage) SetName(v string) *StreamingImage { + s.Name = &v + return s +} + +// SetOwner sets the Owner field's value. +func (s *StreamingImage) SetOwner(v string) *StreamingImage { + s.Owner = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *StreamingImage) SetPlatform(v string) *StreamingImage { + s.Platform = &v + return s +} + +// SetState sets the State field's value. +func (s *StreamingImage) SetState(v string) *StreamingImage { + s.State = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *StreamingImage) SetStatusCode(v string) *StreamingImage { + s.StatusCode = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *StreamingImage) SetStatusMessage(v string) *StreamingImage { + s.StatusMessage = &v + return s +} + +// SetStreamingImageId sets the StreamingImageId field's value. +func (s *StreamingImage) SetStreamingImageId(v string) *StreamingImage { + s.StreamingImageId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StreamingImage) SetTags(v map[string]*string) *StreamingImage { + s.Tags = v + return s +} + +type StreamingImageEncryptionConfiguration struct { + _ struct{} `type:"structure"` + + KeyArn *string `locationName:"keyArn" min:"4" type:"string"` + + // KeyType is a required field + KeyType *string `locationName:"keyType" type:"string" required:"true" enum:"StreamingImageEncryptionConfigurationKeyType"` +} + +// String returns the string representation +func (s StreamingImageEncryptionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StreamingImageEncryptionConfiguration) GoString() string { + return s.String() +} + +// SetKeyArn sets the KeyArn field's value. +func (s *StreamingImageEncryptionConfiguration) SetKeyArn(v string) *StreamingImageEncryptionConfiguration { + s.KeyArn = &v + return s +} + +// SetKeyType sets the KeyType field's value. +func (s *StreamingImageEncryptionConfiguration) SetKeyType(v string) *StreamingImageEncryptionConfiguration { + s.KeyType = &v + return s +} + +type StreamingSession struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"` + + CreatedBy *string `locationName:"createdBy" type:"string"` + + Ec2InstanceType *string `locationName:"ec2InstanceType" type:"string"` + + LaunchProfileId *string `locationName:"launchProfileId" type:"string"` + + // The streaming image session ID. + SessionId *string `locationName:"sessionId" type:"string"` + + // The streaming session state. + State *string `locationName:"state" type:"string" enum:"StreamingSessionState"` + + StatusCode *string `locationName:"statusCode" type:"string" enum:"StreamingSessionStatusCode"` + + StatusMessage *string `locationName:"statusMessage" type:"string"` + + StreamingImageId *string `locationName:"streamingImageId" type:"string"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + TerminateAt *time.Time `locationName:"terminateAt" type:"timestamp" timestampFormat:"iso8601"` + + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"` + + UpdatedBy *string `locationName:"updatedBy" type:"string"` +} + +// String returns the string representation +func (s StreamingSession) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StreamingSession) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *StreamingSession) SetArn(v string) *StreamingSession { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *StreamingSession) SetCreatedAt(v time.Time) *StreamingSession { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *StreamingSession) SetCreatedBy(v string) *StreamingSession { + s.CreatedBy = &v + return s +} + +// SetEc2InstanceType sets the Ec2InstanceType field's value. +func (s *StreamingSession) SetEc2InstanceType(v string) *StreamingSession { + s.Ec2InstanceType = &v + return s +} + +// SetLaunchProfileId sets the LaunchProfileId field's value. +func (s *StreamingSession) SetLaunchProfileId(v string) *StreamingSession { + s.LaunchProfileId = &v + return s +} + +// SetSessionId sets the SessionId field's value. +func (s *StreamingSession) SetSessionId(v string) *StreamingSession { + s.SessionId = &v + return s +} + +// SetState sets the State field's value. +func (s *StreamingSession) SetState(v string) *StreamingSession { + s.State = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *StreamingSession) SetStatusCode(v string) *StreamingSession { + s.StatusCode = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *StreamingSession) SetStatusMessage(v string) *StreamingSession { + s.StatusMessage = &v + return s +} + +// SetStreamingImageId sets the StreamingImageId field's value. +func (s *StreamingSession) SetStreamingImageId(v string) *StreamingSession { + s.StreamingImageId = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StreamingSession) SetTags(v map[string]*string) *StreamingSession { + s.Tags = v + return s +} + +// SetTerminateAt sets the TerminateAt field's value. +func (s *StreamingSession) SetTerminateAt(v time.Time) *StreamingSession { + s.TerminateAt = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *StreamingSession) SetUpdatedAt(v time.Time) *StreamingSession { + s.UpdatedAt = &v + return s +} + +// SetUpdatedBy sets the UpdatedBy field's value. +func (s *StreamingSession) SetUpdatedBy(v string) *StreamingSession { + s.UpdatedBy = &v + return s +} + +type StreamingSessionStream struct { + _ struct{} `type:"structure"` + + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"` + + CreatedBy *string `locationName:"createdBy" type:"string"` + + ExpiresAt *time.Time `locationName:"expiresAt" type:"timestamp" timestampFormat:"iso8601"` + + State *string `locationName:"state" type:"string" enum:"StreamingSessionStreamState"` + + StatusCode *string `locationName:"statusCode" type:"string" enum:"StreamingSessionStreamStatusCode"` + + StreamId *string `locationName:"streamId" type:"string"` + + Url *string `locationName:"url" type:"string"` +} + +// String returns the string representation +func (s StreamingSessionStream) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StreamingSessionStream) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *StreamingSessionStream) SetCreatedAt(v time.Time) *StreamingSessionStream { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *StreamingSessionStream) SetCreatedBy(v string) *StreamingSessionStream { + s.CreatedBy = &v + return s +} + +// SetExpiresAt sets the ExpiresAt field's value. +func (s *StreamingSessionStream) SetExpiresAt(v time.Time) *StreamingSessionStream { + s.ExpiresAt = &v + return s +} + +// SetState sets the State field's value. +func (s *StreamingSessionStream) SetState(v string) *StreamingSessionStream { + s.State = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *StreamingSessionStream) SetStatusCode(v string) *StreamingSessionStream { + s.StatusCode = &v + return s +} + +// SetStreamId sets the StreamId field's value. +func (s *StreamingSessionStream) SetStreamId(v string) *StreamingSessionStream { + s.StreamId = &v + return s +} + +// SetUrl sets the Url field's value. +func (s *StreamingSessionStream) SetUrl(v string) *StreamingSessionStream { + s.Url = &v + return s +} + +type Studio struct { + _ struct{} `type:"structure"` + + AdminRoleArn *string `locationName:"adminRoleArn" type:"string"` + + Arn *string `locationName:"arn" type:"string"` + + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"` + + DisplayName *string `locationName:"displayName" type:"string"` + + HomeRegion *string `locationName:"homeRegion" type:"string"` + + SsoClientId *string `locationName:"ssoClientId" type:"string"` + + State *string `locationName:"state" type:"string" enum:"StudioState"` + + // The status code. + StatusCode *string `locationName:"statusCode" type:"string" enum:"StudioStatusCode"` + + StatusMessage *string `locationName:"statusMessage" type:"string"` + + // Configuration of the encryption method that is used for the studio. + StudioEncryptionConfiguration *StudioEncryptionConfiguration `locationName:"studioEncryptionConfiguration" type:"structure"` + + StudioId *string `locationName:"studioId" type:"string"` + + StudioName *string `locationName:"studioName" min:"3" type:"string"` + + StudioUrl *string `locationName:"studioUrl" type:"string"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"` + + UserRoleArn *string `locationName:"userRoleArn" type:"string"` +} + +// String returns the string representation +func (s Studio) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s Studio) GoString() string { + return s.String() +} + +// SetAdminRoleArn sets the AdminRoleArn field's value. +func (s *Studio) SetAdminRoleArn(v string) *Studio { + s.AdminRoleArn = &v + return s +} + +// SetArn sets the Arn field's value. +func (s *Studio) SetArn(v string) *Studio { + s.Arn = &v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *Studio) SetCreatedAt(v time.Time) *Studio { + s.CreatedAt = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *Studio) SetDisplayName(v string) *Studio { + s.DisplayName = &v + return s +} + +// SetHomeRegion sets the HomeRegion field's value. +func (s *Studio) SetHomeRegion(v string) *Studio { + s.HomeRegion = &v + return s +} + +// SetSsoClientId sets the SsoClientId field's value. +func (s *Studio) SetSsoClientId(v string) *Studio { + s.SsoClientId = &v + return s +} + +// SetState sets the State field's value. +func (s *Studio) SetState(v string) *Studio { + s.State = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *Studio) SetStatusCode(v string) *Studio { + s.StatusCode = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *Studio) SetStatusMessage(v string) *Studio { + s.StatusMessage = &v + return s +} + +// SetStudioEncryptionConfiguration sets the StudioEncryptionConfiguration field's value. +func (s *Studio) SetStudioEncryptionConfiguration(v *StudioEncryptionConfiguration) *Studio { + s.StudioEncryptionConfiguration = v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *Studio) SetStudioId(v string) *Studio { + s.StudioId = &v + return s +} + +// SetStudioName sets the StudioName field's value. +func (s *Studio) SetStudioName(v string) *Studio { + s.StudioName = &v + return s +} + +// SetStudioUrl sets the StudioUrl field's value. +func (s *Studio) SetStudioUrl(v string) *Studio { + s.StudioUrl = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *Studio) SetTags(v map[string]*string) *Studio { + s.Tags = v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *Studio) SetUpdatedAt(v time.Time) *Studio { + s.UpdatedAt = &v + return s +} + +// SetUserRoleArn sets the UserRoleArn field's value. +func (s *Studio) SetUserRoleArn(v string) *Studio { + s.UserRoleArn = &v + return s +} + +// A network that is used by a studio’s users and workflows, including render +// farm, Active Directory, licensing, and file system. +type StudioComponent struct { + _ struct{} `type:"structure"` + + Arn *string `locationName:"arn" type:"string"` + + // The configuration of the studio component, based on component type. + Configuration *StudioComponentConfiguration `locationName:"configuration" type:"structure"` + + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"` + + CreatedBy *string `locationName:"createdBy" type:"string"` + + Description *string `locationName:"description" type:"string"` + + Ec2SecurityGroupIds []*string `locationName:"ec2SecurityGroupIds" min:"1" type:"list"` + + InitializationScripts []*StudioComponentInitializationScript `locationName:"initializationScripts" type:"list"` + + Name *string `locationName:"name" type:"string"` + + ScriptParameters []*ScriptParameterKeyValue `locationName:"scriptParameters" type:"list"` + + // The current state of the studio component resource. + // + // While a studio component is being created, modified, or deleted, its state + // will equal "CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS", or "DELETE_IN_PROGRESS" + // + // These are called 'transition states'. + // + // No modifications may be made to the studio component while it is in a transition + // state. + // + // If creation of the resource fails, the state will change to `CREATE_FAILED`. + // The resource StatusCode and StatusMessage will provide more information of + // why creation failed. The resource in this state will automatically be deleted + // from your account after a period of time. + // + // If updating the resource fails, the state will change to `UPDATE_FAILED`. + // The resource StatusCode and StatusMessage will provide more information of + // why the update failed. The resource will be returned to the state it was + // in when the update request was invoked. + // + // If deleting the resource fails, the state will change to `DELETE_FAILED`. + // The resource StatusCode and StatusMessage will provide more information of + // why the update failed. The resource will be returned to the state it was + // in when the update request was invoked. After the resource is deleted successfully, + // it will change to the "DELETED" state. The resource will no longer count + // against service quotas and cannot be used or acted upon any futher. It will + // be removed from your account after a period of time. + State *string `locationName:"state" type:"string" enum:"StudioComponentState"` + + // The current status of the studio component resource. + // + // When the resource is in the 'READY' state, the status code signals what the + // last mutation made to the resource was. + // + // When the resource is in a CREATE_FAILED/UPDATE_FAILED/DELETE_FAILED state, + // the status code signals what went wrong and why the mutation failed. + StatusCode *string `locationName:"statusCode" type:"string" enum:"StudioComponentStatusCode"` + + StatusMessage *string `locationName:"statusMessage" type:"string"` + + StudioComponentId *string `locationName:"studioComponentId" type:"string"` + + Subtype *string `locationName:"subtype" type:"string" enum:"StudioComponentSubtype"` + + Tags map[string]*string `locationName:"tags" type:"map"` + + Type *string `locationName:"type" type:"string" enum:"StudioComponentType"` + + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"` + + UpdatedBy *string `locationName:"updatedBy" type:"string"` +} + +// String returns the string representation +func (s StudioComponent) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StudioComponent) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *StudioComponent) SetArn(v string) *StudioComponent { + s.Arn = &v + return s +} + +// SetConfiguration sets the Configuration field's value. +func (s *StudioComponent) SetConfiguration(v *StudioComponentConfiguration) *StudioComponent { + s.Configuration = v + return s +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *StudioComponent) SetCreatedAt(v time.Time) *StudioComponent { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *StudioComponent) SetCreatedBy(v string) *StudioComponent { + s.CreatedBy = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *StudioComponent) SetDescription(v string) *StudioComponent { + s.Description = &v + return s +} + +// SetEc2SecurityGroupIds sets the Ec2SecurityGroupIds field's value. +func (s *StudioComponent) SetEc2SecurityGroupIds(v []*string) *StudioComponent { + s.Ec2SecurityGroupIds = v + return s +} + +// SetInitializationScripts sets the InitializationScripts field's value. +func (s *StudioComponent) SetInitializationScripts(v []*StudioComponentInitializationScript) *StudioComponent { + s.InitializationScripts = v + return s +} + +// SetName sets the Name field's value. +func (s *StudioComponent) SetName(v string) *StudioComponent { + s.Name = &v + return s +} + +// SetScriptParameters sets the ScriptParameters field's value. +func (s *StudioComponent) SetScriptParameters(v []*ScriptParameterKeyValue) *StudioComponent { + s.ScriptParameters = v + return s +} + +// SetState sets the State field's value. +func (s *StudioComponent) SetState(v string) *StudioComponent { + s.State = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *StudioComponent) SetStatusCode(v string) *StudioComponent { + s.StatusCode = &v + return s +} + +// SetStatusMessage sets the StatusMessage field's value. +func (s *StudioComponent) SetStatusMessage(v string) *StudioComponent { + s.StatusMessage = &v + return s +} + +// SetStudioComponentId sets the StudioComponentId field's value. +func (s *StudioComponent) SetStudioComponentId(v string) *StudioComponent { + s.StudioComponentId = &v + return s +} + +// SetSubtype sets the Subtype field's value. +func (s *StudioComponent) SetSubtype(v string) *StudioComponent { + s.Subtype = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *StudioComponent) SetTags(v map[string]*string) *StudioComponent { + s.Tags = v + return s +} + +// SetType sets the Type field's value. +func (s *StudioComponent) SetType(v string) *StudioComponent { + s.Type = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *StudioComponent) SetUpdatedAt(v time.Time) *StudioComponent { + s.UpdatedAt = &v + return s +} + +// SetUpdatedBy sets the UpdatedBy field's value. +func (s *StudioComponent) SetUpdatedBy(v string) *StudioComponent { + s.UpdatedBy = &v + return s +} + +// The configuration of the studio component, based on component type. +type StudioComponentConfiguration struct { + _ struct{} `type:"structure"` + + // The configuration for a Microsoft Active Directory (Microsoft AD) studio + // resource. + ActiveDirectoryConfiguration *ActiveDirectoryConfiguration `locationName:"activeDirectoryConfiguration" type:"structure"` + + // The configuration for a render farm that is associated with a studio resource. + ComputeFarmConfiguration *ComputeFarmConfiguration `locationName:"computeFarmConfiguration" type:"structure"` + + // The configuration for a license service that is associated with a studio + // resource. + LicenseServiceConfiguration *LicenseServiceConfiguration `locationName:"licenseServiceConfiguration" type:"structure"` + + // The configuration for a shared file storage system that is associated with + // a studio resource. + SharedFileSystemConfiguration *SharedFileSystemConfiguration `locationName:"sharedFileSystemConfiguration" type:"structure"` +} + +// String returns the string representation +func (s StudioComponentConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StudioComponentConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StudioComponentConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StudioComponentConfiguration"} + if s.ActiveDirectoryConfiguration != nil { + if err := s.ActiveDirectoryConfiguration.Validate(); err != nil { + invalidParams.AddNested("ActiveDirectoryConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetActiveDirectoryConfiguration sets the ActiveDirectoryConfiguration field's value. +func (s *StudioComponentConfiguration) SetActiveDirectoryConfiguration(v *ActiveDirectoryConfiguration) *StudioComponentConfiguration { + s.ActiveDirectoryConfiguration = v + return s +} + +// SetComputeFarmConfiguration sets the ComputeFarmConfiguration field's value. +func (s *StudioComponentConfiguration) SetComputeFarmConfiguration(v *ComputeFarmConfiguration) *StudioComponentConfiguration { + s.ComputeFarmConfiguration = v + return s +} + +// SetLicenseServiceConfiguration sets the LicenseServiceConfiguration field's value. +func (s *StudioComponentConfiguration) SetLicenseServiceConfiguration(v *LicenseServiceConfiguration) *StudioComponentConfiguration { + s.LicenseServiceConfiguration = v + return s +} + +// SetSharedFileSystemConfiguration sets the SharedFileSystemConfiguration field's value. +func (s *StudioComponentConfiguration) SetSharedFileSystemConfiguration(v *SharedFileSystemConfiguration) *StudioComponentConfiguration { + s.SharedFileSystemConfiguration = v + return s +} + +// Initialization scripts for studio components. +type StudioComponentInitializationScript struct { + _ struct{} `type:"structure"` + + // The version number of the protocol that is used by the launch profile. The + // only valid version is "2021-03-31". + LaunchProfileProtocolVersion *string `locationName:"launchProfileProtocolVersion" type:"string"` + + Platform *string `locationName:"platform" type:"string" enum:"LaunchProfilePlatform"` + + RunContext *string `locationName:"runContext" type:"string" enum:"StudioComponentInitializationScriptRunContext"` + + Script *string `locationName:"script" min:"1" type:"string"` +} + +// String returns the string representation +func (s StudioComponentInitializationScript) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StudioComponentInitializationScript) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StudioComponentInitializationScript) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StudioComponentInitializationScript"} + if s.Script != nil && len(*s.Script) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Script", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetLaunchProfileProtocolVersion sets the LaunchProfileProtocolVersion field's value. +func (s *StudioComponentInitializationScript) SetLaunchProfileProtocolVersion(v string) *StudioComponentInitializationScript { + s.LaunchProfileProtocolVersion = &v + return s +} + +// SetPlatform sets the Platform field's value. +func (s *StudioComponentInitializationScript) SetPlatform(v string) *StudioComponentInitializationScript { + s.Platform = &v + return s +} + +// SetRunContext sets the RunContext field's value. +func (s *StudioComponentInitializationScript) SetRunContext(v string) *StudioComponentInitializationScript { + s.RunContext = &v + return s +} + +// SetScript sets the Script field's value. +func (s *StudioComponentInitializationScript) SetScript(v string) *StudioComponentInitializationScript { + s.Script = &v + return s +} + +type StudioComponentSummary struct { + _ struct{} `type:"structure"` + + CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"` + + CreatedBy *string `locationName:"createdBy" type:"string"` + + Description *string `locationName:"description" type:"string"` + + Name *string `locationName:"name" type:"string"` + + StudioComponentId *string `locationName:"studioComponentId" type:"string"` + + Subtype *string `locationName:"subtype" type:"string" enum:"StudioComponentSubtype"` + + Type *string `locationName:"type" type:"string" enum:"StudioComponentType"` + + UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"` + + UpdatedBy *string `locationName:"updatedBy" type:"string"` +} + +// String returns the string representation +func (s StudioComponentSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StudioComponentSummary) GoString() string { + return s.String() +} + +// SetCreatedAt sets the CreatedAt field's value. +func (s *StudioComponentSummary) SetCreatedAt(v time.Time) *StudioComponentSummary { + s.CreatedAt = &v + return s +} + +// SetCreatedBy sets the CreatedBy field's value. +func (s *StudioComponentSummary) SetCreatedBy(v string) *StudioComponentSummary { + s.CreatedBy = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *StudioComponentSummary) SetDescription(v string) *StudioComponentSummary { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *StudioComponentSummary) SetName(v string) *StudioComponentSummary { + s.Name = &v + return s +} + +// SetStudioComponentId sets the StudioComponentId field's value. +func (s *StudioComponentSummary) SetStudioComponentId(v string) *StudioComponentSummary { + s.StudioComponentId = &v + return s +} + +// SetSubtype sets the Subtype field's value. +func (s *StudioComponentSummary) SetSubtype(v string) *StudioComponentSummary { + s.Subtype = &v + return s +} + +// SetType sets the Type field's value. +func (s *StudioComponentSummary) SetType(v string) *StudioComponentSummary { + s.Type = &v + return s +} + +// SetUpdatedAt sets the UpdatedAt field's value. +func (s *StudioComponentSummary) SetUpdatedAt(v time.Time) *StudioComponentSummary { + s.UpdatedAt = &v + return s +} + +// SetUpdatedBy sets the UpdatedBy field's value. +func (s *StudioComponentSummary) SetUpdatedBy(v string) *StudioComponentSummary { + s.UpdatedBy = &v + return s +} + +// Configuration of the encryption method that is used for the studio. +type StudioEncryptionConfiguration struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) for a KMS key that is used to encrypt studio + // data. + KeyArn *string `locationName:"keyArn" min:"4" type:"string"` + + // The type of KMS key that is used to encrypt studio data. + // + // KeyType is a required field + KeyType *string `locationName:"keyType" type:"string" required:"true" enum:"StudioEncryptionConfigurationKeyType"` +} + +// String returns the string representation +func (s StudioEncryptionConfiguration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StudioEncryptionConfiguration) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StudioEncryptionConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StudioEncryptionConfiguration"} + if s.KeyArn != nil && len(*s.KeyArn) < 4 { + invalidParams.Add(request.NewErrParamMinLen("KeyArn", 4)) + } + if s.KeyType == nil { + invalidParams.Add(request.NewErrParamRequired("KeyType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetKeyArn sets the KeyArn field's value. +func (s *StudioEncryptionConfiguration) SetKeyArn(v string) *StudioEncryptionConfiguration { + s.KeyArn = &v + return s +} + +// SetKeyType sets the KeyType field's value. +func (s *StudioEncryptionConfiguration) SetKeyType(v string) *StudioEncryptionConfiguration { + s.KeyType = &v + return s +} + +type StudioMembership struct { + _ struct{} `type:"structure"` + + IdentityStoreId *string `locationName:"identityStoreId" type:"string"` + + Persona *string `locationName:"persona" type:"string" enum:"StudioPersona"` + + PrincipalId *string `locationName:"principalId" type:"string"` +} + +// String returns the string representation +func (s StudioMembership) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s StudioMembership) GoString() string { + return s.String() +} + +// SetIdentityStoreId sets the IdentityStoreId field's value. +func (s *StudioMembership) SetIdentityStoreId(v string) *StudioMembership { + s.IdentityStoreId = &v + return s +} + +// SetPersona sets the Persona field's value. +func (s *StudioMembership) SetPersona(v string) *StudioMembership { + s.Persona = &v + return s +} + +// SetPrincipalId sets the PrincipalId field's value. +func (s *StudioMembership) SetPrincipalId(v string) *StudioMembership { + s.PrincipalId = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *TagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { + s.Tags = v + return s +} + +type TagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s TagResourceOutput) GoString() string { + return s.String() +} + +type ThrottlingException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + // ExceptionContext is a set of key-value pairs that provide you with more information + // about the error that occurred. For example, when the service returns a 404 + // ResourceNotFound error, ExceptionContext will contain the key `resourceId` + // with the value of resource that was not found. + // + // ExceptionContext enables scripts and other programmatic clients to provide + // for better error handling. + Context map[string]*string `locationName:"context" type:"map"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ThrottlingException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ThrottlingException) GoString() string { + return s.String() +} + +func newErrorThrottlingException(v protocol.ResponseMetadata) error { + return &ThrottlingException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ThrottlingException) Code() string { + return "ThrottlingException" +} + +// Message returns the exception's message. +func (s *ThrottlingException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ThrottlingException) OrigErr() error { + return nil +} + +func (s *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ThrottlingException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ThrottlingException) RequestID() string { + return s.RespMetadata.RequestID +} + +type UntagResourceInput struct { + _ struct{} `type:"structure"` + + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UntagResourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} + if s.ResourceArn == nil { + invalidParams.Add(request.NewErrParamRequired("ResourceArn")) + } + if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + } + if s.TagKeys == nil { + invalidParams.Add(request.NewErrParamRequired("TagKeys")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetResourceArn sets the ResourceArn field's value. +func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { + s.ResourceArn = &v + return s +} + +// SetTagKeys sets the TagKeys field's value. +func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { + s.TagKeys = v + return s +} + +type UntagResourceOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateLaunchProfileInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + Description *string `locationName:"description" type:"string"` + + // LaunchProfileId is a required field + LaunchProfileId *string `location:"uri" locationName:"launchProfileId" type:"string" required:"true"` + + LaunchProfileProtocolVersions []*string `locationName:"launchProfileProtocolVersions" type:"list"` + + Name *string `locationName:"name" type:"string"` + + StreamConfiguration *StreamConfigurationCreate `locationName:"streamConfiguration" type:"structure"` + + StudioComponentIds []*string `locationName:"studioComponentIds" min:"1" type:"list"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateLaunchProfileInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLaunchProfileInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateLaunchProfileInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateLaunchProfileInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.LaunchProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("LaunchProfileId")) + } + if s.LaunchProfileId != nil && len(*s.LaunchProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LaunchProfileId", 1)) + } + if s.StudioComponentIds != nil && len(s.StudioComponentIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioComponentIds", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + if s.StreamConfiguration != nil { + if err := s.StreamConfiguration.Validate(); err != nil { + invalidParams.AddNested("StreamConfiguration", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateLaunchProfileInput) SetClientToken(v string) *UpdateLaunchProfileInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateLaunchProfileInput) SetDescription(v string) *UpdateLaunchProfileInput { + s.Description = &v + return s +} + +// SetLaunchProfileId sets the LaunchProfileId field's value. +func (s *UpdateLaunchProfileInput) SetLaunchProfileId(v string) *UpdateLaunchProfileInput { + s.LaunchProfileId = &v + return s +} + +// SetLaunchProfileProtocolVersions sets the LaunchProfileProtocolVersions field's value. +func (s *UpdateLaunchProfileInput) SetLaunchProfileProtocolVersions(v []*string) *UpdateLaunchProfileInput { + s.LaunchProfileProtocolVersions = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateLaunchProfileInput) SetName(v string) *UpdateLaunchProfileInput { + s.Name = &v + return s +} + +// SetStreamConfiguration sets the StreamConfiguration field's value. +func (s *UpdateLaunchProfileInput) SetStreamConfiguration(v *StreamConfigurationCreate) *UpdateLaunchProfileInput { + s.StreamConfiguration = v + return s +} + +// SetStudioComponentIds sets the StudioComponentIds field's value. +func (s *UpdateLaunchProfileInput) SetStudioComponentIds(v []*string) *UpdateLaunchProfileInput { + s.StudioComponentIds = v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *UpdateLaunchProfileInput) SetStudioId(v string) *UpdateLaunchProfileInput { + s.StudioId = &v + return s +} + +type UpdateLaunchProfileMemberInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // LaunchProfileId is a required field + LaunchProfileId *string `location:"uri" locationName:"launchProfileId" type:"string" required:"true"` + + // Persona is a required field + Persona *string `locationName:"persona" type:"string" required:"true" enum:"LaunchProfilePersona"` + + // PrincipalId is a required field + PrincipalId *string `location:"uri" locationName:"principalId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateLaunchProfileMemberInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLaunchProfileMemberInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateLaunchProfileMemberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateLaunchProfileMemberInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.LaunchProfileId == nil { + invalidParams.Add(request.NewErrParamRequired("LaunchProfileId")) + } + if s.LaunchProfileId != nil && len(*s.LaunchProfileId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("LaunchProfileId", 1)) + } + if s.Persona == nil { + invalidParams.Add(request.NewErrParamRequired("Persona")) + } + if s.PrincipalId == nil { + invalidParams.Add(request.NewErrParamRequired("PrincipalId")) + } + if s.PrincipalId != nil && len(*s.PrincipalId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("PrincipalId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateLaunchProfileMemberInput) SetClientToken(v string) *UpdateLaunchProfileMemberInput { + s.ClientToken = &v + return s +} + +// SetLaunchProfileId sets the LaunchProfileId field's value. +func (s *UpdateLaunchProfileMemberInput) SetLaunchProfileId(v string) *UpdateLaunchProfileMemberInput { + s.LaunchProfileId = &v + return s +} + +// SetPersona sets the Persona field's value. +func (s *UpdateLaunchProfileMemberInput) SetPersona(v string) *UpdateLaunchProfileMemberInput { + s.Persona = &v + return s +} + +// SetPrincipalId sets the PrincipalId field's value. +func (s *UpdateLaunchProfileMemberInput) SetPrincipalId(v string) *UpdateLaunchProfileMemberInput { + s.PrincipalId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *UpdateLaunchProfileMemberInput) SetStudioId(v string) *UpdateLaunchProfileMemberInput { + s.StudioId = &v + return s +} + +type UpdateLaunchProfileMemberOutput struct { + _ struct{} `type:"structure"` + + Member *LaunchProfileMembership `locationName:"member" type:"structure"` +} + +// String returns the string representation +func (s UpdateLaunchProfileMemberOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLaunchProfileMemberOutput) GoString() string { + return s.String() +} + +// SetMember sets the Member field's value. +func (s *UpdateLaunchProfileMemberOutput) SetMember(v *LaunchProfileMembership) *UpdateLaunchProfileMemberOutput { + s.Member = v + return s +} + +type UpdateLaunchProfileOutput struct { + _ struct{} `type:"structure"` + + LaunchProfile *LaunchProfile `locationName:"launchProfile" type:"structure"` +} + +// String returns the string representation +func (s UpdateLaunchProfileOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateLaunchProfileOutput) GoString() string { + return s.String() +} + +// SetLaunchProfile sets the LaunchProfile field's value. +func (s *UpdateLaunchProfileOutput) SetLaunchProfile(v *LaunchProfile) *UpdateLaunchProfileOutput { + s.LaunchProfile = v + return s +} + +type UpdateStreamingImageInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // The description. + Description *string `locationName:"description" type:"string"` + + // A friendly name for a streaming image resource. + Name *string `locationName:"name" type:"string"` + + // StreamingImageId is a required field + StreamingImageId *string `location:"uri" locationName:"streamingImageId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` +} + +// String returns the string representation +func (s UpdateStreamingImageInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateStreamingImageInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateStreamingImageInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateStreamingImageInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.StreamingImageId == nil { + invalidParams.Add(request.NewErrParamRequired("StreamingImageId")) + } + if s.StreamingImageId != nil && len(*s.StreamingImageId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StreamingImageId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateStreamingImageInput) SetClientToken(v string) *UpdateStreamingImageInput { + s.ClientToken = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateStreamingImageInput) SetDescription(v string) *UpdateStreamingImageInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateStreamingImageInput) SetName(v string) *UpdateStreamingImageInput { + s.Name = &v + return s +} + +// SetStreamingImageId sets the StreamingImageId field's value. +func (s *UpdateStreamingImageInput) SetStreamingImageId(v string) *UpdateStreamingImageInput { + s.StreamingImageId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *UpdateStreamingImageInput) SetStudioId(v string) *UpdateStreamingImageInput { + s.StudioId = &v + return s +} + +type UpdateStreamingImageOutput struct { + _ struct{} `type:"structure"` + + StreamingImage *StreamingImage `locationName:"streamingImage" type:"structure"` +} + +// String returns the string representation +func (s UpdateStreamingImageOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateStreamingImageOutput) GoString() string { + return s.String() +} + +// SetStreamingImage sets the StreamingImage field's value. +func (s *UpdateStreamingImageOutput) SetStreamingImage(v *StreamingImage) *UpdateStreamingImageOutput { + s.StreamingImage = v + return s +} + +type UpdateStudioComponentInput struct { + _ struct{} `type:"structure"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + // The configuration of the studio component, based on component type. + Configuration *StudioComponentConfiguration `locationName:"configuration" type:"structure"` + + Description *string `locationName:"description" type:"string"` + + Ec2SecurityGroupIds []*string `locationName:"ec2SecurityGroupIds" min:"1" type:"list"` + + InitializationScripts []*StudioComponentInitializationScript `locationName:"initializationScripts" type:"list"` + + Name *string `locationName:"name" type:"string"` + + ScriptParameters []*ScriptParameterKeyValue `locationName:"scriptParameters" type:"list"` + + // StudioComponentId is a required field + StudioComponentId *string `location:"uri" locationName:"studioComponentId" type:"string" required:"true"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` + + Subtype *string `locationName:"subtype" type:"string" enum:"StudioComponentSubtype"` + + Type *string `locationName:"type" type:"string" enum:"StudioComponentType"` +} + +// String returns the string representation +func (s UpdateStudioComponentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateStudioComponentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateStudioComponentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateStudioComponentInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.Ec2SecurityGroupIds != nil && len(s.Ec2SecurityGroupIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Ec2SecurityGroupIds", 1)) + } + if s.StudioComponentId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioComponentId")) + } + if s.StudioComponentId != nil && len(*s.StudioComponentId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioComponentId", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + if s.Configuration != nil { + if err := s.Configuration.Validate(); err != nil { + invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) + } + } + if s.InitializationScripts != nil { + for i, v := range s.InitializationScripts { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InitializationScripts", i), err.(request.ErrInvalidParams)) + } + } + } + if s.ScriptParameters != nil { + for i, v := range s.ScriptParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ScriptParameters", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateStudioComponentInput) SetClientToken(v string) *UpdateStudioComponentInput { + s.ClientToken = &v + return s +} + +// SetConfiguration sets the Configuration field's value. +func (s *UpdateStudioComponentInput) SetConfiguration(v *StudioComponentConfiguration) *UpdateStudioComponentInput { + s.Configuration = v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateStudioComponentInput) SetDescription(v string) *UpdateStudioComponentInput { + s.Description = &v + return s +} + +// SetEc2SecurityGroupIds sets the Ec2SecurityGroupIds field's value. +func (s *UpdateStudioComponentInput) SetEc2SecurityGroupIds(v []*string) *UpdateStudioComponentInput { + s.Ec2SecurityGroupIds = v + return s +} + +// SetInitializationScripts sets the InitializationScripts field's value. +func (s *UpdateStudioComponentInput) SetInitializationScripts(v []*StudioComponentInitializationScript) *UpdateStudioComponentInput { + s.InitializationScripts = v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateStudioComponentInput) SetName(v string) *UpdateStudioComponentInput { + s.Name = &v + return s +} + +// SetScriptParameters sets the ScriptParameters field's value. +func (s *UpdateStudioComponentInput) SetScriptParameters(v []*ScriptParameterKeyValue) *UpdateStudioComponentInput { + s.ScriptParameters = v + return s +} + +// SetStudioComponentId sets the StudioComponentId field's value. +func (s *UpdateStudioComponentInput) SetStudioComponentId(v string) *UpdateStudioComponentInput { + s.StudioComponentId = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *UpdateStudioComponentInput) SetStudioId(v string) *UpdateStudioComponentInput { + s.StudioId = &v + return s +} + +// SetSubtype sets the Subtype field's value. +func (s *UpdateStudioComponentInput) SetSubtype(v string) *UpdateStudioComponentInput { + s.Subtype = &v + return s +} + +// SetType sets the Type field's value. +func (s *UpdateStudioComponentInput) SetType(v string) *UpdateStudioComponentInput { + s.Type = &v + return s +} + +type UpdateStudioComponentOutput struct { + _ struct{} `type:"structure"` + + // A network that is used by a studio’s users and workflows, including render + // farm, Active Directory, licensing, and file system. + StudioComponent *StudioComponent `locationName:"studioComponent" type:"structure"` +} + +// String returns the string representation +func (s UpdateStudioComponentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateStudioComponentOutput) GoString() string { + return s.String() +} + +// SetStudioComponent sets the StudioComponent field's value. +func (s *UpdateStudioComponentOutput) SetStudioComponent(v *StudioComponent) *UpdateStudioComponentOutput { + s.StudioComponent = v + return s +} + +type UpdateStudioInput struct { + _ struct{} `type:"structure"` + + AdminRoleArn *string `locationName:"adminRoleArn" type:"string"` + + ClientToken *string `location:"header" locationName:"X-Amz-Client-Token" min:"1" type:"string" idempotencyToken:"true"` + + DisplayName *string `locationName:"displayName" type:"string"` + + // StudioId is a required field + StudioId *string `location:"uri" locationName:"studioId" type:"string" required:"true"` + + UserRoleArn *string `locationName:"userRoleArn" type:"string"` +} + +// String returns the string representation +func (s UpdateStudioInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateStudioInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateStudioInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateStudioInput"} + if s.ClientToken != nil && len(*s.ClientToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) + } + if s.StudioId == nil { + invalidParams.Add(request.NewErrParamRequired("StudioId")) + } + if s.StudioId != nil && len(*s.StudioId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StudioId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAdminRoleArn sets the AdminRoleArn field's value. +func (s *UpdateStudioInput) SetAdminRoleArn(v string) *UpdateStudioInput { + s.AdminRoleArn = &v + return s +} + +// SetClientToken sets the ClientToken field's value. +func (s *UpdateStudioInput) SetClientToken(v string) *UpdateStudioInput { + s.ClientToken = &v + return s +} + +// SetDisplayName sets the DisplayName field's value. +func (s *UpdateStudioInput) SetDisplayName(v string) *UpdateStudioInput { + s.DisplayName = &v + return s +} + +// SetStudioId sets the StudioId field's value. +func (s *UpdateStudioInput) SetStudioId(v string) *UpdateStudioInput { + s.StudioId = &v + return s +} + +// SetUserRoleArn sets the UserRoleArn field's value. +func (s *UpdateStudioInput) SetUserRoleArn(v string) *UpdateStudioInput { + s.UserRoleArn = &v + return s +} + +type UpdateStudioOutput struct { + _ struct{} `type:"structure"` + + Studio *Studio `locationName:"studio" type:"structure"` +} + +// String returns the string representation +func (s UpdateStudioOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s UpdateStudioOutput) GoString() string { + return s.String() +} + +// SetStudio sets the Studio field's value. +func (s *UpdateStudioOutput) SetStudio(v *Studio) *UpdateStudioOutput { + s.Studio = v + return s +} + +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Code_ *string `locationName:"code" type:"string"` + + // ExceptionContext is a set of key-value pairs that provide you with more information + // about the error that occurred. For example, when the service returns a 404 + // ResourceNotFound error, ExceptionContext will contain the key `resourceId` + // with the value of resource that was not found. + // + // ExceptionContext enables scripts and other programmatic clients to provide + // for better error handling. + Context map[string]*string `locationName:"context" type:"map"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation +func (s ValidationException) GoString() string { + return s.String() +} + +func newErrorValidationException(v protocol.ResponseMetadata) error { + return &ValidationException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ValidationException) Code() string { + return "ValidationException" +} + +// Message returns the exception's message. +func (s *ValidationException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ValidationException) OrigErr() error { + return nil +} + +func (s *ValidationException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ValidationException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ValidationException) RequestID() string { + return s.RespMetadata.RequestID +} + +const ( + // LaunchProfilePersonaUser is a LaunchProfilePersona enum value + LaunchProfilePersonaUser = "USER" +) + +// LaunchProfilePersona_Values returns all elements of the LaunchProfilePersona enum +func LaunchProfilePersona_Values() []string { + return []string{ + LaunchProfilePersonaUser, + } +} + +const ( + // LaunchProfilePlatformLinux is a LaunchProfilePlatform enum value + LaunchProfilePlatformLinux = "LINUX" + + // LaunchProfilePlatformWindows is a LaunchProfilePlatform enum value + LaunchProfilePlatformWindows = "WINDOWS" +) + +// LaunchProfilePlatform_Values returns all elements of the LaunchProfilePlatform enum +func LaunchProfilePlatform_Values() []string { + return []string{ + LaunchProfilePlatformLinux, + LaunchProfilePlatformWindows, + } +} + +const ( + // LaunchProfileStateCreateInProgress is a LaunchProfileState enum value + LaunchProfileStateCreateInProgress = "CREATE_IN_PROGRESS" + + // LaunchProfileStateReady is a LaunchProfileState enum value + LaunchProfileStateReady = "READY" + + // LaunchProfileStateUpdateInProgress is a LaunchProfileState enum value + LaunchProfileStateUpdateInProgress = "UPDATE_IN_PROGRESS" + + // LaunchProfileStateDeleteInProgress is a LaunchProfileState enum value + LaunchProfileStateDeleteInProgress = "DELETE_IN_PROGRESS" + + // LaunchProfileStateDeleted is a LaunchProfileState enum value + LaunchProfileStateDeleted = "DELETED" + + // LaunchProfileStateDeleteFailed is a LaunchProfileState enum value + LaunchProfileStateDeleteFailed = "DELETE_FAILED" + + // LaunchProfileStateCreateFailed is a LaunchProfileState enum value + LaunchProfileStateCreateFailed = "CREATE_FAILED" + + // LaunchProfileStateUpdateFailed is a LaunchProfileState enum value + LaunchProfileStateUpdateFailed = "UPDATE_FAILED" +) + +// LaunchProfileState_Values returns all elements of the LaunchProfileState enum +func LaunchProfileState_Values() []string { + return []string{ + LaunchProfileStateCreateInProgress, + LaunchProfileStateReady, + LaunchProfileStateUpdateInProgress, + LaunchProfileStateDeleteInProgress, + LaunchProfileStateDeleted, + LaunchProfileStateDeleteFailed, + LaunchProfileStateCreateFailed, + LaunchProfileStateUpdateFailed, + } +} + +const ( + // LaunchProfileStatusCodeLaunchProfileCreated is a LaunchProfileStatusCode enum value + LaunchProfileStatusCodeLaunchProfileCreated = "LAUNCH_PROFILE_CREATED" + + // LaunchProfileStatusCodeLaunchProfileUpdated is a LaunchProfileStatusCode enum value + LaunchProfileStatusCodeLaunchProfileUpdated = "LAUNCH_PROFILE_UPDATED" + + // LaunchProfileStatusCodeLaunchProfileDeleted is a LaunchProfileStatusCode enum value + LaunchProfileStatusCodeLaunchProfileDeleted = "LAUNCH_PROFILE_DELETED" + + // LaunchProfileStatusCodeLaunchProfileCreateInProgress is a LaunchProfileStatusCode enum value + LaunchProfileStatusCodeLaunchProfileCreateInProgress = "LAUNCH_PROFILE_CREATE_IN_PROGRESS" + + // LaunchProfileStatusCodeLaunchProfileUpdateInProgress is a LaunchProfileStatusCode enum value + LaunchProfileStatusCodeLaunchProfileUpdateInProgress = "LAUNCH_PROFILE_UPDATE_IN_PROGRESS" + + // LaunchProfileStatusCodeLaunchProfileDeleteInProgress is a LaunchProfileStatusCode enum value + LaunchProfileStatusCodeLaunchProfileDeleteInProgress = "LAUNCH_PROFILE_DELETE_IN_PROGRESS" + + // LaunchProfileStatusCodeInternalError is a LaunchProfileStatusCode enum value + LaunchProfileStatusCodeInternalError = "INTERNAL_ERROR" + + // LaunchProfileStatusCodeStreamingImageNotFound is a LaunchProfileStatusCode enum value + LaunchProfileStatusCodeStreamingImageNotFound = "STREAMING_IMAGE_NOT_FOUND" + + // LaunchProfileStatusCodeStreamingImageNotReady is a LaunchProfileStatusCode enum value + LaunchProfileStatusCodeStreamingImageNotReady = "STREAMING_IMAGE_NOT_READY" + + // LaunchProfileStatusCodeLaunchProfileWithStreamSessionsNotDeleted is a LaunchProfileStatusCode enum value + LaunchProfileStatusCodeLaunchProfileWithStreamSessionsNotDeleted = "LAUNCH_PROFILE_WITH_STREAM_SESSIONS_NOT_DELETED" + + // LaunchProfileStatusCodeEncryptionKeyAccessDenied is a LaunchProfileStatusCode enum value + LaunchProfileStatusCodeEncryptionKeyAccessDenied = "ENCRYPTION_KEY_ACCESS_DENIED" + + // LaunchProfileStatusCodeEncryptionKeyNotFound is a LaunchProfileStatusCode enum value + LaunchProfileStatusCodeEncryptionKeyNotFound = "ENCRYPTION_KEY_NOT_FOUND" + + // LaunchProfileStatusCodeInvalidSubnetsProvided is a LaunchProfileStatusCode enum value + LaunchProfileStatusCodeInvalidSubnetsProvided = "INVALID_SUBNETS_PROVIDED" +) + +// LaunchProfileStatusCode_Values returns all elements of the LaunchProfileStatusCode enum +func LaunchProfileStatusCode_Values() []string { + return []string{ + LaunchProfileStatusCodeLaunchProfileCreated, + LaunchProfileStatusCodeLaunchProfileUpdated, + LaunchProfileStatusCodeLaunchProfileDeleted, + LaunchProfileStatusCodeLaunchProfileCreateInProgress, + LaunchProfileStatusCodeLaunchProfileUpdateInProgress, + LaunchProfileStatusCodeLaunchProfileDeleteInProgress, + LaunchProfileStatusCodeInternalError, + LaunchProfileStatusCodeStreamingImageNotFound, + LaunchProfileStatusCodeStreamingImageNotReady, + LaunchProfileStatusCodeLaunchProfileWithStreamSessionsNotDeleted, + LaunchProfileStatusCodeEncryptionKeyAccessDenied, + LaunchProfileStatusCodeEncryptionKeyNotFound, + LaunchProfileStatusCodeInvalidSubnetsProvided, + } +} + +const ( + // StreamingClipboardModeEnabled is a StreamingClipboardMode enum value + StreamingClipboardModeEnabled = "ENABLED" + + // StreamingClipboardModeDisabled is a StreamingClipboardMode enum value + StreamingClipboardModeDisabled = "DISABLED" +) + +// StreamingClipboardMode_Values returns all elements of the StreamingClipboardMode enum +func StreamingClipboardMode_Values() []string { + return []string{ + StreamingClipboardModeEnabled, + StreamingClipboardModeDisabled, + } +} + +const ( + // StreamingImageEncryptionConfigurationKeyTypeCustomerManagedKey is a StreamingImageEncryptionConfigurationKeyType enum value + StreamingImageEncryptionConfigurationKeyTypeCustomerManagedKey = "CUSTOMER_MANAGED_KEY" +) + +// StreamingImageEncryptionConfigurationKeyType_Values returns all elements of the StreamingImageEncryptionConfigurationKeyType enum +func StreamingImageEncryptionConfigurationKeyType_Values() []string { + return []string{ + StreamingImageEncryptionConfigurationKeyTypeCustomerManagedKey, + } +} + +const ( + // StreamingImageStateCreateInProgress is a StreamingImageState enum value + StreamingImageStateCreateInProgress = "CREATE_IN_PROGRESS" + + // StreamingImageStateReady is a StreamingImageState enum value + StreamingImageStateReady = "READY" + + // StreamingImageStateDeleteInProgress is a StreamingImageState enum value + StreamingImageStateDeleteInProgress = "DELETE_IN_PROGRESS" + + // StreamingImageStateDeleted is a StreamingImageState enum value + StreamingImageStateDeleted = "DELETED" + + // StreamingImageStateUpdateInProgress is a StreamingImageState enum value + StreamingImageStateUpdateInProgress = "UPDATE_IN_PROGRESS" + + // StreamingImageStateUpdateFailed is a StreamingImageState enum value + StreamingImageStateUpdateFailed = "UPDATE_FAILED" + + // StreamingImageStateCreateFailed is a StreamingImageState enum value + StreamingImageStateCreateFailed = "CREATE_FAILED" + + // StreamingImageStateDeleteFailed is a StreamingImageState enum value + StreamingImageStateDeleteFailed = "DELETE_FAILED" +) + +// StreamingImageState_Values returns all elements of the StreamingImageState enum +func StreamingImageState_Values() []string { + return []string{ + StreamingImageStateCreateInProgress, + StreamingImageStateReady, + StreamingImageStateDeleteInProgress, + StreamingImageStateDeleted, + StreamingImageStateUpdateInProgress, + StreamingImageStateUpdateFailed, + StreamingImageStateCreateFailed, + StreamingImageStateDeleteFailed, + } +} + +// The status code. +const ( + // StreamingImageStatusCodeStreamingImageCreateInProgress is a StreamingImageStatusCode enum value + StreamingImageStatusCodeStreamingImageCreateInProgress = "STREAMING_IMAGE_CREATE_IN_PROGRESS" + + // StreamingImageStatusCodeStreamingImageReady is a StreamingImageStatusCode enum value + StreamingImageStatusCodeStreamingImageReady = "STREAMING_IMAGE_READY" + + // StreamingImageStatusCodeStreamingImageDeleteInProgress is a StreamingImageStatusCode enum value + StreamingImageStatusCodeStreamingImageDeleteInProgress = "STREAMING_IMAGE_DELETE_IN_PROGRESS" + + // StreamingImageStatusCodeStreamingImageDeleted is a StreamingImageStatusCode enum value + StreamingImageStatusCodeStreamingImageDeleted = "STREAMING_IMAGE_DELETED" + + // StreamingImageStatusCodeStreamingImageUpdateInProgress is a StreamingImageStatusCode enum value + StreamingImageStatusCodeStreamingImageUpdateInProgress = "STREAMING_IMAGE_UPDATE_IN_PROGRESS" + + // StreamingImageStatusCodeInternalError is a StreamingImageStatusCode enum value + StreamingImageStatusCodeInternalError = "INTERNAL_ERROR" +) + +// StreamingImageStatusCode_Values returns all elements of the StreamingImageStatusCode enum +func StreamingImageStatusCode_Values() []string { + return []string{ + StreamingImageStatusCodeStreamingImageCreateInProgress, + StreamingImageStatusCodeStreamingImageReady, + StreamingImageStatusCodeStreamingImageDeleteInProgress, + StreamingImageStatusCodeStreamingImageDeleted, + StreamingImageStatusCodeStreamingImageUpdateInProgress, + StreamingImageStatusCodeInternalError, + } +} + +const ( + // StreamingInstanceTypeG4dnXlarge is a StreamingInstanceType enum value + StreamingInstanceTypeG4dnXlarge = "g4dn.xlarge" + + // StreamingInstanceTypeG4dn2xlarge is a StreamingInstanceType enum value + StreamingInstanceTypeG4dn2xlarge = "g4dn.2xlarge" + + // StreamingInstanceTypeG4dn4xlarge is a StreamingInstanceType enum value + StreamingInstanceTypeG4dn4xlarge = "g4dn.4xlarge" + + // StreamingInstanceTypeG4dn8xlarge is a StreamingInstanceType enum value + StreamingInstanceTypeG4dn8xlarge = "g4dn.8xlarge" + + // StreamingInstanceTypeG4dn12xlarge is a StreamingInstanceType enum value + StreamingInstanceTypeG4dn12xlarge = "g4dn.12xlarge" + + // StreamingInstanceTypeG4dn16xlarge is a StreamingInstanceType enum value + StreamingInstanceTypeG4dn16xlarge = "g4dn.16xlarge" +) + +// StreamingInstanceType_Values returns all elements of the StreamingInstanceType enum +func StreamingInstanceType_Values() []string { + return []string{ + StreamingInstanceTypeG4dnXlarge, + StreamingInstanceTypeG4dn2xlarge, + StreamingInstanceTypeG4dn4xlarge, + StreamingInstanceTypeG4dn8xlarge, + StreamingInstanceTypeG4dn12xlarge, + StreamingInstanceTypeG4dn16xlarge, + } +} + +// The streaming session state. +const ( + // StreamingSessionStateCreateInProgress is a StreamingSessionState enum value + StreamingSessionStateCreateInProgress = "CREATE_IN_PROGRESS" + + // StreamingSessionStateDeleteInProgress is a StreamingSessionState enum value + StreamingSessionStateDeleteInProgress = "DELETE_IN_PROGRESS" + + // StreamingSessionStateReady is a StreamingSessionState enum value + StreamingSessionStateReady = "READY" + + // StreamingSessionStateDeleted is a StreamingSessionState enum value + StreamingSessionStateDeleted = "DELETED" + + // StreamingSessionStateCreateFailed is a StreamingSessionState enum value + StreamingSessionStateCreateFailed = "CREATE_FAILED" + + // StreamingSessionStateDeleteFailed is a StreamingSessionState enum value + StreamingSessionStateDeleteFailed = "DELETE_FAILED" +) + +// StreamingSessionState_Values returns all elements of the StreamingSessionState enum +func StreamingSessionState_Values() []string { + return []string{ + StreamingSessionStateCreateInProgress, + StreamingSessionStateDeleteInProgress, + StreamingSessionStateReady, + StreamingSessionStateDeleted, + StreamingSessionStateCreateFailed, + StreamingSessionStateDeleteFailed, + } +} + +const ( + // StreamingSessionStatusCodeStreamingSessionReady is a StreamingSessionStatusCode enum value + StreamingSessionStatusCodeStreamingSessionReady = "STREAMING_SESSION_READY" + + // StreamingSessionStatusCodeStreamingSessionDeleted is a StreamingSessionStatusCode enum value + StreamingSessionStatusCodeStreamingSessionDeleted = "STREAMING_SESSION_DELETED" + + // StreamingSessionStatusCodeStreamingSessionCreateInProgress is a StreamingSessionStatusCode enum value + StreamingSessionStatusCodeStreamingSessionCreateInProgress = "STREAMING_SESSION_CREATE_IN_PROGRESS" + + // StreamingSessionStatusCodeStreamingSessionDeleteInProgress is a StreamingSessionStatusCode enum value + StreamingSessionStatusCodeStreamingSessionDeleteInProgress = "STREAMING_SESSION_DELETE_IN_PROGRESS" + + // StreamingSessionStatusCodeInternalError is a StreamingSessionStatusCode enum value + StreamingSessionStatusCodeInternalError = "INTERNAL_ERROR" + + // StreamingSessionStatusCodeInsufficientCapacity is a StreamingSessionStatusCode enum value + StreamingSessionStatusCodeInsufficientCapacity = "INSUFFICIENT_CAPACITY" + + // StreamingSessionStatusCodeActiveDirectoryDomainJoinError is a StreamingSessionStatusCode enum value + StreamingSessionStatusCodeActiveDirectoryDomainJoinError = "ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR" + + // StreamingSessionStatusCodeNetworkConnectionError is a StreamingSessionStatusCode enum value + StreamingSessionStatusCodeNetworkConnectionError = "NETWORK_CONNECTION_ERROR" + + // StreamingSessionStatusCodeInitializationScriptError is a StreamingSessionStatusCode enum value + StreamingSessionStatusCodeInitializationScriptError = "INITIALIZATION_SCRIPT_ERROR" + + // StreamingSessionStatusCodeDecryptStreamingImageError is a StreamingSessionStatusCode enum value + StreamingSessionStatusCodeDecryptStreamingImageError = "DECRYPT_STREAMING_IMAGE_ERROR" + + // StreamingSessionStatusCodeNetworkInterfaceError is a StreamingSessionStatusCode enum value + StreamingSessionStatusCodeNetworkInterfaceError = "NETWORK_INTERFACE_ERROR" +) + +// StreamingSessionStatusCode_Values returns all elements of the StreamingSessionStatusCode enum +func StreamingSessionStatusCode_Values() []string { + return []string{ + StreamingSessionStatusCodeStreamingSessionReady, + StreamingSessionStatusCodeStreamingSessionDeleted, + StreamingSessionStatusCodeStreamingSessionCreateInProgress, + StreamingSessionStatusCodeStreamingSessionDeleteInProgress, + StreamingSessionStatusCodeInternalError, + StreamingSessionStatusCodeInsufficientCapacity, + StreamingSessionStatusCodeActiveDirectoryDomainJoinError, + StreamingSessionStatusCodeNetworkConnectionError, + StreamingSessionStatusCodeInitializationScriptError, + StreamingSessionStatusCodeDecryptStreamingImageError, + StreamingSessionStatusCodeNetworkInterfaceError, + } +} + +const ( + // StreamingSessionStreamStateReady is a StreamingSessionStreamState enum value + StreamingSessionStreamStateReady = "READY" + + // StreamingSessionStreamStateCreateInProgress is a StreamingSessionStreamState enum value + StreamingSessionStreamStateCreateInProgress = "CREATE_IN_PROGRESS" + + // StreamingSessionStreamStateDeleteInProgress is a StreamingSessionStreamState enum value + StreamingSessionStreamStateDeleteInProgress = "DELETE_IN_PROGRESS" + + // StreamingSessionStreamStateDeleted is a StreamingSessionStreamState enum value + StreamingSessionStreamStateDeleted = "DELETED" + + // StreamingSessionStreamStateCreateFailed is a StreamingSessionStreamState enum value + StreamingSessionStreamStateCreateFailed = "CREATE_FAILED" + + // StreamingSessionStreamStateDeleteFailed is a StreamingSessionStreamState enum value + StreamingSessionStreamStateDeleteFailed = "DELETE_FAILED" +) + +// StreamingSessionStreamState_Values returns all elements of the StreamingSessionStreamState enum +func StreamingSessionStreamState_Values() []string { + return []string{ + StreamingSessionStreamStateReady, + StreamingSessionStreamStateCreateInProgress, + StreamingSessionStreamStateDeleteInProgress, + StreamingSessionStreamStateDeleted, + StreamingSessionStreamStateCreateFailed, + StreamingSessionStreamStateDeleteFailed, + } +} + +const ( + // StreamingSessionStreamStatusCodeStreamCreateInProgress is a StreamingSessionStreamStatusCode enum value + StreamingSessionStreamStatusCodeStreamCreateInProgress = "STREAM_CREATE_IN_PROGRESS" + + // StreamingSessionStreamStatusCodeStreamReady is a StreamingSessionStreamStatusCode enum value + StreamingSessionStreamStatusCodeStreamReady = "STREAM_READY" + + // StreamingSessionStreamStatusCodeStreamDeleteInProgress is a StreamingSessionStreamStatusCode enum value + StreamingSessionStreamStatusCodeStreamDeleteInProgress = "STREAM_DELETE_IN_PROGRESS" + + // StreamingSessionStreamStatusCodeStreamDeleted is a StreamingSessionStreamStatusCode enum value + StreamingSessionStreamStatusCodeStreamDeleted = "STREAM_DELETED" + + // StreamingSessionStreamStatusCodeInternalError is a StreamingSessionStreamStatusCode enum value + StreamingSessionStreamStatusCodeInternalError = "INTERNAL_ERROR" + + // StreamingSessionStreamStatusCodeNetworkConnectionError is a StreamingSessionStreamStatusCode enum value + StreamingSessionStreamStatusCodeNetworkConnectionError = "NETWORK_CONNECTION_ERROR" +) + +// StreamingSessionStreamStatusCode_Values returns all elements of the StreamingSessionStreamStatusCode enum +func StreamingSessionStreamStatusCode_Values() []string { + return []string{ + StreamingSessionStreamStatusCodeStreamCreateInProgress, + StreamingSessionStreamStatusCodeStreamReady, + StreamingSessionStreamStatusCodeStreamDeleteInProgress, + StreamingSessionStreamStatusCodeStreamDeleted, + StreamingSessionStreamStatusCodeInternalError, + StreamingSessionStreamStatusCodeNetworkConnectionError, + } +} + +const ( + // StudioComponentInitializationScriptRunContextSystemInitialization is a StudioComponentInitializationScriptRunContext enum value + StudioComponentInitializationScriptRunContextSystemInitialization = "SYSTEM_INITIALIZATION" + + // StudioComponentInitializationScriptRunContextUserInitialization is a StudioComponentInitializationScriptRunContext enum value + StudioComponentInitializationScriptRunContextUserInitialization = "USER_INITIALIZATION" +) + +// StudioComponentInitializationScriptRunContext_Values returns all elements of the StudioComponentInitializationScriptRunContext enum +func StudioComponentInitializationScriptRunContext_Values() []string { + return []string{ + StudioComponentInitializationScriptRunContextSystemInitialization, + StudioComponentInitializationScriptRunContextUserInitialization, + } +} + +// The current state of the studio component resource. +// +// While a studio component is being created, modified, or deleted, its state +// will equal "CREATE_IN_PROGRESS", "UPDATE_IN_PROGRESS", or "DELETE_IN_PROGRESS" +// +// These are called 'transition states'. +// +// No modifications may be made to the studio component while it is in a transition +// state. +// +// If creation of the resource fails, the state will change to `CREATE_FAILED`. +// The resource StatusCode and StatusMessage will provide more information of +// why creation failed. The resource in this state will automatically be deleted +// from your account after a period of time. +// +// If updating the resource fails, the state will change to `UPDATE_FAILED`. +// The resource StatusCode and StatusMessage will provide more information of +// why the update failed. The resource will be returned to the state it was +// in when the update request was invoked. +// +// If deleting the resource fails, the state will change to `DELETE_FAILED`. +// The resource StatusCode and StatusMessage will provide more information of +// why the update failed. The resource will be returned to the state it was +// in when the update request was invoked. After the resource is deleted successfully, +// it will change to the "DELETED" state. The resource will no longer count +// against service quotas and cannot be used or acted upon any futher. It will +// be removed from your account after a period of time. +const ( + // StudioComponentStateCreateInProgress is a StudioComponentState enum value + StudioComponentStateCreateInProgress = "CREATE_IN_PROGRESS" + + // StudioComponentStateReady is a StudioComponentState enum value + StudioComponentStateReady = "READY" + + // StudioComponentStateUpdateInProgress is a StudioComponentState enum value + StudioComponentStateUpdateInProgress = "UPDATE_IN_PROGRESS" + + // StudioComponentStateDeleteInProgress is a StudioComponentState enum value + StudioComponentStateDeleteInProgress = "DELETE_IN_PROGRESS" + + // StudioComponentStateDeleted is a StudioComponentState enum value + StudioComponentStateDeleted = "DELETED" + + // StudioComponentStateDeleteFailed is a StudioComponentState enum value + StudioComponentStateDeleteFailed = "DELETE_FAILED" + + // StudioComponentStateCreateFailed is a StudioComponentState enum value + StudioComponentStateCreateFailed = "CREATE_FAILED" + + // StudioComponentStateUpdateFailed is a StudioComponentState enum value + StudioComponentStateUpdateFailed = "UPDATE_FAILED" +) + +// StudioComponentState_Values returns all elements of the StudioComponentState enum +func StudioComponentState_Values() []string { + return []string{ + StudioComponentStateCreateInProgress, + StudioComponentStateReady, + StudioComponentStateUpdateInProgress, + StudioComponentStateDeleteInProgress, + StudioComponentStateDeleted, + StudioComponentStateDeleteFailed, + StudioComponentStateCreateFailed, + StudioComponentStateUpdateFailed, + } +} + +// The current status of the studio component resource. +// +// When the resource is in the 'READY' state, the status code signals what the +// last mutation made to the resource was. +// +// When the resource is in a CREATE_FAILED/UPDATE_FAILED/DELETE_FAILED state, +// the status code signals what went wrong and why the mutation failed. +const ( + // StudioComponentStatusCodeActiveDirectoryAlreadyExists is a StudioComponentStatusCode enum value + StudioComponentStatusCodeActiveDirectoryAlreadyExists = "ACTIVE_DIRECTORY_ALREADY_EXISTS" + + // StudioComponentStatusCodeStudioComponentCreated is a StudioComponentStatusCode enum value + StudioComponentStatusCodeStudioComponentCreated = "STUDIO_COMPONENT_CREATED" + + // StudioComponentStatusCodeStudioComponentUpdated is a StudioComponentStatusCode enum value + StudioComponentStatusCodeStudioComponentUpdated = "STUDIO_COMPONENT_UPDATED" + + // StudioComponentStatusCodeStudioComponentDeleted is a StudioComponentStatusCode enum value + StudioComponentStatusCodeStudioComponentDeleted = "STUDIO_COMPONENT_DELETED" + + // StudioComponentStatusCodeEncryptionKeyAccessDenied is a StudioComponentStatusCode enum value + StudioComponentStatusCodeEncryptionKeyAccessDenied = "ENCRYPTION_KEY_ACCESS_DENIED" + + // StudioComponentStatusCodeEncryptionKeyNotFound is a StudioComponentStatusCode enum value + StudioComponentStatusCodeEncryptionKeyNotFound = "ENCRYPTION_KEY_NOT_FOUND" + + // StudioComponentStatusCodeStudioComponentCreateInProgress is a StudioComponentStatusCode enum value + StudioComponentStatusCodeStudioComponentCreateInProgress = "STUDIO_COMPONENT_CREATE_IN_PROGRESS" + + // StudioComponentStatusCodeStudioComponentUpdateInProgress is a StudioComponentStatusCode enum value + StudioComponentStatusCodeStudioComponentUpdateInProgress = "STUDIO_COMPONENT_UPDATE_IN_PROGRESS" + + // StudioComponentStatusCodeStudioComponentDeleteInProgress is a StudioComponentStatusCode enum value + StudioComponentStatusCodeStudioComponentDeleteInProgress = "STUDIO_COMPONENT_DELETE_IN_PROGRESS" + + // StudioComponentStatusCodeInternalError is a StudioComponentStatusCode enum value + StudioComponentStatusCodeInternalError = "INTERNAL_ERROR" +) + +// StudioComponentStatusCode_Values returns all elements of the StudioComponentStatusCode enum +func StudioComponentStatusCode_Values() []string { + return []string{ + StudioComponentStatusCodeActiveDirectoryAlreadyExists, + StudioComponentStatusCodeStudioComponentCreated, + StudioComponentStatusCodeStudioComponentUpdated, + StudioComponentStatusCodeStudioComponentDeleted, + StudioComponentStatusCodeEncryptionKeyAccessDenied, + StudioComponentStatusCodeEncryptionKeyNotFound, + StudioComponentStatusCodeStudioComponentCreateInProgress, + StudioComponentStatusCodeStudioComponentUpdateInProgress, + StudioComponentStatusCodeStudioComponentDeleteInProgress, + StudioComponentStatusCodeInternalError, + } +} + +const ( + // StudioComponentSubtypeAwsManagedMicrosoftAd is a StudioComponentSubtype enum value + StudioComponentSubtypeAwsManagedMicrosoftAd = "AWS_MANAGED_MICROSOFT_AD" + + // StudioComponentSubtypeAmazonFsxForWindows is a StudioComponentSubtype enum value + StudioComponentSubtypeAmazonFsxForWindows = "AMAZON_FSX_FOR_WINDOWS" + + // StudioComponentSubtypeAmazonFsxForLustre is a StudioComponentSubtype enum value + StudioComponentSubtypeAmazonFsxForLustre = "AMAZON_FSX_FOR_LUSTRE" + + // StudioComponentSubtypeCustom is a StudioComponentSubtype enum value + StudioComponentSubtypeCustom = "CUSTOM" +) + +// StudioComponentSubtype_Values returns all elements of the StudioComponentSubtype enum +func StudioComponentSubtype_Values() []string { + return []string{ + StudioComponentSubtypeAwsManagedMicrosoftAd, + StudioComponentSubtypeAmazonFsxForWindows, + StudioComponentSubtypeAmazonFsxForLustre, + StudioComponentSubtypeCustom, + } +} + +const ( + // StudioComponentTypeActiveDirectory is a StudioComponentType enum value + StudioComponentTypeActiveDirectory = "ACTIVE_DIRECTORY" + + // StudioComponentTypeSharedFileSystem is a StudioComponentType enum value + StudioComponentTypeSharedFileSystem = "SHARED_FILE_SYSTEM" + + // StudioComponentTypeComputeFarm is a StudioComponentType enum value + StudioComponentTypeComputeFarm = "COMPUTE_FARM" + + // StudioComponentTypeLicenseService is a StudioComponentType enum value + StudioComponentTypeLicenseService = "LICENSE_SERVICE" + + // StudioComponentTypeCustom is a StudioComponentType enum value + StudioComponentTypeCustom = "CUSTOM" +) + +// StudioComponentType_Values returns all elements of the StudioComponentType enum +func StudioComponentType_Values() []string { + return []string{ + StudioComponentTypeActiveDirectory, + StudioComponentTypeSharedFileSystem, + StudioComponentTypeComputeFarm, + StudioComponentTypeLicenseService, + StudioComponentTypeCustom, + } +} + +// The type of KMS key that is used to encrypt studio data. +const ( + // StudioEncryptionConfigurationKeyTypeAwsOwnedKey is a StudioEncryptionConfigurationKeyType enum value + StudioEncryptionConfigurationKeyTypeAwsOwnedKey = "AWS_OWNED_KEY" + + // StudioEncryptionConfigurationKeyTypeCustomerManagedKey is a StudioEncryptionConfigurationKeyType enum value + StudioEncryptionConfigurationKeyTypeCustomerManagedKey = "CUSTOMER_MANAGED_KEY" +) + +// StudioEncryptionConfigurationKeyType_Values returns all elements of the StudioEncryptionConfigurationKeyType enum +func StudioEncryptionConfigurationKeyType_Values() []string { + return []string{ + StudioEncryptionConfigurationKeyTypeAwsOwnedKey, + StudioEncryptionConfigurationKeyTypeCustomerManagedKey, + } +} + +const ( + // StudioPersonaAdministrator is a StudioPersona enum value + StudioPersonaAdministrator = "ADMINISTRATOR" +) + +// StudioPersona_Values returns all elements of the StudioPersona enum +func StudioPersona_Values() []string { + return []string{ + StudioPersonaAdministrator, + } +} + +const ( + // StudioStateCreateInProgress is a StudioState enum value + StudioStateCreateInProgress = "CREATE_IN_PROGRESS" + + // StudioStateReady is a StudioState enum value + StudioStateReady = "READY" + + // StudioStateUpdateInProgress is a StudioState enum value + StudioStateUpdateInProgress = "UPDATE_IN_PROGRESS" + + // StudioStateDeleteInProgress is a StudioState enum value + StudioStateDeleteInProgress = "DELETE_IN_PROGRESS" + + // StudioStateDeleted is a StudioState enum value + StudioStateDeleted = "DELETED" + + // StudioStateDeleteFailed is a StudioState enum value + StudioStateDeleteFailed = "DELETE_FAILED" + + // StudioStateCreateFailed is a StudioState enum value + StudioStateCreateFailed = "CREATE_FAILED" + + // StudioStateUpdateFailed is a StudioState enum value + StudioStateUpdateFailed = "UPDATE_FAILED" +) + +// StudioState_Values returns all elements of the StudioState enum +func StudioState_Values() []string { + return []string{ + StudioStateCreateInProgress, + StudioStateReady, + StudioStateUpdateInProgress, + StudioStateDeleteInProgress, + StudioStateDeleted, + StudioStateDeleteFailed, + StudioStateCreateFailed, + StudioStateUpdateFailed, + } +} + +// The status code. +const ( + // StudioStatusCodeStudioCreated is a StudioStatusCode enum value + StudioStatusCodeStudioCreated = "STUDIO_CREATED" + + // StudioStatusCodeStudioDeleted is a StudioStatusCode enum value + StudioStatusCodeStudioDeleted = "STUDIO_DELETED" + + // StudioStatusCodeStudioUpdated is a StudioStatusCode enum value + StudioStatusCodeStudioUpdated = "STUDIO_UPDATED" + + // StudioStatusCodeStudioCreateInProgress is a StudioStatusCode enum value + StudioStatusCodeStudioCreateInProgress = "STUDIO_CREATE_IN_PROGRESS" + + // StudioStatusCodeStudioUpdateInProgress is a StudioStatusCode enum value + StudioStatusCodeStudioUpdateInProgress = "STUDIO_UPDATE_IN_PROGRESS" + + // StudioStatusCodeStudioDeleteInProgress is a StudioStatusCode enum value + StudioStatusCodeStudioDeleteInProgress = "STUDIO_DELETE_IN_PROGRESS" + + // StudioStatusCodeStudioWithLaunchProfilesNotDeleted is a StudioStatusCode enum value + StudioStatusCodeStudioWithLaunchProfilesNotDeleted = "STUDIO_WITH_LAUNCH_PROFILES_NOT_DELETED" + + // StudioStatusCodeStudioWithStudioComponentsNotDeleted is a StudioStatusCode enum value + StudioStatusCodeStudioWithStudioComponentsNotDeleted = "STUDIO_WITH_STUDIO_COMPONENTS_NOT_DELETED" + + // StudioStatusCodeStudioWithStreamingImagesNotDeleted is a StudioStatusCode enum value + StudioStatusCodeStudioWithStreamingImagesNotDeleted = "STUDIO_WITH_STREAMING_IMAGES_NOT_DELETED" + + // StudioStatusCodeAwsSsoNotEnabled is a StudioStatusCode enum value + StudioStatusCodeAwsSsoNotEnabled = "AWS_SSO_NOT_ENABLED" + + // StudioStatusCodeAwsSsoAccessDenied is a StudioStatusCode enum value + StudioStatusCodeAwsSsoAccessDenied = "AWS_SSO_ACCESS_DENIED" + + // StudioStatusCodeRoleNotOwnedByStudioOwner is a StudioStatusCode enum value + StudioStatusCodeRoleNotOwnedByStudioOwner = "ROLE_NOT_OWNED_BY_STUDIO_OWNER" + + // StudioStatusCodeRoleCouldNotBeAssumed is a StudioStatusCode enum value + StudioStatusCodeRoleCouldNotBeAssumed = "ROLE_COULD_NOT_BE_ASSUMED" + + // StudioStatusCodeInternalError is a StudioStatusCode enum value + StudioStatusCodeInternalError = "INTERNAL_ERROR" + + // StudioStatusCodeEncryptionKeyNotFound is a StudioStatusCode enum value + StudioStatusCodeEncryptionKeyNotFound = "ENCRYPTION_KEY_NOT_FOUND" + + // StudioStatusCodeEncryptionKeyAccessDenied is a StudioStatusCode enum value + StudioStatusCodeEncryptionKeyAccessDenied = "ENCRYPTION_KEY_ACCESS_DENIED" + + // StudioStatusCodeAwsSsoConfigurationRepaired is a StudioStatusCode enum value + StudioStatusCodeAwsSsoConfigurationRepaired = "AWS_SSO_CONFIGURATION_REPAIRED" + + // StudioStatusCodeAwsSsoConfigurationRepairInProgress is a StudioStatusCode enum value + StudioStatusCodeAwsSsoConfigurationRepairInProgress = "AWS_SSO_CONFIGURATION_REPAIR_IN_PROGRESS" +) + +// StudioStatusCode_Values returns all elements of the StudioStatusCode enum +func StudioStatusCode_Values() []string { + return []string{ + StudioStatusCodeStudioCreated, + StudioStatusCodeStudioDeleted, + StudioStatusCodeStudioUpdated, + StudioStatusCodeStudioCreateInProgress, + StudioStatusCodeStudioUpdateInProgress, + StudioStatusCodeStudioDeleteInProgress, + StudioStatusCodeStudioWithLaunchProfilesNotDeleted, + StudioStatusCodeStudioWithStudioComponentsNotDeleted, + StudioStatusCodeStudioWithStreamingImagesNotDeleted, + StudioStatusCodeAwsSsoNotEnabled, + StudioStatusCodeAwsSsoAccessDenied, + StudioStatusCodeRoleNotOwnedByStudioOwner, + StudioStatusCodeRoleCouldNotBeAssumed, + StudioStatusCodeInternalError, + StudioStatusCodeEncryptionKeyNotFound, + StudioStatusCodeEncryptionKeyAccessDenied, + StudioStatusCodeAwsSsoConfigurationRepaired, + StudioStatusCodeAwsSsoConfigurationRepairInProgress, + } +} diff --git a/service/nimblestudio/doc.go b/service/nimblestudio/doc.go new file mode 100644 index 0000000000..03fd09044c --- /dev/null +++ b/service/nimblestudio/doc.go @@ -0,0 +1,26 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package nimblestudio provides the client and types for making API +// requests to AmazonNimbleStudio. +// +// See https://docs.aws.amazon.com/goto/WebAPI/nimble-2020-08-01 for more information on this service. +// +// See nimblestudio package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/nimblestudio/ +// +// Using the Client +// +// To contact AmazonNimbleStudio with the SDK use the New function to create +// a new service client. With that client you can make API requests to the service. +// These clients are safe to use concurrently. +// +// See the SDK's documentation for more information on how to use the SDK. +// https://docs.aws.amazon.com/sdk-for-go/api/ +// +// See aws.Config documentation for more information on configuring SDK clients. +// https://docs.aws.amazon.com/sdk-for-go/api/aws/#Config +// +// See the AmazonNimbleStudio client NimbleStudio for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/nimblestudio/#New +package nimblestudio diff --git a/service/nimblestudio/errors.go b/service/nimblestudio/errors.go new file mode 100644 index 0000000000..c6c7a555a8 --- /dev/null +++ b/service/nimblestudio/errors.go @@ -0,0 +1,48 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package nimblestudio + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + ErrCodeConflictException = "ConflictException" + + // ErrCodeInternalServerErrorException for service response error code + // "InternalServerErrorException". + ErrCodeInternalServerErrorException = "InternalServerErrorException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + + // ErrCodeThrottlingException for service response error code + // "ThrottlingException". + ErrCodeThrottlingException = "ThrottlingException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "InternalServerErrorException": newErrorInternalServerErrorException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ThrottlingException": newErrorThrottlingException, + "ValidationException": newErrorValidationException, +} diff --git a/service/nimblestudio/nimblestudioiface/interface.go b/service/nimblestudio/nimblestudioiface/interface.go new file mode 100644 index 0000000000..ee02d7e81b --- /dev/null +++ b/service/nimblestudio/nimblestudioiface/interface.go @@ -0,0 +1,271 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package nimblestudioiface provides an interface to enable mocking the AmazonNimbleStudio service client +// for testing your code. +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. +package nimblestudioiface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/nimblestudio" +) + +// NimbleStudioAPI provides an interface to enable mocking the +// nimblestudio.NimbleStudio service client's API operation, +// paginators, and waiters. This make unit testing your code that calls out +// to the SDK's service client's calls easier. +// +// The best way to use this interface is so the SDK's service client's calls +// can be stubbed out for unit testing your code with the SDK without needing +// to inject custom request handlers into the SDK's request pipeline. +// +// // myFunc uses an SDK service client to make a request to +// // AmazonNimbleStudio. +// func myFunc(svc nimblestudioiface.NimbleStudioAPI) bool { +// // Make svc.AcceptEulas request +// } +// +// func main() { +// sess := session.New() +// svc := nimblestudio.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockNimbleStudioClient struct { +// nimblestudioiface.NimbleStudioAPI +// } +// func (m *mockNimbleStudioClient) AcceptEulas(input *nimblestudio.AcceptEulasInput) (*nimblestudio.AcceptEulasOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockNimbleStudioClient{} +// +// myfunc(mockSvc) +// +// // Verify myFunc's functionality +// } +// +// It is important to note that this interface will have breaking changes +// when the service model is updated and adds new API operations, paginators, +// and waiters. Its suggested to use the pattern above for testing, or using +// tooling to generate mocks to satisfy the interfaces. +type NimbleStudioAPI interface { + AcceptEulas(*nimblestudio.AcceptEulasInput) (*nimblestudio.AcceptEulasOutput, error) + AcceptEulasWithContext(aws.Context, *nimblestudio.AcceptEulasInput, ...request.Option) (*nimblestudio.AcceptEulasOutput, error) + AcceptEulasRequest(*nimblestudio.AcceptEulasInput) (*request.Request, *nimblestudio.AcceptEulasOutput) + + CreateLaunchProfile(*nimblestudio.CreateLaunchProfileInput) (*nimblestudio.CreateLaunchProfileOutput, error) + CreateLaunchProfileWithContext(aws.Context, *nimblestudio.CreateLaunchProfileInput, ...request.Option) (*nimblestudio.CreateLaunchProfileOutput, error) + CreateLaunchProfileRequest(*nimblestudio.CreateLaunchProfileInput) (*request.Request, *nimblestudio.CreateLaunchProfileOutput) + + CreateStreamingImage(*nimblestudio.CreateStreamingImageInput) (*nimblestudio.CreateStreamingImageOutput, error) + CreateStreamingImageWithContext(aws.Context, *nimblestudio.CreateStreamingImageInput, ...request.Option) (*nimblestudio.CreateStreamingImageOutput, error) + CreateStreamingImageRequest(*nimblestudio.CreateStreamingImageInput) (*request.Request, *nimblestudio.CreateStreamingImageOutput) + + CreateStreamingSession(*nimblestudio.CreateStreamingSessionInput) (*nimblestudio.CreateStreamingSessionOutput, error) + CreateStreamingSessionWithContext(aws.Context, *nimblestudio.CreateStreamingSessionInput, ...request.Option) (*nimblestudio.CreateStreamingSessionOutput, error) + CreateStreamingSessionRequest(*nimblestudio.CreateStreamingSessionInput) (*request.Request, *nimblestudio.CreateStreamingSessionOutput) + + CreateStreamingSessionStream(*nimblestudio.CreateStreamingSessionStreamInput) (*nimblestudio.CreateStreamingSessionStreamOutput, error) + CreateStreamingSessionStreamWithContext(aws.Context, *nimblestudio.CreateStreamingSessionStreamInput, ...request.Option) (*nimblestudio.CreateStreamingSessionStreamOutput, error) + CreateStreamingSessionStreamRequest(*nimblestudio.CreateStreamingSessionStreamInput) (*request.Request, *nimblestudio.CreateStreamingSessionStreamOutput) + + CreateStudio(*nimblestudio.CreateStudioInput) (*nimblestudio.CreateStudioOutput, error) + CreateStudioWithContext(aws.Context, *nimblestudio.CreateStudioInput, ...request.Option) (*nimblestudio.CreateStudioOutput, error) + CreateStudioRequest(*nimblestudio.CreateStudioInput) (*request.Request, *nimblestudio.CreateStudioOutput) + + CreateStudioComponent(*nimblestudio.CreateStudioComponentInput) (*nimblestudio.CreateStudioComponentOutput, error) + CreateStudioComponentWithContext(aws.Context, *nimblestudio.CreateStudioComponentInput, ...request.Option) (*nimblestudio.CreateStudioComponentOutput, error) + CreateStudioComponentRequest(*nimblestudio.CreateStudioComponentInput) (*request.Request, *nimblestudio.CreateStudioComponentOutput) + + DeleteLaunchProfile(*nimblestudio.DeleteLaunchProfileInput) (*nimblestudio.DeleteLaunchProfileOutput, error) + DeleteLaunchProfileWithContext(aws.Context, *nimblestudio.DeleteLaunchProfileInput, ...request.Option) (*nimblestudio.DeleteLaunchProfileOutput, error) + DeleteLaunchProfileRequest(*nimblestudio.DeleteLaunchProfileInput) (*request.Request, *nimblestudio.DeleteLaunchProfileOutput) + + DeleteLaunchProfileMember(*nimblestudio.DeleteLaunchProfileMemberInput) (*nimblestudio.DeleteLaunchProfileMemberOutput, error) + DeleteLaunchProfileMemberWithContext(aws.Context, *nimblestudio.DeleteLaunchProfileMemberInput, ...request.Option) (*nimblestudio.DeleteLaunchProfileMemberOutput, error) + DeleteLaunchProfileMemberRequest(*nimblestudio.DeleteLaunchProfileMemberInput) (*request.Request, *nimblestudio.DeleteLaunchProfileMemberOutput) + + DeleteStreamingImage(*nimblestudio.DeleteStreamingImageInput) (*nimblestudio.DeleteStreamingImageOutput, error) + DeleteStreamingImageWithContext(aws.Context, *nimblestudio.DeleteStreamingImageInput, ...request.Option) (*nimblestudio.DeleteStreamingImageOutput, error) + DeleteStreamingImageRequest(*nimblestudio.DeleteStreamingImageInput) (*request.Request, *nimblestudio.DeleteStreamingImageOutput) + + DeleteStreamingSession(*nimblestudio.DeleteStreamingSessionInput) (*nimblestudio.DeleteStreamingSessionOutput, error) + DeleteStreamingSessionWithContext(aws.Context, *nimblestudio.DeleteStreamingSessionInput, ...request.Option) (*nimblestudio.DeleteStreamingSessionOutput, error) + DeleteStreamingSessionRequest(*nimblestudio.DeleteStreamingSessionInput) (*request.Request, *nimblestudio.DeleteStreamingSessionOutput) + + DeleteStudio(*nimblestudio.DeleteStudioInput) (*nimblestudio.DeleteStudioOutput, error) + DeleteStudioWithContext(aws.Context, *nimblestudio.DeleteStudioInput, ...request.Option) (*nimblestudio.DeleteStudioOutput, error) + DeleteStudioRequest(*nimblestudio.DeleteStudioInput) (*request.Request, *nimblestudio.DeleteStudioOutput) + + DeleteStudioComponent(*nimblestudio.DeleteStudioComponentInput) (*nimblestudio.DeleteStudioComponentOutput, error) + DeleteStudioComponentWithContext(aws.Context, *nimblestudio.DeleteStudioComponentInput, ...request.Option) (*nimblestudio.DeleteStudioComponentOutput, error) + DeleteStudioComponentRequest(*nimblestudio.DeleteStudioComponentInput) (*request.Request, *nimblestudio.DeleteStudioComponentOutput) + + DeleteStudioMember(*nimblestudio.DeleteStudioMemberInput) (*nimblestudio.DeleteStudioMemberOutput, error) + DeleteStudioMemberWithContext(aws.Context, *nimblestudio.DeleteStudioMemberInput, ...request.Option) (*nimblestudio.DeleteStudioMemberOutput, error) + DeleteStudioMemberRequest(*nimblestudio.DeleteStudioMemberInput) (*request.Request, *nimblestudio.DeleteStudioMemberOutput) + + GetEula(*nimblestudio.GetEulaInput) (*nimblestudio.GetEulaOutput, error) + GetEulaWithContext(aws.Context, *nimblestudio.GetEulaInput, ...request.Option) (*nimblestudio.GetEulaOutput, error) + GetEulaRequest(*nimblestudio.GetEulaInput) (*request.Request, *nimblestudio.GetEulaOutput) + + GetLaunchProfile(*nimblestudio.GetLaunchProfileInput) (*nimblestudio.GetLaunchProfileOutput, error) + GetLaunchProfileWithContext(aws.Context, *nimblestudio.GetLaunchProfileInput, ...request.Option) (*nimblestudio.GetLaunchProfileOutput, error) + GetLaunchProfileRequest(*nimblestudio.GetLaunchProfileInput) (*request.Request, *nimblestudio.GetLaunchProfileOutput) + + GetLaunchProfileDetails(*nimblestudio.GetLaunchProfileDetailsInput) (*nimblestudio.GetLaunchProfileDetailsOutput, error) + GetLaunchProfileDetailsWithContext(aws.Context, *nimblestudio.GetLaunchProfileDetailsInput, ...request.Option) (*nimblestudio.GetLaunchProfileDetailsOutput, error) + GetLaunchProfileDetailsRequest(*nimblestudio.GetLaunchProfileDetailsInput) (*request.Request, *nimblestudio.GetLaunchProfileDetailsOutput) + + GetLaunchProfileInitialization(*nimblestudio.GetLaunchProfileInitializationInput) (*nimblestudio.GetLaunchProfileInitializationOutput, error) + GetLaunchProfileInitializationWithContext(aws.Context, *nimblestudio.GetLaunchProfileInitializationInput, ...request.Option) (*nimblestudio.GetLaunchProfileInitializationOutput, error) + GetLaunchProfileInitializationRequest(*nimblestudio.GetLaunchProfileInitializationInput) (*request.Request, *nimblestudio.GetLaunchProfileInitializationOutput) + + GetLaunchProfileMember(*nimblestudio.GetLaunchProfileMemberInput) (*nimblestudio.GetLaunchProfileMemberOutput, error) + GetLaunchProfileMemberWithContext(aws.Context, *nimblestudio.GetLaunchProfileMemberInput, ...request.Option) (*nimblestudio.GetLaunchProfileMemberOutput, error) + GetLaunchProfileMemberRequest(*nimblestudio.GetLaunchProfileMemberInput) (*request.Request, *nimblestudio.GetLaunchProfileMemberOutput) + + GetStreamingImage(*nimblestudio.GetStreamingImageInput) (*nimblestudio.GetStreamingImageOutput, error) + GetStreamingImageWithContext(aws.Context, *nimblestudio.GetStreamingImageInput, ...request.Option) (*nimblestudio.GetStreamingImageOutput, error) + GetStreamingImageRequest(*nimblestudio.GetStreamingImageInput) (*request.Request, *nimblestudio.GetStreamingImageOutput) + + GetStreamingSession(*nimblestudio.GetStreamingSessionInput) (*nimblestudio.GetStreamingSessionOutput, error) + GetStreamingSessionWithContext(aws.Context, *nimblestudio.GetStreamingSessionInput, ...request.Option) (*nimblestudio.GetStreamingSessionOutput, error) + GetStreamingSessionRequest(*nimblestudio.GetStreamingSessionInput) (*request.Request, *nimblestudio.GetStreamingSessionOutput) + + GetStreamingSessionStream(*nimblestudio.GetStreamingSessionStreamInput) (*nimblestudio.GetStreamingSessionStreamOutput, error) + GetStreamingSessionStreamWithContext(aws.Context, *nimblestudio.GetStreamingSessionStreamInput, ...request.Option) (*nimblestudio.GetStreamingSessionStreamOutput, error) + GetStreamingSessionStreamRequest(*nimblestudio.GetStreamingSessionStreamInput) (*request.Request, *nimblestudio.GetStreamingSessionStreamOutput) + + GetStudio(*nimblestudio.GetStudioInput) (*nimblestudio.GetStudioOutput, error) + GetStudioWithContext(aws.Context, *nimblestudio.GetStudioInput, ...request.Option) (*nimblestudio.GetStudioOutput, error) + GetStudioRequest(*nimblestudio.GetStudioInput) (*request.Request, *nimblestudio.GetStudioOutput) + + GetStudioComponent(*nimblestudio.GetStudioComponentInput) (*nimblestudio.GetStudioComponentOutput, error) + GetStudioComponentWithContext(aws.Context, *nimblestudio.GetStudioComponentInput, ...request.Option) (*nimblestudio.GetStudioComponentOutput, error) + GetStudioComponentRequest(*nimblestudio.GetStudioComponentInput) (*request.Request, *nimblestudio.GetStudioComponentOutput) + + GetStudioMember(*nimblestudio.GetStudioMemberInput) (*nimblestudio.GetStudioMemberOutput, error) + GetStudioMemberWithContext(aws.Context, *nimblestudio.GetStudioMemberInput, ...request.Option) (*nimblestudio.GetStudioMemberOutput, error) + GetStudioMemberRequest(*nimblestudio.GetStudioMemberInput) (*request.Request, *nimblestudio.GetStudioMemberOutput) + + ListEulaAcceptances(*nimblestudio.ListEulaAcceptancesInput) (*nimblestudio.ListEulaAcceptancesOutput, error) + ListEulaAcceptancesWithContext(aws.Context, *nimblestudio.ListEulaAcceptancesInput, ...request.Option) (*nimblestudio.ListEulaAcceptancesOutput, error) + ListEulaAcceptancesRequest(*nimblestudio.ListEulaAcceptancesInput) (*request.Request, *nimblestudio.ListEulaAcceptancesOutput) + + ListEulaAcceptancesPages(*nimblestudio.ListEulaAcceptancesInput, func(*nimblestudio.ListEulaAcceptancesOutput, bool) bool) error + ListEulaAcceptancesPagesWithContext(aws.Context, *nimblestudio.ListEulaAcceptancesInput, func(*nimblestudio.ListEulaAcceptancesOutput, bool) bool, ...request.Option) error + + ListEulas(*nimblestudio.ListEulasInput) (*nimblestudio.ListEulasOutput, error) + ListEulasWithContext(aws.Context, *nimblestudio.ListEulasInput, ...request.Option) (*nimblestudio.ListEulasOutput, error) + ListEulasRequest(*nimblestudio.ListEulasInput) (*request.Request, *nimblestudio.ListEulasOutput) + + ListEulasPages(*nimblestudio.ListEulasInput, func(*nimblestudio.ListEulasOutput, bool) bool) error + ListEulasPagesWithContext(aws.Context, *nimblestudio.ListEulasInput, func(*nimblestudio.ListEulasOutput, bool) bool, ...request.Option) error + + ListLaunchProfileMembers(*nimblestudio.ListLaunchProfileMembersInput) (*nimblestudio.ListLaunchProfileMembersOutput, error) + ListLaunchProfileMembersWithContext(aws.Context, *nimblestudio.ListLaunchProfileMembersInput, ...request.Option) (*nimblestudio.ListLaunchProfileMembersOutput, error) + ListLaunchProfileMembersRequest(*nimblestudio.ListLaunchProfileMembersInput) (*request.Request, *nimblestudio.ListLaunchProfileMembersOutput) + + ListLaunchProfileMembersPages(*nimblestudio.ListLaunchProfileMembersInput, func(*nimblestudio.ListLaunchProfileMembersOutput, bool) bool) error + ListLaunchProfileMembersPagesWithContext(aws.Context, *nimblestudio.ListLaunchProfileMembersInput, func(*nimblestudio.ListLaunchProfileMembersOutput, bool) bool, ...request.Option) error + + ListLaunchProfiles(*nimblestudio.ListLaunchProfilesInput) (*nimblestudio.ListLaunchProfilesOutput, error) + ListLaunchProfilesWithContext(aws.Context, *nimblestudio.ListLaunchProfilesInput, ...request.Option) (*nimblestudio.ListLaunchProfilesOutput, error) + ListLaunchProfilesRequest(*nimblestudio.ListLaunchProfilesInput) (*request.Request, *nimblestudio.ListLaunchProfilesOutput) + + ListLaunchProfilesPages(*nimblestudio.ListLaunchProfilesInput, func(*nimblestudio.ListLaunchProfilesOutput, bool) bool) error + ListLaunchProfilesPagesWithContext(aws.Context, *nimblestudio.ListLaunchProfilesInput, func(*nimblestudio.ListLaunchProfilesOutput, bool) bool, ...request.Option) error + + ListStreamingImages(*nimblestudio.ListStreamingImagesInput) (*nimblestudio.ListStreamingImagesOutput, error) + ListStreamingImagesWithContext(aws.Context, *nimblestudio.ListStreamingImagesInput, ...request.Option) (*nimblestudio.ListStreamingImagesOutput, error) + ListStreamingImagesRequest(*nimblestudio.ListStreamingImagesInput) (*request.Request, *nimblestudio.ListStreamingImagesOutput) + + ListStreamingImagesPages(*nimblestudio.ListStreamingImagesInput, func(*nimblestudio.ListStreamingImagesOutput, bool) bool) error + ListStreamingImagesPagesWithContext(aws.Context, *nimblestudio.ListStreamingImagesInput, func(*nimblestudio.ListStreamingImagesOutput, bool) bool, ...request.Option) error + + ListStreamingSessions(*nimblestudio.ListStreamingSessionsInput) (*nimblestudio.ListStreamingSessionsOutput, error) + ListStreamingSessionsWithContext(aws.Context, *nimblestudio.ListStreamingSessionsInput, ...request.Option) (*nimblestudio.ListStreamingSessionsOutput, error) + ListStreamingSessionsRequest(*nimblestudio.ListStreamingSessionsInput) (*request.Request, *nimblestudio.ListStreamingSessionsOutput) + + ListStreamingSessionsPages(*nimblestudio.ListStreamingSessionsInput, func(*nimblestudio.ListStreamingSessionsOutput, bool) bool) error + ListStreamingSessionsPagesWithContext(aws.Context, *nimblestudio.ListStreamingSessionsInput, func(*nimblestudio.ListStreamingSessionsOutput, bool) bool, ...request.Option) error + + ListStudioComponents(*nimblestudio.ListStudioComponentsInput) (*nimblestudio.ListStudioComponentsOutput, error) + ListStudioComponentsWithContext(aws.Context, *nimblestudio.ListStudioComponentsInput, ...request.Option) (*nimblestudio.ListStudioComponentsOutput, error) + ListStudioComponentsRequest(*nimblestudio.ListStudioComponentsInput) (*request.Request, *nimblestudio.ListStudioComponentsOutput) + + ListStudioComponentsPages(*nimblestudio.ListStudioComponentsInput, func(*nimblestudio.ListStudioComponentsOutput, bool) bool) error + ListStudioComponentsPagesWithContext(aws.Context, *nimblestudio.ListStudioComponentsInput, func(*nimblestudio.ListStudioComponentsOutput, bool) bool, ...request.Option) error + + ListStudioMembers(*nimblestudio.ListStudioMembersInput) (*nimblestudio.ListStudioMembersOutput, error) + ListStudioMembersWithContext(aws.Context, *nimblestudio.ListStudioMembersInput, ...request.Option) (*nimblestudio.ListStudioMembersOutput, error) + ListStudioMembersRequest(*nimblestudio.ListStudioMembersInput) (*request.Request, *nimblestudio.ListStudioMembersOutput) + + ListStudioMembersPages(*nimblestudio.ListStudioMembersInput, func(*nimblestudio.ListStudioMembersOutput, bool) bool) error + ListStudioMembersPagesWithContext(aws.Context, *nimblestudio.ListStudioMembersInput, func(*nimblestudio.ListStudioMembersOutput, bool) bool, ...request.Option) error + + ListStudios(*nimblestudio.ListStudiosInput) (*nimblestudio.ListStudiosOutput, error) + ListStudiosWithContext(aws.Context, *nimblestudio.ListStudiosInput, ...request.Option) (*nimblestudio.ListStudiosOutput, error) + ListStudiosRequest(*nimblestudio.ListStudiosInput) (*request.Request, *nimblestudio.ListStudiosOutput) + + ListStudiosPages(*nimblestudio.ListStudiosInput, func(*nimblestudio.ListStudiosOutput, bool) bool) error + ListStudiosPagesWithContext(aws.Context, *nimblestudio.ListStudiosInput, func(*nimblestudio.ListStudiosOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*nimblestudio.ListTagsForResourceInput) (*nimblestudio.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *nimblestudio.ListTagsForResourceInput, ...request.Option) (*nimblestudio.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*nimblestudio.ListTagsForResourceInput) (*request.Request, *nimblestudio.ListTagsForResourceOutput) + + PutLaunchProfileMembers(*nimblestudio.PutLaunchProfileMembersInput) (*nimblestudio.PutLaunchProfileMembersOutput, error) + PutLaunchProfileMembersWithContext(aws.Context, *nimblestudio.PutLaunchProfileMembersInput, ...request.Option) (*nimblestudio.PutLaunchProfileMembersOutput, error) + PutLaunchProfileMembersRequest(*nimblestudio.PutLaunchProfileMembersInput) (*request.Request, *nimblestudio.PutLaunchProfileMembersOutput) + + PutStudioMembers(*nimblestudio.PutStudioMembersInput) (*nimblestudio.PutStudioMembersOutput, error) + PutStudioMembersWithContext(aws.Context, *nimblestudio.PutStudioMembersInput, ...request.Option) (*nimblestudio.PutStudioMembersOutput, error) + PutStudioMembersRequest(*nimblestudio.PutStudioMembersInput) (*request.Request, *nimblestudio.PutStudioMembersOutput) + + StartStudioSSOConfigurationRepair(*nimblestudio.StartStudioSSOConfigurationRepairInput) (*nimblestudio.StartStudioSSOConfigurationRepairOutput, error) + StartStudioSSOConfigurationRepairWithContext(aws.Context, *nimblestudio.StartStudioSSOConfigurationRepairInput, ...request.Option) (*nimblestudio.StartStudioSSOConfigurationRepairOutput, error) + StartStudioSSOConfigurationRepairRequest(*nimblestudio.StartStudioSSOConfigurationRepairInput) (*request.Request, *nimblestudio.StartStudioSSOConfigurationRepairOutput) + + TagResource(*nimblestudio.TagResourceInput) (*nimblestudio.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *nimblestudio.TagResourceInput, ...request.Option) (*nimblestudio.TagResourceOutput, error) + TagResourceRequest(*nimblestudio.TagResourceInput) (*request.Request, *nimblestudio.TagResourceOutput) + + UntagResource(*nimblestudio.UntagResourceInput) (*nimblestudio.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *nimblestudio.UntagResourceInput, ...request.Option) (*nimblestudio.UntagResourceOutput, error) + UntagResourceRequest(*nimblestudio.UntagResourceInput) (*request.Request, *nimblestudio.UntagResourceOutput) + + UpdateLaunchProfile(*nimblestudio.UpdateLaunchProfileInput) (*nimblestudio.UpdateLaunchProfileOutput, error) + UpdateLaunchProfileWithContext(aws.Context, *nimblestudio.UpdateLaunchProfileInput, ...request.Option) (*nimblestudio.UpdateLaunchProfileOutput, error) + UpdateLaunchProfileRequest(*nimblestudio.UpdateLaunchProfileInput) (*request.Request, *nimblestudio.UpdateLaunchProfileOutput) + + UpdateLaunchProfileMember(*nimblestudio.UpdateLaunchProfileMemberInput) (*nimblestudio.UpdateLaunchProfileMemberOutput, error) + UpdateLaunchProfileMemberWithContext(aws.Context, *nimblestudio.UpdateLaunchProfileMemberInput, ...request.Option) (*nimblestudio.UpdateLaunchProfileMemberOutput, error) + UpdateLaunchProfileMemberRequest(*nimblestudio.UpdateLaunchProfileMemberInput) (*request.Request, *nimblestudio.UpdateLaunchProfileMemberOutput) + + UpdateStreamingImage(*nimblestudio.UpdateStreamingImageInput) (*nimblestudio.UpdateStreamingImageOutput, error) + UpdateStreamingImageWithContext(aws.Context, *nimblestudio.UpdateStreamingImageInput, ...request.Option) (*nimblestudio.UpdateStreamingImageOutput, error) + UpdateStreamingImageRequest(*nimblestudio.UpdateStreamingImageInput) (*request.Request, *nimblestudio.UpdateStreamingImageOutput) + + UpdateStudio(*nimblestudio.UpdateStudioInput) (*nimblestudio.UpdateStudioOutput, error) + UpdateStudioWithContext(aws.Context, *nimblestudio.UpdateStudioInput, ...request.Option) (*nimblestudio.UpdateStudioOutput, error) + UpdateStudioRequest(*nimblestudio.UpdateStudioInput) (*request.Request, *nimblestudio.UpdateStudioOutput) + + UpdateStudioComponent(*nimblestudio.UpdateStudioComponentInput) (*nimblestudio.UpdateStudioComponentOutput, error) + UpdateStudioComponentWithContext(aws.Context, *nimblestudio.UpdateStudioComponentInput, ...request.Option) (*nimblestudio.UpdateStudioComponentOutput, error) + UpdateStudioComponentRequest(*nimblestudio.UpdateStudioComponentInput) (*request.Request, *nimblestudio.UpdateStudioComponentOutput) +} + +var _ NimbleStudioAPI = (*nimblestudio.NimbleStudio)(nil) diff --git a/service/nimblestudio/service.go b/service/nimblestudio/service.go new file mode 100644 index 0000000000..d8d3aa5902 --- /dev/null +++ b/service/nimblestudio/service.go @@ -0,0 +1,104 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package nimblestudio + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/client" + "github.com/aws/aws-sdk-go/aws/client/metadata" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/aws/signer/v4" + "github.com/aws/aws-sdk-go/private/protocol" + "github.com/aws/aws-sdk-go/private/protocol/restjson" +) + +// NimbleStudio provides the API operation methods for making requests to +// AmazonNimbleStudio. See this package's package overview docs +// for details on the service. +// +// NimbleStudio methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type NimbleStudio struct { + *client.Client +} + +// Used for custom client initialization logic +var initClient func(*client.Client) + +// Used for custom request initialization logic +var initRequest func(*request.Request) + +// Service information constants +const ( + ServiceName = "nimble" // Name of service. + EndpointsID = ServiceName // ID to lookup a service endpoint with. + ServiceID = "nimble" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the NimbleStudio client with a session. +// If additional configuration is needed for the client instance use the optional +// aws.Config parameter to add your extra config. +// +// Example: +// mySession := session.Must(session.NewSession()) +// +// // Create a NimbleStudio client from just a session. +// svc := nimblestudio.New(mySession) +// +// // Create a NimbleStudio client with additional configuration +// svc := nimblestudio.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *NimbleStudio { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "nimble" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *NimbleStudio { + svc := &NimbleStudio{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2020-08-01", + }, + handlers, + ), + } + + // Handlers + svc.Handlers.Sign.PushBackNamed(v4.SignRequestHandler) + svc.Handlers.Build.PushBackNamed(restjson.BuildHandler) + svc.Handlers.Unmarshal.PushBackNamed(restjson.UnmarshalHandler) + svc.Handlers.UnmarshalMeta.PushBackNamed(restjson.UnmarshalMetaHandler) + svc.Handlers.UnmarshalError.PushBackNamed( + protocol.NewUnmarshalErrorHandler(restjson.NewUnmarshalTypedError(exceptionFromCode)).NamedHandler(), + ) + + // Run custom client initialization if present + if initClient != nil { + initClient(svc.Client) + } + + return svc +} + +// newRequest creates a new request for a NimbleStudio operation and runs any +// custom request initialization. +func (c *NimbleStudio) newRequest(op *request.Operation, params, data interface{}) *request.Request { + req := c.NewRequest(op, params, data) + + // Run custom request initialization if present + if initRequest != nil { + initRequest(req) + } + + return req +}