diff --git a/CHANGELOG.md b/CHANGELOG.md index 1722c4e8821..111417ce4d5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +Release v1.48.8 (2023-11-29) +=== + +### Service Client Updates +* `service/application-autoscaling`: Updates service API and documentation +* `service/cleanrooms`: Updates service API, documentation, and paginators +* `service/cleanroomsml`: Adds new service +* `service/opensearch`: Updates service API and documentation +* `service/opensearchserverless`: Updates service API and documentation +* `service/runtime.sagemaker`: Updates service API and documentation +* `service/sagemaker`: Updates service API, documentation, and paginators + * This release adds following support 1/ Improved SDK tooling for model deployment. 2/ New Inference Component based features to lower inference costs and latency 3/ SageMaker HyperPod management. 4/ Additional parameters for FM Fine Tuning in Autopilot +* `service/sts`: Updates service documentation + * Documentation updates for AWS Security Token Service. + Release v1.48.7 (2023-11-28) === diff --git a/aws/version.go b/aws/version.go index 77340c96a1a..1ccf825de42 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.48.7" +const SDKVersion = "1.48.8" diff --git a/models/apis/application-autoscaling/2016-02-06/api-2.json b/models/apis/application-autoscaling/2016-02-06/api-2.json index 4b885d6b4ca..15b494b77a3 100644 --- a/models/apis/application-autoscaling/2016-02-06/api-2.json +++ b/models/apis/application-autoscaling/2016-02-06/api-2.json @@ -510,7 +510,8 @@ "ElastiCacheDatabaseMemoryUsageCountedForEvictPercentage", "NeptuneReaderAverageCPUUtilization", "SageMakerVariantProvisionedConcurrencyUtilization", - "ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage" + "ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage", + "SageMakerInferenceComponentInvocationsPerCopy" ] }, "MetricUnit":{"type":"string"}, @@ -685,7 +686,8 @@ "elasticache:replication-group:NodeGroups", "elasticache:replication-group:Replicas", "neptune:cluster:ReadReplicaCount", - "sagemaker:variant:DesiredProvisionedConcurrency" + "sagemaker:variant:DesiredProvisionedConcurrency", + "sagemaker:inference-component:DesiredCopyCount" ] }, "ScalableTarget":{ diff --git a/models/apis/application-autoscaling/2016-02-06/docs-2.json b/models/apis/application-autoscaling/2016-02-06/docs-2.json index 728c0f87b7d..1d9cae74c9a 100644 --- a/models/apis/application-autoscaling/2016-02-06/docs-2.json +++ b/models/apis/application-autoscaling/2016-02-06/docs-2.json @@ -1,8 +1,8 @@ { "version": "2.0", - "service": "

With Application Auto Scaling, you can configure automatic scaling for the following resources:

To learn more about Application Auto Scaling, see the Application Auto Scaling User Guide.

API Summary

The Application Auto Scaling service API includes three key sets of actions:

", + "service": "

With Application Auto Scaling, you can configure automatic scaling for the following resources:

To learn more about Application Auto Scaling, see the Application Auto Scaling User Guide.

API Summary

The Application Auto Scaling service API includes three key sets of actions:

", "operations": { - "DeleteScalingPolicy": "

Deletes the specified scaling policy for an Application Auto Scaling scalable target.

Deleting a step scaling policy deletes the underlying alarm action, but does not delete the CloudWatch alarm associated with the scaling policy, even if it no longer has an associated action.

For more information, see Delete a step scaling policy and Delete a target tracking scaling policy in the Application Auto Scaling User Guide.

", + "DeleteScalingPolicy": "

Deletes the specified scaling policy for an Application Auto Scaling scalable target.

Deleting a step scaling policy deletes the underlying alarm action, but does not delete the CloudWatch alarm associated with the scaling policy, even if it no longer has an associated action.

For more information, see Delete a step scaling policy and Delete a target tracking scaling policy in the Application Auto Scaling User Guide.

", "DeleteScheduledAction": "

Deletes the specified scheduled action for an Application Auto Scaling scalable target.

For more information, see Delete a scheduled action in the Application Auto Scaling User Guide.

", "DeregisterScalableTarget": "

Deregisters an Application Auto Scaling scalable target when you have finished using it. To see which resources have been registered, use DescribeScalableTargets.

Deregistering a scalable target deletes the scaling policies and the scheduled actions that are associated with it.

", "DescribeScalableTargets": "

Gets information about the scalable targets in the specified namespace.

You can filter the results using ResourceIds and ScalableDimension.

", @@ -54,9 +54,9 @@ "Cooldown": { "base": null, "refs": { - "StepScalingPolicyConfiguration$Cooldown": "

The amount of time, in seconds, to wait for a previous scaling activity to take effect. If not specified, the default value is 300. For more information, see Cooldown period in the Application Auto Scaling User Guide.

", - "TargetTrackingScalingPolicyConfiguration$ScaleOutCooldown": "

The amount of time, in seconds, to wait for a previous scale-out activity to take effect. For more information and for default values, see Define cooldown periods in the Application Auto Scaling User Guide.

", - "TargetTrackingScalingPolicyConfiguration$ScaleInCooldown": "

The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start. For more information and for default values, see Define cooldown periods in the Application Auto Scaling User Guide.

" + "StepScalingPolicyConfiguration$Cooldown": "

The amount of time, in seconds, to wait for a previous scaling activity to take effect. If not specified, the default value is 300. For more information, see Cooldown period in the Application Auto Scaling User Guide.

", + "TargetTrackingScalingPolicyConfiguration$ScaleOutCooldown": "

The amount of time, in seconds, to wait for a previous scale-out activity to take effect. For more information and for default values, see Define cooldown periods in the Application Auto Scaling User Guide.

", + "TargetTrackingScalingPolicyConfiguration$ScaleInCooldown": "

The amount of time, in seconds, after a scale-in activity completes before another scale-in activity can start. For more information and for default values, see Define cooldown periods in the Application Auto Scaling User Guide.

" } }, "CustomizedMetricSpecification": { @@ -318,12 +318,12 @@ "PolicyType": { "base": null, "refs": { - "PutScalingPolicyRequest$PolicyType": "

The scaling policy type. This parameter is required if you are creating a scaling policy.

The following policy types are supported:

TargetTrackingScaling—Not supported for Amazon EMR

StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune.

For more information, see Target tracking scaling policies and Step scaling policies in the Application Auto Scaling User Guide.

", + "PutScalingPolicyRequest$PolicyType": "

The scaling policy type. This parameter is required if you are creating a scaling policy.

The following policy types are supported:

TargetTrackingScaling—Not supported for Amazon EMR.

StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune.

For more information, see Target tracking scaling policies and Step scaling policies in the Application Auto Scaling User Guide.

", "ScalingPolicy$PolicyType": "

The scaling policy type.

The following policy types are supported:

TargetTrackingScaling—Not supported for Amazon EMR

StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune.

" } }, "PredefinedMetricSpecification": { - "base": "

Represents a predefined metric for a target tracking scaling policy to use with Application Auto Scaling.

Only the Amazon Web Services that you're using send metrics to Amazon CloudWatch. To determine whether a desired metric already exists by looking up its namespace and dimension using the CloudWatch metrics dashboard in the console, follow the procedure in Building dashboards with CloudWatch in the Application Auto Scaling User Guide.

", + "base": "

Represents a predefined metric for a target tracking scaling policy to use with Application Auto Scaling.

Only the Amazon Web Services that you're using send metrics to Amazon CloudWatch. To determine whether a desired metric already exists by looking up its namespace and dimension using the CloudWatch metrics dashboard in the console, follow the procedure in Monitor your resources using CloudWatch in the Application Auto Scaling User Guide.

", "refs": { "TargetTrackingScalingPolicyConfiguration$PredefinedMetricSpecification": "

A predefined metric. You can specify either a predefined metric or a customized metric.

" } @@ -384,36 +384,36 @@ "base": null, "refs": { "DeleteScalingPolicyRequest$PolicyName": "

The name of the scaling policy.

", - "DeleteScalingPolicyRequest$ResourceId": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", + "DeleteScalingPolicyRequest$ResourceId": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", "DeleteScheduledActionRequest$ScheduledActionName": "

The name of the scheduled action.

", - "DeleteScheduledActionRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", - "DeregisterScalableTargetRequest$ResourceId": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", - "DescribeScalingActivitiesRequest$ResourceId": "

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.

", - "DescribeScalingPoliciesRequest$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

", - "DescribeScheduledActionsRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", - "PutScalingPolicyRequest$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

", + "DeleteScheduledActionRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", + "DeregisterScalableTargetRequest$ResourceId": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", + "DescribeScalingActivitiesRequest$ResourceId": "

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.

", + "DescribeScalingPoliciesRequest$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

", + "DescribeScheduledActionsRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", + "PutScalingPolicyRequest$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

", "PutScalingPolicyResponse$PolicyARN": "

The Amazon Resource Name (ARN) of the resulting scaling policy.

", "PutScheduledActionRequest$Schedule": "

The schedule for this action. The following formats are supported:

At expressions are useful for one-time schedules. Cron expressions are useful for scheduled actions that run periodically at a specified date and time, and rate expressions are useful for scheduled actions that run at a regular interval.

At and cron expressions use Universal Coordinated Time (UTC) by default.

The cron format consists of six fields separated by white spaces: [Minutes] [Hours] [Day_of_Month] [Month] [Day_of_Week] [Year].

For rate expressions, value is a positive integer and unit is minute | minutes | hour | hours | day | days.

For more information and examples, see Example scheduled actions for Application Auto Scaling in the Application Auto Scaling User Guide.

", "PutScheduledActionRequest$Timezone": "

Specifies the time zone used when setting a scheduled action by using an at or cron expression. If a time zone is not provided, UTC is used by default.

Valid values are the canonical names of the IANA time zones supported by Joda-Time (such as Etc/GMT+9 or Pacific/Tahiti). For more information, see https://www.joda.org/joda-time/timezones.html.

", - "PutScheduledActionRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", - "RegisterScalableTargetRequest$ResourceId": "

The identifier of the resource that is associated with the scalable target. This string consists of the resource type and unique identifier.

", + "PutScheduledActionRequest$ResourceId": "

The identifier of the resource associated with the scheduled action. This string consists of the resource type and unique identifier.

", + "RegisterScalableTargetRequest$ResourceId": "

The identifier of the resource that is associated with the scalable target. This string consists of the resource type and unique identifier.

", "RegisterScalableTargetRequest$RoleARN": "

This parameter is required for services that do not support service-linked roles (such as Amazon EMR), and it must specify the ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.

If the service supports service-linked roles, Application Auto Scaling uses a service-linked role, which it creates if it does not yet exist. For more information, see Application Auto Scaling IAM roles.

", "ResourceIdsMaxLen1600$member": null, - "ScalableTarget$ResourceId": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", + "ScalableTarget$ResourceId": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", "ScalableTarget$RoleARN": "

The ARN of an IAM role that allows Application Auto Scaling to modify the scalable target on your behalf.

", - "ScalingActivity$ResourceId": "

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.

", + "ScalingActivity$ResourceId": "

The identifier of the resource associated with the scaling activity. This string consists of the resource type and unique identifier.

", "ScalingPolicy$PolicyARN": "

The Amazon Resource Name (ARN) of the scaling policy.

", - "ScalingPolicy$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

", + "ScalingPolicy$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

", "ScheduledAction$ScheduledActionARN": "

The Amazon Resource Name (ARN) of the scheduled action.

", "ScheduledAction$Schedule": "

The schedule for this action. The following formats are supported:

At expressions are useful for one-time schedules. Cron expressions are useful for scheduled actions that run periodically at a specified date and time, and rate expressions are useful for scheduled actions that run at a regular interval.

At and cron expressions use Universal Coordinated Time (UTC) by default.

The cron format consists of six fields separated by white spaces: [Minutes] [Hours] [Day_of_Month] [Month] [Day_of_Week] [Year].

For rate expressions, value is a positive integer and unit is minute | minutes | hour | hours | day | days.

For more information and examples, see Example scheduled actions for Application Auto Scaling in the Application Auto Scaling User Guide.

", "ScheduledAction$Timezone": "

The time zone used when referring to the date and time of a scheduled action, when the scheduled action uses an at or cron expression.

", - "ScheduledAction$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

" + "ScheduledAction$ResourceId": "

The identifier of the resource associated with the scaling policy. This string consists of the resource type and unique identifier.

" } }, "ResourceIdsMaxLen1600": { "base": null, "refs": { - "DescribeScalableTargetsRequest$ResourceIds": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", + "DescribeScalableTargetsRequest$ResourceIds": "

The identifier of the resource associated with the scalable target. This string consists of the resource type and unique identifier.

", "DescribeScalingPoliciesRequest$PolicyNames": "

The names of the scaling policies to describe.

", "DescribeScheduledActionsRequest$ScheduledActionNames": "

The names of the scheduled actions to describe.

" } @@ -438,20 +438,20 @@ "ScalableDimension": { "base": null, "refs": { - "DeleteScalingPolicyRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", - "DeleteScheduledActionRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", - "DeregisterScalableTargetRequest$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

", - "DescribeScalableTargetsRequest$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", - "DescribeScalingActivitiesRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", - "DescribeScalingPoliciesRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", - "DescribeScheduledActionsRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", - "PutScalingPolicyRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", - "PutScheduledActionRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", - "RegisterScalableTargetRequest$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

", - "ScalableTarget$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

", - "ScalingActivity$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", - "ScalingPolicy$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", - "ScheduledAction$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

" + "DeleteScalingPolicyRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", + "DeleteScheduledActionRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", + "DeregisterScalableTargetRequest$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

", + "DescribeScalableTargetsRequest$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", + "DescribeScalingActivitiesRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", + "DescribeScalingPoliciesRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", + "DescribeScheduledActionsRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property. If you specify a scalable dimension, you must also specify a resource ID.

", + "PutScalingPolicyRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", + "PutScheduledActionRequest$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", + "RegisterScalableTargetRequest$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

", + "ScalableTarget$ScalableDimension": "

The scalable dimension associated with the scalable target. This string consists of the service namespace, resource type, and scaling property.

", + "ScalingActivity$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", + "ScalingPolicy$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

", + "ScheduledAction$ScalableDimension": "

The scalable dimension. This string consists of the service namespace, resource type, and scaling property.

" } }, "ScalableTarget": { diff --git a/models/apis/application-autoscaling/2016-02-06/endpoint-rule-set-1.json b/models/apis/application-autoscaling/2016-02-06/endpoint-rule-set-1.json index b335dbc7919..3e4f23e3302 100644 --- a/models/apis/application-autoscaling/2016-02-06/endpoint-rule-set-1.json +++ b/models/apis/application-autoscaling/2016-02-06/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -58,318 +57,283 @@ "type": "error" }, { - "conditions": [], - "type": "tree", - "rules": [ + "conditions": [ { - "conditions": [ + "fn": "booleanEquals", + "argv": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" + "ref": "UseDualStack" }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + true + ] } - ] + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, { - "conditions": [], - "type": "tree", + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], "rules": [ { "conditions": [ { - "fn": "isSet", + "fn": "aws.partition", "argv": [ { "ref": "Region" } - ] + ], + "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "booleanEquals", "argv": [ { - "ref": "Region" - } - ], - "assign": "PartitionResult" + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseFIPS" - }, - true + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] }, { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://application-autoscaling-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, + } + ], + "rules": [ { "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" + "endpoint": { + "url": "https://application-autoscaling-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] }, true ] } ], - "type": "tree", "rules": [ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "stringEquals", - "argv": [ - "aws-us-gov", - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "name" - ] - } - ] - } - ], - "endpoint": { - "url": "https://application-autoscaling.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" }, - { - "conditions": [], - "endpoint": { - "url": "https://application-autoscaling-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "aws-us-gov" ] } - ] + ], + "endpoint": { + "url": "https://application-autoscaling.{Region}.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" + "endpoint": { + "url": "https://application-autoscaling-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] + ], + "type": "tree" }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ + true, { - "ref": "UseDualStack" - }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", + "fn": "getAttr", "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "type": "tree", - "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://application-autoscaling.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } + "ref": "PartitionResult" + }, + "supportsDualStack" ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } - ] - }, - { - "conditions": [], - "type": "tree", + ], "rules": [ { "conditions": [], "endpoint": { - "url": "https://application-autoscaling.{Region}.{PartitionResult#dnsSuffix}", + "url": "https://application-autoscaling.{Region}.{PartitionResult#dualStackDnsSuffix}", "properties": {}, "headers": {} }, "type": "endpoint" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://application-autoscaling.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } - ] - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" + ], + "type": "tree" } - ] + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } \ No newline at end of file diff --git a/models/apis/cleanrooms/2022-02-17/api-2.json b/models/apis/cleanrooms/2022-02-17/api-2.json index eb86fc8135e..698a9eea419 100644 --- a/models/apis/cleanrooms/2022-02-17/api-2.json +++ b/models/apis/cleanrooms/2022-02-17/api-2.json @@ -82,6 +82,25 @@ {"shape":"AccessDeniedException"} ] }, + "CreateConfiguredAudienceModelAssociation":{ + "name":"CreateConfiguredAudienceModelAssociation", + "http":{ + "method":"POST", + "requestUri":"/memberships/{membershipIdentifier}/configuredaudiencemodelassociations", + "responseCode":200 + }, + "input":{"shape":"CreateConfiguredAudienceModelAssociationInput"}, + "output":{"shape":"CreateConfiguredAudienceModelAssociationOutput"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, "CreateConfiguredTable":{ "name":"CreateConfiguredTable", "http":{ @@ -159,6 +178,24 @@ {"shape":"AccessDeniedException"} ] }, + "CreatePrivacyBudgetTemplate":{ + "name":"CreatePrivacyBudgetTemplate", + "http":{ + "method":"POST", + "requestUri":"/memberships/{membershipIdentifier}/privacybudgettemplates", + "responseCode":200 + }, + "input":{"shape":"CreatePrivacyBudgetTemplateInput"}, + "output":{"shape":"CreatePrivacyBudgetTemplateOutput"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, "DeleteAnalysisTemplate":{ "name":"DeleteAnalysisTemplate", "http":{ @@ -194,6 +231,24 @@ ], "idempotent":true }, + "DeleteConfiguredAudienceModelAssociation":{ + "name":"DeleteConfiguredAudienceModelAssociation", + "http":{ + "method":"DELETE", + "requestUri":"/memberships/{membershipIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", + "responseCode":204 + }, + "input":{"shape":"DeleteConfiguredAudienceModelAssociationInput"}, + "output":{"shape":"DeleteConfiguredAudienceModelAssociationOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "idempotent":true + }, "DeleteConfiguredTable":{ "name":"DeleteConfiguredTable", "http":{ @@ -289,6 +344,24 @@ ], "idempotent":true }, + "DeletePrivacyBudgetTemplate":{ + "name":"DeletePrivacyBudgetTemplate", + "http":{ + "method":"DELETE", + "requestUri":"/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", + "responseCode":204 + }, + "input":{"shape":"DeletePrivacyBudgetTemplateInput"}, + "output":{"shape":"DeletePrivacyBudgetTemplateOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ], + "idempotent":true + }, "GetAnalysisTemplate":{ "name":"GetAnalysisTemplate", "http":{ @@ -339,6 +412,57 @@ {"shape":"AccessDeniedException"} ] }, + "GetCollaborationConfiguredAudienceModelAssociation":{ + "name":"GetCollaborationConfiguredAudienceModelAssociation", + "http":{ + "method":"GET", + "requestUri":"/collaborations/{collaborationIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetCollaborationConfiguredAudienceModelAssociationInput"}, + "output":{"shape":"GetCollaborationConfiguredAudienceModelAssociationOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "GetCollaborationPrivacyBudgetTemplate":{ + "name":"GetCollaborationPrivacyBudgetTemplate", + "http":{ + "method":"GET", + "requestUri":"/collaborations/{collaborationIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetCollaborationPrivacyBudgetTemplateInput"}, + "output":{"shape":"GetCollaborationPrivacyBudgetTemplateOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "GetConfiguredAudienceModelAssociation":{ + "name":"GetConfiguredAudienceModelAssociation", + "http":{ + "method":"GET", + "requestUri":"/memberships/{membershipIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetConfiguredAudienceModelAssociationInput"}, + "output":{"shape":"GetConfiguredAudienceModelAssociationOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, "GetConfiguredTable":{ "name":"GetConfiguredTable", "http":{ @@ -407,6 +531,23 @@ {"shape":"AccessDeniedException"} ] }, + "GetPrivacyBudgetTemplate":{ + "name":"GetPrivacyBudgetTemplate", + "http":{ + "method":"GET", + "requestUri":"/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", + "responseCode":200 + }, + "input":{"shape":"GetPrivacyBudgetTemplateInput"}, + "output":{"shape":"GetPrivacyBudgetTemplateOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, "GetProtectedQuery":{ "name":"GetProtectedQuery", "http":{ @@ -492,6 +633,57 @@ {"shape":"AccessDeniedException"} ] }, + "ListCollaborationConfiguredAudienceModelAssociations":{ + "name":"ListCollaborationConfiguredAudienceModelAssociations", + "http":{ + "method":"GET", + "requestUri":"/collaborations/{collaborationIdentifier}/configuredaudiencemodelassociations", + "responseCode":200 + }, + "input":{"shape":"ListCollaborationConfiguredAudienceModelAssociationsInput"}, + "output":{"shape":"ListCollaborationConfiguredAudienceModelAssociationsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListCollaborationPrivacyBudgetTemplates":{ + "name":"ListCollaborationPrivacyBudgetTemplates", + "http":{ + "method":"GET", + "requestUri":"/collaborations/{collaborationIdentifier}/privacybudgettemplates", + "responseCode":200 + }, + "input":{"shape":"ListCollaborationPrivacyBudgetTemplatesInput"}, + "output":{"shape":"ListCollaborationPrivacyBudgetTemplatesOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListCollaborationPrivacyBudgets":{ + "name":"ListCollaborationPrivacyBudgets", + "http":{ + "method":"GET", + "requestUri":"/collaborations/{collaborationIdentifier}/privacybudgets", + "responseCode":200 + }, + "input":{"shape":"ListCollaborationPrivacyBudgetsInput"}, + "output":{"shape":"ListCollaborationPrivacyBudgetsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, "ListCollaborations":{ "name":"ListCollaborations", "http":{ @@ -508,6 +700,23 @@ {"shape":"AccessDeniedException"} ] }, + "ListConfiguredAudienceModelAssociations":{ + "name":"ListConfiguredAudienceModelAssociations", + "http":{ + "method":"GET", + "requestUri":"/memberships/{membershipIdentifier}/configuredaudiencemodelassociations", + "responseCode":200 + }, + "input":{"shape":"ListConfiguredAudienceModelAssociationsInput"}, + "output":{"shape":"ListConfiguredAudienceModelAssociationsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, "ListConfiguredTableAssociations":{ "name":"ListConfiguredTableAssociations", "http":{ @@ -574,6 +783,40 @@ {"shape":"AccessDeniedException"} ] }, + "ListPrivacyBudgetTemplates":{ + "name":"ListPrivacyBudgetTemplates", + "http":{ + "method":"GET", + "requestUri":"/memberships/{membershipIdentifier}/privacybudgettemplates", + "responseCode":200 + }, + "input":{"shape":"ListPrivacyBudgetTemplatesInput"}, + "output":{"shape":"ListPrivacyBudgetTemplatesOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListPrivacyBudgets":{ + "name":"ListPrivacyBudgets", + "http":{ + "method":"GET", + "requestUri":"/memberships/{membershipIdentifier}/privacybudgets", + "responseCode":200 + }, + "input":{"shape":"ListPrivacyBudgetsInput"}, + "output":{"shape":"ListPrivacyBudgetsOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, "ListProtectedQueries":{ "name":"ListProtectedQueries", "http":{ @@ -622,6 +865,23 @@ {"shape":"ValidationException"} ] }, + "PreviewPrivacyImpact":{ + "name":"PreviewPrivacyImpact", + "http":{ + "method":"POST", + "requestUri":"/memberships/{membershipIdentifier}/previewprivacyimpact", + "responseCode":200 + }, + "input":{"shape":"PreviewPrivacyImpactInput"}, + "output":{"shape":"PreviewPrivacyImpactOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, "StartProtectedQuery":{ "name":"StartProtectedQuery", "http":{ @@ -701,6 +961,23 @@ {"shape":"AccessDeniedException"} ] }, + "UpdateConfiguredAudienceModelAssociation":{ + "name":"UpdateConfiguredAudienceModelAssociation", + "http":{ + "method":"PATCH", + "requestUri":"/memberships/{membershipIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", + "responseCode":200 + }, + "input":{"shape":"UpdateConfiguredAudienceModelAssociationInput"}, + "output":{"shape":"UpdateConfiguredAudienceModelAssociationOutput"}, + "errors":[ + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, "UpdateConfiguredTable":{ "name":"UpdateConfiguredTable", "http":{ @@ -773,6 +1050,24 @@ {"shape":"AccessDeniedException"} ] }, + "UpdatePrivacyBudgetTemplate":{ + "name":"UpdatePrivacyBudgetTemplate", + "http":{ + "method":"PATCH", + "requestUri":"/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", + "responseCode":200 + }, + "input":{"shape":"UpdatePrivacyBudgetTemplateInput"}, + "output":{"shape":"UpdatePrivacyBudgetTemplateOutput"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"InternalServerException"}, + {"shape":"ValidationException"}, + {"shape":"ThrottlingException"}, + {"shape":"AccessDeniedException"} + ] + }, "UpdateProtectedQuery":{ "name":"UpdateProtectedQuery", "http":{ @@ -961,7 +1256,8 @@ "required":["allowedAnalyses"], "members":{ "allowedAnalyses":{"shape":"AnalysisRuleCustomAllowedAnalysesList"}, - "allowedAnalysisProviders":{"shape":"AnalysisRuleCustomAllowedAnalysisProvidersList"} + "allowedAnalysisProviders":{"shape":"AnalysisRuleCustomAllowedAnalysisProvidersList"}, + "differentialPrivacy":{"shape":"DifferentialPrivacyConfiguration"} } }, "AnalysisRuleCustomAllowedAnalysesList":{ @@ -1325,6 +1621,60 @@ "min":0, "pattern":"arn:aws:[\\w]+:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:collaboration/[\\d\\w-]+" }, + "CollaborationConfiguredAudienceModelAssociation":{ + "type":"structure", + "required":[ + "id", + "arn", + "collaborationId", + "collaborationArn", + "configuredAudienceModelArn", + "name", + "creatorAccountId", + "createTime", + "updateTime" + ], + "members":{ + "id":{"shape":"ConfiguredAudienceModelAssociationIdentifier"}, + "arn":{"shape":"ConfiguredAudienceModelAssociationArn"}, + "collaborationId":{"shape":"UUID"}, + "collaborationArn":{"shape":"CollaborationArn"}, + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, + "name":{"shape":"ConfiguredAudienceModelAssociationName"}, + "description":{"shape":"ResourceDescription"}, + "creatorAccountId":{"shape":"AccountId"}, + "createTime":{"shape":"Timestamp"}, + "updateTime":{"shape":"Timestamp"} + } + }, + "CollaborationConfiguredAudienceModelAssociationSummary":{ + "type":"structure", + "required":[ + "arn", + "createTime", + "id", + "name", + "updateTime", + "collaborationArn", + "collaborationId", + "creatorAccountId" + ], + "members":{ + "arn":{"shape":"ConfiguredAudienceModelAssociationArn"}, + "createTime":{"shape":"Timestamp"}, + "id":{"shape":"ConfiguredAudienceModelAssociationIdentifier"}, + "name":{"shape":"ConfiguredAudienceModelAssociationName"}, + "updateTime":{"shape":"Timestamp"}, + "collaborationArn":{"shape":"CollaborationArn"}, + "collaborationId":{"shape":"UUID"}, + "creatorAccountId":{"shape":"AccountId"}, + "description":{"shape":"ResourceDescription"} + } + }, + "CollaborationConfiguredAudienceModelAssociationSummaryList":{ + "type":"list", + "member":{"shape":"CollaborationConfiguredAudienceModelAssociationSummary"} + }, "CollaborationDescription":{ "type":"string", "max":255, @@ -1343,10 +1693,95 @@ "min":1, "pattern":"(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*" }, - "CollaborationQueryLogStatus":{ - "type":"string", - "enum":[ - "ENABLED", + "CollaborationPrivacyBudgetSummary":{ + "type":"structure", + "required":[ + "id", + "privacyBudgetTemplateId", + "privacyBudgetTemplateArn", + "collaborationId", + "collaborationArn", + "creatorAccountId", + "type", + "createTime", + "updateTime", + "budget" + ], + "members":{ + "id":{"shape":"UUID"}, + "privacyBudgetTemplateId":{"shape":"PrivacyBudgetTemplateIdentifier"}, + "privacyBudgetTemplateArn":{"shape":"PrivacyBudgetTemplateArn"}, + "collaborationId":{"shape":"UUID"}, + "collaborationArn":{"shape":"CollaborationArn"}, + "creatorAccountId":{"shape":"AccountId"}, + "type":{"shape":"PrivacyBudgetType"}, + "createTime":{"shape":"Timestamp"}, + "updateTime":{"shape":"Timestamp"}, + "budget":{"shape":"PrivacyBudget"} + } + }, + "CollaborationPrivacyBudgetSummaryList":{ + "type":"list", + "member":{"shape":"CollaborationPrivacyBudgetSummary"} + }, + "CollaborationPrivacyBudgetTemplate":{ + "type":"structure", + "required":[ + "id", + "arn", + "collaborationId", + "collaborationArn", + "creatorAccountId", + "createTime", + "updateTime", + "privacyBudgetType", + "autoRefresh", + "parameters" + ], + "members":{ + "id":{"shape":"PrivacyBudgetTemplateIdentifier"}, + "arn":{"shape":"PrivacyBudgetTemplateArn"}, + "collaborationId":{"shape":"UUID"}, + "collaborationArn":{"shape":"CollaborationArn"}, + "creatorAccountId":{"shape":"AccountId"}, + "createTime":{"shape":"Timestamp"}, + "updateTime":{"shape":"Timestamp"}, + "privacyBudgetType":{"shape":"PrivacyBudgetType"}, + "autoRefresh":{"shape":"PrivacyBudgetTemplateAutoRefresh"}, + "parameters":{"shape":"PrivacyBudgetTemplateParametersOutput"} + } + }, + "CollaborationPrivacyBudgetTemplateSummary":{ + "type":"structure", + "required":[ + "id", + "arn", + "collaborationId", + "collaborationArn", + "creatorAccountId", + "privacyBudgetType", + "createTime", + "updateTime" + ], + "members":{ + "id":{"shape":"PrivacyBudgetTemplateIdentifier"}, + "arn":{"shape":"PrivacyBudgetTemplateArn"}, + "collaborationId":{"shape":"UUID"}, + "collaborationArn":{"shape":"CollaborationArn"}, + "creatorAccountId":{"shape":"AccountId"}, + "privacyBudgetType":{"shape":"PrivacyBudgetType"}, + "createTime":{"shape":"Timestamp"}, + "updateTime":{"shape":"Timestamp"} + } + }, + "CollaborationPrivacyBudgetTemplateSummaryList":{ + "type":"list", + "member":{"shape":"CollaborationPrivacyBudgetTemplateSummary"} + }, + "CollaborationQueryLogStatus":{ + "type":"string", + "enum":[ + "ENABLED", "DISABLED" ] }, @@ -1406,6 +1841,92 @@ "min":0, "pattern":"[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*" }, + "ConfiguredAudienceModelArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:configured-audience-model/[-a-zA-Z0-9_/.]+" + }, + "ConfiguredAudienceModelAssociation":{ + "type":"structure", + "required":[ + "id", + "arn", + "configuredAudienceModelArn", + "membershipId", + "membershipArn", + "collaborationId", + "collaborationArn", + "name", + "manageResourcePolicies", + "createTime", + "updateTime" + ], + "members":{ + "id":{"shape":"ConfiguredAudienceModelAssociationIdentifier"}, + "arn":{"shape":"ConfiguredAudienceModelAssociationArn"}, + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, + "membershipId":{"shape":"UUID"}, + "membershipArn":{"shape":"MembershipArn"}, + "collaborationId":{"shape":"UUID"}, + "collaborationArn":{"shape":"CollaborationArn"}, + "name":{"shape":"ConfiguredAudienceModelAssociationName"}, + "manageResourcePolicies":{"shape":"Boolean"}, + "description":{"shape":"ResourceDescription"}, + "createTime":{"shape":"Timestamp"}, + "updateTime":{"shape":"Timestamp"} + } + }, + "ConfiguredAudienceModelAssociationArn":{ + "type":"string", + "max":256, + "min":0, + "pattern":"arn:aws:cleanrooms:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:membership/[\\d\\w-]+/configuredaudiencemodelassociation/[\\d\\w-]+" + }, + "ConfiguredAudienceModelAssociationIdentifier":{ + "type":"string", + "max":36, + "min":36, + "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" + }, + "ConfiguredAudienceModelAssociationName":{ + "type":"string", + "max":100, + "min":1, + "pattern":"(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*" + }, + "ConfiguredAudienceModelAssociationSummary":{ + "type":"structure", + "required":[ + "membershipId", + "membershipArn", + "collaborationArn", + "collaborationId", + "createTime", + "updateTime", + "id", + "arn", + "name", + "configuredAudienceModelArn" + ], + "members":{ + "membershipId":{"shape":"MembershipIdentifier"}, + "membershipArn":{"shape":"MembershipArn"}, + "collaborationArn":{"shape":"CollaborationArn"}, + "collaborationId":{"shape":"UUID"}, + "createTime":{"shape":"Timestamp"}, + "updateTime":{"shape":"Timestamp"}, + "id":{"shape":"UUID"}, + "arn":{"shape":"ConfiguredAudienceModelAssociationArn"}, + "name":{"shape":"ConfiguredAudienceModelAssociationName"}, + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, + "description":{"shape":"ResourceDescription"} + } + }, + "ConfiguredAudienceModelAssociationSummaryList":{ + "type":"list", + "member":{"shape":"ConfiguredAudienceModelAssociationSummary"} + }, "ConfiguredTable":{ "type":"structure", "required":[ @@ -1663,6 +2184,34 @@ "collaboration":{"shape":"Collaboration"} } }, + "CreateConfiguredAudienceModelAssociationInput":{ + "type":"structure", + "required":[ + "membershipIdentifier", + "configuredAudienceModelArn", + "configuredAudienceModelAssociationName", + "manageResourcePolicies" + ], + "members":{ + "membershipIdentifier":{ + "shape":"MembershipIdentifier", + "location":"uri", + "locationName":"membershipIdentifier" + }, + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, + "configuredAudienceModelAssociationName":{"shape":"ConfiguredAudienceModelAssociationName"}, + "manageResourcePolicies":{"shape":"Boolean"}, + "tags":{"shape":"TagMap"}, + "description":{"shape":"ResourceDescription"} + } + }, + "CreateConfiguredAudienceModelAssociationOutput":{ + "type":"structure", + "required":["configuredAudienceModelAssociation"], + "members":{ + "configuredAudienceModelAssociation":{"shape":"ConfiguredAudienceModelAssociation"} + } + }, "CreateConfiguredTableAnalysisRuleInput":{ "type":"structure", "required":[ @@ -1760,6 +2309,33 @@ "membership":{"shape":"Membership"} } }, + "CreatePrivacyBudgetTemplateInput":{ + "type":"structure", + "required":[ + "membershipIdentifier", + "autoRefresh", + "privacyBudgetType", + "parameters" + ], + "members":{ + "membershipIdentifier":{ + "shape":"MembershipIdentifier", + "location":"uri", + "locationName":"membershipIdentifier" + }, + "autoRefresh":{"shape":"PrivacyBudgetTemplateAutoRefresh"}, + "privacyBudgetType":{"shape":"PrivacyBudgetType"}, + "parameters":{"shape":"PrivacyBudgetTemplateParametersInput"}, + "tags":{"shape":"TagMap"} + } + }, + "CreatePrivacyBudgetTemplateOutput":{ + "type":"structure", + "required":["privacyBudgetTemplate"], + "members":{ + "privacyBudgetTemplate":{"shape":"PrivacyBudgetTemplate"} + } + }, "DataEncryptionMetadata":{ "type":"structure", "required":[ @@ -1815,6 +2391,30 @@ "members":{ } }, + "DeleteConfiguredAudienceModelAssociationInput":{ + "type":"structure", + "required":[ + "configuredAudienceModelAssociationIdentifier", + "membershipIdentifier" + ], + "members":{ + "configuredAudienceModelAssociationIdentifier":{ + "shape":"ConfiguredAudienceModelAssociationIdentifier", + "location":"uri", + "locationName":"configuredAudienceModelAssociationIdentifier" + }, + "membershipIdentifier":{ + "shape":"MembershipIdentifier", + "location":"uri", + "locationName":"membershipIdentifier" + } + } + }, + "DeleteConfiguredAudienceModelAssociationOutput":{ + "type":"structure", + "members":{ + } + }, "DeleteConfiguredTableAnalysisRuleInput":{ "type":"structure", "required":[ @@ -1919,6 +2519,200 @@ "members":{ } }, + "DeletePrivacyBudgetTemplateInput":{ + "type":"structure", + "required":[ + "membershipIdentifier", + "privacyBudgetTemplateIdentifier" + ], + "members":{ + "membershipIdentifier":{ + "shape":"MembershipIdentifier", + "location":"uri", + "locationName":"membershipIdentifier" + }, + "privacyBudgetTemplateIdentifier":{ + "shape":"PrivacyBudgetTemplateIdentifier", + "location":"uri", + "locationName":"privacyBudgetTemplateIdentifier" + } + } + }, + "DeletePrivacyBudgetTemplateOutput":{ + "type":"structure", + "members":{ + } + }, + "DifferentialPrivacyAggregationExpression":{ + "type":"string", + "min":1 + }, + "DifferentialPrivacyAggregationType":{ + "type":"string", + "enum":[ + "AVG", + "COUNT", + "COUNT_DISTINCT", + "SUM", + "STDDEV" + ] + }, + "DifferentialPrivacyColumn":{ + "type":"structure", + "required":["name"], + "members":{ + "name":{"shape":"String"} + } + }, + "DifferentialPrivacyColumnList":{ + "type":"list", + "member":{"shape":"DifferentialPrivacyColumn"}, + "max":1, + "min":1 + }, + "DifferentialPrivacyConfiguration":{ + "type":"structure", + "required":["columns"], + "members":{ + "columns":{"shape":"DifferentialPrivacyColumnList"} + } + }, + "DifferentialPrivacyParameters":{ + "type":"structure", + "required":["sensitivityParameters"], + "members":{ + "sensitivityParameters":{"shape":"DifferentialPrivacySensitivityParametersList"} + } + }, + "DifferentialPrivacyPreviewAggregation":{ + "type":"structure", + "required":[ + "type", + "maxCount" + ], + "members":{ + "type":{"shape":"DifferentialPrivacyAggregationType"}, + "maxCount":{"shape":"DifferentialPrivacyPreviewAggregationMaxCountInteger"} + } + }, + "DifferentialPrivacyPreviewAggregationList":{ + "type":"list", + "member":{"shape":"DifferentialPrivacyPreviewAggregation"} + }, + "DifferentialPrivacyPreviewAggregationMaxCountInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "DifferentialPrivacyPreviewParametersInput":{ + "type":"structure", + "required":[ + "epsilon", + "usersNoisePerQuery" + ], + "members":{ + "epsilon":{"shape":"Epsilon"}, + "usersNoisePerQuery":{"shape":"UsersNoisePerQuery"} + } + }, + "DifferentialPrivacyPrivacyBudget":{ + "type":"structure", + "required":[ + "aggregations", + "epsilon" + ], + "members":{ + "aggregations":{"shape":"DifferentialPrivacyPrivacyBudgetAggregationList"}, + "epsilon":{"shape":"Epsilon"} + } + }, + "DifferentialPrivacyPrivacyBudgetAggregation":{ + "type":"structure", + "required":[ + "type", + "maxCount", + "remainingCount" + ], + "members":{ + "type":{"shape":"DifferentialPrivacyAggregationType"}, + "maxCount":{"shape":"DifferentialPrivacyPrivacyBudgetAggregationMaxCountInteger"}, + "remainingCount":{"shape":"DifferentialPrivacyPrivacyBudgetAggregationRemainingCountInteger"} + } + }, + "DifferentialPrivacyPrivacyBudgetAggregationList":{ + "type":"list", + "member":{"shape":"DifferentialPrivacyPrivacyBudgetAggregation"} + }, + "DifferentialPrivacyPrivacyBudgetAggregationMaxCountInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "DifferentialPrivacyPrivacyBudgetAggregationRemainingCountInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "DifferentialPrivacyPrivacyImpact":{ + "type":"structure", + "required":["aggregations"], + "members":{ + "aggregations":{"shape":"DifferentialPrivacyPreviewAggregationList"} + } + }, + "DifferentialPrivacySensitivityParameters":{ + "type":"structure", + "required":[ + "aggregationType", + "aggregationExpression", + "userContributionLimit" + ], + "members":{ + "aggregationType":{"shape":"DifferentialPrivacyAggregationType"}, + "aggregationExpression":{"shape":"DifferentialPrivacyAggregationExpression"}, + "userContributionLimit":{"shape":"DifferentialPrivacySensitivityParametersUserContributionLimitInteger"}, + "minColumnValue":{"shape":"Float"}, + "maxColumnValue":{"shape":"Float"} + } + }, + "DifferentialPrivacySensitivityParametersList":{ + "type":"list", + "member":{"shape":"DifferentialPrivacySensitivityParameters"} + }, + "DifferentialPrivacySensitivityParametersUserContributionLimitInteger":{ + "type":"integer", + "box":true, + "min":0 + }, + "DifferentialPrivacyTemplateParametersInput":{ + "type":"structure", + "required":[ + "epsilon", + "usersNoisePerQuery" + ], + "members":{ + "epsilon":{"shape":"Epsilon"}, + "usersNoisePerQuery":{"shape":"UsersNoisePerQuery"} + } + }, + "DifferentialPrivacyTemplateParametersOutput":{ + "type":"structure", + "required":[ + "epsilon", + "usersNoisePerQuery" + ], + "members":{ + "epsilon":{"shape":"Epsilon"}, + "usersNoisePerQuery":{"shape":"UsersNoisePerQuery"} + } + }, + "DifferentialPrivacyTemplateUpdateParameters":{ + "type":"structure", + "members":{ + "epsilon":{"shape":"Epsilon"}, + "usersNoisePerQuery":{"shape":"UsersNoisePerQuery"} + } + }, "DisplayName":{ "type":"string", "max":100, @@ -1929,6 +2723,12 @@ "type":"double", "box":true }, + "Epsilon":{ + "type":"integer", + "box":true, + "max":20, + "min":1 + }, "FilterableMemberStatus":{ "type":"string", "enum":[ @@ -1936,6 +2736,10 @@ "ACTIVE" ] }, + "Float":{ + "type":"float", + "box":true + }, "GetAnalysisTemplateInput":{ "type":"structure", "required":[ @@ -1988,6 +2792,32 @@ "collaborationAnalysisTemplate":{"shape":"CollaborationAnalysisTemplate"} } }, + "GetCollaborationConfiguredAudienceModelAssociationInput":{ + "type":"structure", + "required":[ + "collaborationIdentifier", + "configuredAudienceModelAssociationIdentifier" + ], + "members":{ + "collaborationIdentifier":{ + "shape":"CollaborationIdentifier", + "location":"uri", + "locationName":"collaborationIdentifier" + }, + "configuredAudienceModelAssociationIdentifier":{ + "shape":"ConfiguredAudienceModelAssociationIdentifier", + "location":"uri", + "locationName":"configuredAudienceModelAssociationIdentifier" + } + } + }, + "GetCollaborationConfiguredAudienceModelAssociationOutput":{ + "type":"structure", + "required":["collaborationConfiguredAudienceModelAssociation"], + "members":{ + "collaborationConfiguredAudienceModelAssociation":{"shape":"CollaborationConfiguredAudienceModelAssociation"} + } + }, "GetCollaborationInput":{ "type":"structure", "required":["collaborationIdentifier"], @@ -2006,6 +2836,58 @@ "collaboration":{"shape":"Collaboration"} } }, + "GetCollaborationPrivacyBudgetTemplateInput":{ + "type":"structure", + "required":[ + "collaborationIdentifier", + "privacyBudgetTemplateIdentifier" + ], + "members":{ + "collaborationIdentifier":{ + "shape":"CollaborationIdentifier", + "location":"uri", + "locationName":"collaborationIdentifier" + }, + "privacyBudgetTemplateIdentifier":{ + "shape":"PrivacyBudgetTemplateIdentifier", + "location":"uri", + "locationName":"privacyBudgetTemplateIdentifier" + } + } + }, + "GetCollaborationPrivacyBudgetTemplateOutput":{ + "type":"structure", + "required":["collaborationPrivacyBudgetTemplate"], + "members":{ + "collaborationPrivacyBudgetTemplate":{"shape":"CollaborationPrivacyBudgetTemplate"} + } + }, + "GetConfiguredAudienceModelAssociationInput":{ + "type":"structure", + "required":[ + "configuredAudienceModelAssociationIdentifier", + "membershipIdentifier" + ], + "members":{ + "configuredAudienceModelAssociationIdentifier":{ + "shape":"ConfiguredAudienceModelAssociationIdentifier", + "location":"uri", + "locationName":"configuredAudienceModelAssociationIdentifier" + }, + "membershipIdentifier":{ + "shape":"MembershipIdentifier", + "location":"uri", + "locationName":"membershipIdentifier" + } + } + }, + "GetConfiguredAudienceModelAssociationOutput":{ + "type":"structure", + "required":["configuredAudienceModelAssociation"], + "members":{ + "configuredAudienceModelAssociation":{"shape":"ConfiguredAudienceModelAssociation"} + } + }, "GetConfiguredTableAnalysisRuleInput":{ "type":"structure", "required":[ @@ -2094,6 +2976,32 @@ "membership":{"shape":"Membership"} } }, + "GetPrivacyBudgetTemplateInput":{ + "type":"structure", + "required":[ + "membershipIdentifier", + "privacyBudgetTemplateIdentifier" + ], + "members":{ + "membershipIdentifier":{ + "shape":"MembershipIdentifier", + "location":"uri", + "locationName":"membershipIdentifier" + }, + "privacyBudgetTemplateIdentifier":{ + "shape":"PrivacyBudgetTemplateIdentifier", + "location":"uri", + "locationName":"privacyBudgetTemplateIdentifier" + } + } + }, + "GetPrivacyBudgetTemplateOutput":{ + "type":"structure", + "required":["privacyBudgetTemplate"], + "members":{ + "privacyBudgetTemplate":{"shape":"PrivacyBudgetTemplate"} + } + }, "GetProtectedQueryInput":{ "type":"structure", "required":[ @@ -2283,12 +3191,107 @@ } } }, - "ListCollaborationAnalysisTemplatesOutput":{ + "ListCollaborationAnalysisTemplatesOutput":{ + "type":"structure", + "required":["collaborationAnalysisTemplateSummaries"], + "members":{ + "nextToken":{"shape":"PaginationToken"}, + "collaborationAnalysisTemplateSummaries":{"shape":"CollaborationAnalysisTemplateSummaryList"} + } + }, + "ListCollaborationConfiguredAudienceModelAssociationsInput":{ + "type":"structure", + "required":["collaborationIdentifier"], + "members":{ + "collaborationIdentifier":{ + "shape":"CollaborationIdentifier", + "location":"uri", + "locationName":"collaborationIdentifier" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListCollaborationConfiguredAudienceModelAssociationsOutput":{ + "type":"structure", + "required":["collaborationConfiguredAudienceModelAssociationSummaries"], + "members":{ + "collaborationConfiguredAudienceModelAssociationSummaries":{"shape":"CollaborationConfiguredAudienceModelAssociationSummaryList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, + "ListCollaborationPrivacyBudgetTemplatesInput":{ + "type":"structure", + "required":["collaborationIdentifier"], + "members":{ + "collaborationIdentifier":{ + "shape":"CollaborationIdentifier", + "location":"uri", + "locationName":"collaborationIdentifier" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListCollaborationPrivacyBudgetTemplatesOutput":{ + "type":"structure", + "required":["collaborationPrivacyBudgetTemplateSummaries"], + "members":{ + "nextToken":{"shape":"PaginationToken"}, + "collaborationPrivacyBudgetTemplateSummaries":{"shape":"CollaborationPrivacyBudgetTemplateSummaryList"} + } + }, + "ListCollaborationPrivacyBudgetsInput":{ + "type":"structure", + "required":[ + "collaborationIdentifier", + "privacyBudgetType" + ], + "members":{ + "collaborationIdentifier":{ + "shape":"CollaborationIdentifier", + "location":"uri", + "locationName":"collaborationIdentifier" + }, + "privacyBudgetType":{ + "shape":"PrivacyBudgetType", + "location":"querystring", + "locationName":"privacyBudgetType" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListCollaborationPrivacyBudgetsOutput":{ "type":"structure", - "required":["collaborationAnalysisTemplateSummaries"], + "required":["collaborationPrivacyBudgetSummaries"], "members":{ - "nextToken":{"shape":"PaginationToken"}, - "collaborationAnalysisTemplateSummaries":{"shape":"CollaborationAnalysisTemplateSummaryList"} + "collaborationPrivacyBudgetSummaries":{"shape":"CollaborationPrivacyBudgetSummaryList"}, + "nextToken":{"shape":"PaginationToken"} } }, "ListCollaborationsInput":{ @@ -2319,6 +3322,35 @@ "collaborationList":{"shape":"CollaborationSummaryList"} } }, + "ListConfiguredAudienceModelAssociationsInput":{ + "type":"structure", + "required":["membershipIdentifier"], + "members":{ + "membershipIdentifier":{ + "shape":"MembershipIdentifier", + "location":"uri", + "locationName":"membershipIdentifier" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListConfiguredAudienceModelAssociationsOutput":{ + "type":"structure", + "required":["configuredAudienceModelAssociationSummaries"], + "members":{ + "configuredAudienceModelAssociationSummaries":{"shape":"ConfiguredAudienceModelAssociationSummaryList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "ListConfiguredTableAssociationsInput":{ "type":"structure", "required":["membershipIdentifier"], @@ -2428,6 +3460,72 @@ "membershipSummaries":{"shape":"MembershipSummaryList"} } }, + "ListPrivacyBudgetTemplatesInput":{ + "type":"structure", + "required":["membershipIdentifier"], + "members":{ + "membershipIdentifier":{ + "shape":"MembershipIdentifier", + "location":"uri", + "locationName":"membershipIdentifier" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListPrivacyBudgetTemplatesOutput":{ + "type":"structure", + "required":["privacyBudgetTemplateSummaries"], + "members":{ + "nextToken":{"shape":"PaginationToken"}, + "privacyBudgetTemplateSummaries":{"shape":"PrivacyBudgetTemplateSummaryList"} + } + }, + "ListPrivacyBudgetsInput":{ + "type":"structure", + "required":[ + "membershipIdentifier", + "privacyBudgetType" + ], + "members":{ + "membershipIdentifier":{ + "shape":"MembershipIdentifier", + "location":"uri", + "locationName":"membershipIdentifier" + }, + "privacyBudgetType":{ + "shape":"PrivacyBudgetType", + "location":"querystring", + "locationName":"privacyBudgetType" + }, + "nextToken":{ + "shape":"PaginationToken", + "location":"querystring", + "locationName":"nextToken" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + } + } + }, + "ListPrivacyBudgetsOutput":{ + "type":"structure", + "required":["privacyBudgetSummaries"], + "members":{ + "privacyBudgetSummaries":{"shape":"PrivacyBudgetSummaryList"}, + "nextToken":{"shape":"PaginationToken"} + } + }, "ListProtectedQueriesInput":{ "type":"structure", "required":["membershipIdentifier"], @@ -2764,6 +3862,184 @@ "queryCompute":{"shape":"QueryComputePaymentConfig"} } }, + "PreviewPrivacyImpactInput":{ + "type":"structure", + "required":[ + "membershipIdentifier", + "parameters" + ], + "members":{ + "membershipIdentifier":{ + "shape":"MembershipIdentifier", + "location":"uri", + "locationName":"membershipIdentifier" + }, + "parameters":{"shape":"PreviewPrivacyImpactParametersInput"} + } + }, + "PreviewPrivacyImpactOutput":{ + "type":"structure", + "required":["privacyImpact"], + "members":{ + "privacyImpact":{"shape":"PrivacyImpact"} + } + }, + "PreviewPrivacyImpactParametersInput":{ + "type":"structure", + "members":{ + "differentialPrivacy":{"shape":"DifferentialPrivacyPreviewParametersInput"} + }, + "union":true + }, + "PrivacyBudget":{ + "type":"structure", + "members":{ + "differentialPrivacy":{"shape":"DifferentialPrivacyPrivacyBudget"} + }, + "union":true + }, + "PrivacyBudgetSummary":{ + "type":"structure", + "required":[ + "id", + "privacyBudgetTemplateId", + "privacyBudgetTemplateArn", + "membershipId", + "membershipArn", + "collaborationId", + "collaborationArn", + "type", + "createTime", + "updateTime", + "budget" + ], + "members":{ + "id":{"shape":"UUID"}, + "privacyBudgetTemplateId":{"shape":"PrivacyBudgetTemplateIdentifier"}, + "privacyBudgetTemplateArn":{"shape":"PrivacyBudgetTemplateArn"}, + "membershipId":{"shape":"MembershipIdentifier"}, + "membershipArn":{"shape":"MembershipArn"}, + "collaborationId":{"shape":"UUID"}, + "collaborationArn":{"shape":"CollaborationArn"}, + "type":{"shape":"PrivacyBudgetType"}, + "createTime":{"shape":"Timestamp"}, + "updateTime":{"shape":"Timestamp"}, + "budget":{"shape":"PrivacyBudget"} + } + }, + "PrivacyBudgetSummaryList":{ + "type":"list", + "member":{"shape":"PrivacyBudgetSummary"} + }, + "PrivacyBudgetTemplate":{ + "type":"structure", + "required":[ + "id", + "arn", + "membershipId", + "membershipArn", + "collaborationId", + "collaborationArn", + "createTime", + "updateTime", + "privacyBudgetType", + "autoRefresh", + "parameters" + ], + "members":{ + "id":{"shape":"PrivacyBudgetTemplateIdentifier"}, + "arn":{"shape":"PrivacyBudgetTemplateArn"}, + "membershipId":{"shape":"UUID"}, + "membershipArn":{"shape":"MembershipArn"}, + "collaborationId":{"shape":"UUID"}, + "collaborationArn":{"shape":"CollaborationArn"}, + "createTime":{"shape":"Timestamp"}, + "updateTime":{"shape":"Timestamp"}, + "privacyBudgetType":{"shape":"PrivacyBudgetType"}, + "autoRefresh":{"shape":"PrivacyBudgetTemplateAutoRefresh"}, + "parameters":{"shape":"PrivacyBudgetTemplateParametersOutput"} + } + }, + "PrivacyBudgetTemplateArn":{ + "type":"string", + "max":100, + "min":0, + "pattern":"arn:aws:[\\w]+:[\\w]{2}-[\\w]{4,9}-[\\d]:[\\d]{12}:privacybudgettemplate/[\\d\\w-]+" + }, + "PrivacyBudgetTemplateAutoRefresh":{ + "type":"string", + "enum":[ + "CALENDAR_MONTH", + "NONE" + ] + }, + "PrivacyBudgetTemplateIdentifier":{ + "type":"string", + "max":36, + "min":36, + "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}" + }, + "PrivacyBudgetTemplateParametersInput":{ + "type":"structure", + "members":{ + "differentialPrivacy":{"shape":"DifferentialPrivacyTemplateParametersInput"} + }, + "union":true + }, + "PrivacyBudgetTemplateParametersOutput":{ + "type":"structure", + "members":{ + "differentialPrivacy":{"shape":"DifferentialPrivacyTemplateParametersOutput"} + }, + "union":true + }, + "PrivacyBudgetTemplateSummary":{ + "type":"structure", + "required":[ + "id", + "arn", + "membershipId", + "membershipArn", + "collaborationId", + "collaborationArn", + "privacyBudgetType", + "createTime", + "updateTime" + ], + "members":{ + "id":{"shape":"PrivacyBudgetTemplateIdentifier"}, + "arn":{"shape":"PrivacyBudgetTemplateArn"}, + "membershipId":{"shape":"UUID"}, + "membershipArn":{"shape":"MembershipArn"}, + "collaborationId":{"shape":"UUID"}, + "collaborationArn":{"shape":"CollaborationArn"}, + "privacyBudgetType":{"shape":"PrivacyBudgetType"}, + "createTime":{"shape":"Timestamp"}, + "updateTime":{"shape":"Timestamp"} + } + }, + "PrivacyBudgetTemplateSummaryList":{ + "type":"list", + "member":{"shape":"PrivacyBudgetTemplateSummary"} + }, + "PrivacyBudgetTemplateUpdateParameters":{ + "type":"structure", + "members":{ + "differentialPrivacy":{"shape":"DifferentialPrivacyTemplateUpdateParameters"} + }, + "union":true + }, + "PrivacyBudgetType":{ + "type":"string", + "enum":["DIFFERENTIAL_PRIVACY"] + }, + "PrivacyImpact":{ + "type":"structure", + "members":{ + "differentialPrivacy":{"shape":"DifferentialPrivacyPrivacyImpact"} + }, + "union":true + }, "ProtectedQuery":{ "type":"structure", "required":[ @@ -2783,7 +4059,8 @@ "resultConfiguration":{"shape":"ProtectedQueryResultConfiguration"}, "statistics":{"shape":"ProtectedQueryStatistics"}, "result":{"shape":"ProtectedQueryResult"}, - "error":{"shape":"ProtectedQueryError"} + "error":{"shape":"ProtectedQueryError"}, + "differentialPrivacy":{"shape":"DifferentialPrivacyParameters"} } }, "ProtectedQueryError":{ @@ -3281,6 +4558,34 @@ "collaboration":{"shape":"Collaboration"} } }, + "UpdateConfiguredAudienceModelAssociationInput":{ + "type":"structure", + "required":[ + "configuredAudienceModelAssociationIdentifier", + "membershipIdentifier" + ], + "members":{ + "configuredAudienceModelAssociationIdentifier":{ + "shape":"ConfiguredAudienceModelAssociationIdentifier", + "location":"uri", + "locationName":"configuredAudienceModelAssociationIdentifier" + }, + "membershipIdentifier":{ + "shape":"MembershipIdentifier", + "location":"uri", + "locationName":"membershipIdentifier" + }, + "description":{"shape":"ResourceDescription"}, + "name":{"shape":"ConfiguredAudienceModelAssociationName"} + } + }, + "UpdateConfiguredAudienceModelAssociationOutput":{ + "type":"structure", + "required":["configuredAudienceModelAssociation"], + "members":{ + "configuredAudienceModelAssociation":{"shape":"ConfiguredAudienceModelAssociation"} + } + }, "UpdateConfiguredTableAnalysisRuleInput":{ "type":"structure", "required":[ @@ -3377,6 +4682,35 @@ "membership":{"shape":"Membership"} } }, + "UpdatePrivacyBudgetTemplateInput":{ + "type":"structure", + "required":[ + "membershipIdentifier", + "privacyBudgetTemplateIdentifier", + "privacyBudgetType" + ], + "members":{ + "membershipIdentifier":{ + "shape":"MembershipIdentifier", + "location":"uri", + "locationName":"membershipIdentifier" + }, + "privacyBudgetTemplateIdentifier":{ + "shape":"PrivacyBudgetTemplateIdentifier", + "location":"uri", + "locationName":"privacyBudgetTemplateIdentifier" + }, + "privacyBudgetType":{"shape":"PrivacyBudgetType"}, + "parameters":{"shape":"PrivacyBudgetTemplateUpdateParameters"} + } + }, + "UpdatePrivacyBudgetTemplateOutput":{ + "type":"structure", + "required":["privacyBudgetTemplate"], + "members":{ + "privacyBudgetTemplate":{"shape":"PrivacyBudgetTemplate"} + } + }, "UpdateProtectedQueryInput":{ "type":"structure", "required":[ @@ -3405,6 +4739,12 @@ "protectedQuery":{"shape":"ProtectedQuery"} } }, + "UsersNoisePerQuery":{ + "type":"integer", + "box":true, + "max":100, + "min":10 + }, "ValidationException":{ "type":"structure", "members":{ diff --git a/models/apis/cleanrooms/2022-02-17/docs-2.json b/models/apis/cleanrooms/2022-02-17/docs-2.json index 5e02fbf574e..a36112d499a 100644 --- a/models/apis/cleanrooms/2022-02-17/docs-2.json +++ b/models/apis/cleanrooms/2022-02-17/docs-2.json @@ -6,46 +6,63 @@ "BatchGetSchema": "

Retrieves multiple schemas by their identifiers.

", "CreateAnalysisTemplate": "

Creates a new analysis template.

", "CreateCollaboration": "

Creates a new collaboration.

", + "CreateConfiguredAudienceModelAssociation": "

Provides the details necessary to create a configured audience model association.

", "CreateConfiguredTable": "

Creates a new configured table resource.

", "CreateConfiguredTableAnalysisRule": "

Creates a new analysis rule for a configured table. Currently, only one analysis rule can be created for a given configured table.

", "CreateConfiguredTableAssociation": "

Creates a configured table association. A configured table association links a configured table with a collaboration.

", "CreateMembership": "

Creates a membership for a specific collaboration identifier and joins the collaboration.

", + "CreatePrivacyBudgetTemplate": "

Creates a privacy budget template for a specified membership. Each membership can have only one privacy budget template, but it can be deleted and recreated. If you need to change the privacy budget template for a membership, use the UpdatePrivacyBudgetTemplate operation.

", "DeleteAnalysisTemplate": "

Deletes an analysis template.

", "DeleteCollaboration": "

Deletes a collaboration. It can only be called by the collaboration owner.

", + "DeleteConfiguredAudienceModelAssociation": "

Provides the information necessary to delete a configured audience model association.

", "DeleteConfiguredTable": "

Deletes a configured table.

", "DeleteConfiguredTableAnalysisRule": "

Deletes a configured table analysis rule.

", "DeleteConfiguredTableAssociation": "

Deletes a configured table association.

", "DeleteMember": "

Removes the specified member from a collaboration. The removed member is placed in the Removed status and can't interact with the collaboration. The removed member's data is inaccessible to active members of the collaboration.

", "DeleteMembership": "

Deletes a specified membership. All resources under a membership must be deleted.

", + "DeletePrivacyBudgetTemplate": "

Deletes a privacy budget template for a specified membership.

", "GetAnalysisTemplate": "

Retrieves an analysis template.

", "GetCollaboration": "

Returns metadata about a collaboration.

", "GetCollaborationAnalysisTemplate": "

Retrieves an analysis template within a collaboration.

", + "GetCollaborationConfiguredAudienceModelAssociation": "

Retrieves a configured audience model association within a collaboration.

", + "GetCollaborationPrivacyBudgetTemplate": "

Returns details about a specified privacy budget template.

", + "GetConfiguredAudienceModelAssociation": "

Returns information about a configured audience model association.

", "GetConfiguredTable": "

Retrieves a configured table.

", "GetConfiguredTableAnalysisRule": "

Retrieves a configured table analysis rule.

", "GetConfiguredTableAssociation": "

Retrieves a configured table association.

", "GetMembership": "

Retrieves a specified membership for an identifier.

", + "GetPrivacyBudgetTemplate": "

Returns details for a specified privacy budget template.

", "GetProtectedQuery": "

Returns query processing metadata.

", "GetSchema": "

Retrieves the schema for a relation within a collaboration.

", "GetSchemaAnalysisRule": "

Retrieves a schema analysis rule.

", "ListAnalysisTemplates": "

Lists analysis templates that the caller owns.

", "ListCollaborationAnalysisTemplates": "

Lists analysis templates within a collaboration.

", + "ListCollaborationConfiguredAudienceModelAssociations": "

Lists configured audience model associations within a collaboration.

", + "ListCollaborationPrivacyBudgetTemplates": "

Returns an array that summarizes each privacy budget template in a specified collaboration.

", + "ListCollaborationPrivacyBudgets": "

Returns an array that summarizes each privacy budget in a specified collaboration. The summary includes the collaboration ARN, creation time, creating account, and privacy budget details.

", "ListCollaborations": "

Lists collaborations the caller owns, is active in, or has been invited to.

", + "ListConfiguredAudienceModelAssociations": "

Lists information about requested configured audience model associations.

", "ListConfiguredTableAssociations": "

Lists configured table associations for a membership.

", "ListConfiguredTables": "

Lists configured tables.

", "ListMembers": "

Lists all members within a collaboration.

", "ListMemberships": "

Lists all memberships resources within the caller's account.

", + "ListPrivacyBudgetTemplates": "

Returns detailed information about the privacy budget templates in a specified membership.

", + "ListPrivacyBudgets": "

Returns detailed information about the privacy budgets in a specified membership.

", "ListProtectedQueries": "

Lists protected queries, sorted by the most recent query.

", "ListSchemas": "

Lists the schemas for relations within a collaboration.

", "ListTagsForResource": "

Lists all of the tags that have been added to a resource.

", + "PreviewPrivacyImpact": "

An estimate of the number of aggregation functions that the member who can query can run given epsilon and noise parameters.

", "StartProtectedQuery": "

Creates a protected query that is started by Clean Rooms.

", "TagResource": "

Tags a resource.

", "UntagResource": "

Removes a tag or list of tags from a resource.

", "UpdateAnalysisTemplate": "

Updates the analysis template metadata.

", "UpdateCollaboration": "

Updates collaboration metadata and can only be called by the collaboration owner.

", + "UpdateConfiguredAudienceModelAssociation": "

Provides the details necessary to update a configured audience model association.

", "UpdateConfiguredTable": "

Updates a configured table.

", "UpdateConfiguredTableAnalysisRule": "

Updates a configured table analysis rule.

", "UpdateConfiguredTableAssociation": "

Updates a configured table association.

", "UpdateMembership": "

Updates a membership.

", + "UpdatePrivacyBudgetTemplate": "

Updates the privacy budget template for the specified membership.

", "UpdateProtectedQuery": "

Updates the processing of a currently running query.

" }, "shapes": { @@ -67,6 +84,11 @@ "Collaboration$creatorAccountId": "

The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

", "CollaborationAnalysisTemplate$creatorAccountId": "

The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

", "CollaborationAnalysisTemplateSummary$creatorAccountId": "

The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

", + "CollaborationConfiguredAudienceModelAssociation$creatorAccountId": "

The identifier used to reference members of the collaboration. Only supports AWS account ID.

", + "CollaborationConfiguredAudienceModelAssociationSummary$creatorAccountId": "

The identifier used to reference members of the collaboration. Only supports AWS account ID.

", + "CollaborationPrivacyBudgetSummary$creatorAccountId": "

The unique identifier of the account that created this privacy budget.

", + "CollaborationPrivacyBudgetTemplate$creatorAccountId": "

The unique identifier of the account that created this collaboration privacy budget template.

", + "CollaborationPrivacyBudgetTemplateSummary$creatorAccountId": "

The unique identifier of the account that created this collaboration privacy budget template.

", "CollaborationSummary$creatorAccountId": "

The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

", "DeleteMemberInput$accountId": "

The account ID of the member to remove.

", "MemberSpecification$accountId": "

The identifier used to reference members of the collaboration. Currently only supports Amazon Web Services account ID.

", @@ -196,7 +218,7 @@ } }, "AnalysisRuleCustom": { - "base": "

A type of analysis rule that enables the table owner to approve custom SQL queries on their configured tables.

", + "base": "

A type of analysis rule that enables the table owner to approve custom SQL queries on their configured tables. It supports differential privacy.

", "refs": { "AnalysisRulePolicyV1$custom": "

Analysis rule type that enables custom SQL queries on a configured table.

", "ConfiguredTableAnalysisRulePolicyV1$custom": null @@ -379,6 +401,8 @@ "Boolean": { "base": null, "refs": { + "ConfiguredAudienceModelAssociation$manageResourcePolicies": "

When TRUE, indicates that the resource policy for the configured audience model resource being associated is configured for Clean Rooms to manage permissions related to the given collaboration. When FALSE, indicates that the configured audience model resource owner will manage permissions related to the given collaboration.

", + "CreateConfiguredAudienceModelAssociationInput$manageResourcePolicies": "

When TRUE, indicates that the resource policy for the configured audience model resource being associated is configured for Clean Rooms to manage permissions related to the given collaboration. When FALSE, indicates that the configured audience model resource owner will manage permissions related to the given collaboration.

Setting this to TRUE requires you to have permissions to create, update, and delete the resource policy for the cleanrooms-ml resource when you call the DeleteConfiguredAudienceModelAssociation resource. In addition, if you are the collaboration creator and specify TRUE, you must have the same permissions when you call the DeleteMember and DeleteCollaboration APIs.

", "DataEncryptionMetadata$allowCleartext": "

Indicates whether encrypted tables can contain cleartext data (TRUE) or are to cryptographically process every column (FALSE).

", "DataEncryptionMetadata$allowDuplicates": "

Indicates whether Fingerprint columns can contain duplicate entries (TRUE) or are to contain only non-repeated values (FALSE).

", "DataEncryptionMetadata$allowJoinsOnColumnsWithDifferentNames": "

Indicates whether Fingerprint columns can be joined on any other Fingerprint column with a different name (TRUE) or can only be joined on Fingerprint columns of the same name (FALSE).

", @@ -436,13 +460,41 @@ "Collaboration$arn": "

The unique ARN for the collaboration.

", "CollaborationAnalysisTemplate$collaborationArn": "

The unique ARN for the analysis template’s associated collaboration.

", "CollaborationAnalysisTemplateSummary$collaborationArn": "

The unique ARN for the analysis template’s associated collaboration.

", + "CollaborationConfiguredAudienceModelAssociation$collaborationArn": "

The unique ARN for the configured audience model's associated collaboration.

", + "CollaborationConfiguredAudienceModelAssociationSummary$collaborationArn": "

The unique ARN for the configured audience model's associated collaboration.

", + "CollaborationPrivacyBudgetSummary$collaborationArn": "

The ARN of the collaboration that includes this privacy budget.

", + "CollaborationPrivacyBudgetTemplate$collaborationArn": "

The ARN of the collaboration that includes this collaboration privacy budget template.

", + "CollaborationPrivacyBudgetTemplateSummary$collaborationArn": "

The ARN of the collaboration that contains this collaboration privacy budget template.

", "CollaborationSummary$arn": "

The ARN of the collaboration.

", + "ConfiguredAudienceModelAssociation$collaborationArn": "

The Amazon Resource Name (ARN) of the collaboration that contains this configured audience model association.

", + "ConfiguredAudienceModelAssociationSummary$collaborationArn": "

The Amazon Resource Name (ARN) of the collaboration that contains the configured audience model association.

", "Membership$collaborationArn": "

The unique ARN for the membership's associated collaboration.

", "MembershipSummary$collaborationArn": "

The unique ARN for the membership's associated collaboration.

", + "PrivacyBudgetSummary$collaborationArn": "

The ARN of the collaboration that contains this privacy budget.

", + "PrivacyBudgetTemplate$collaborationArn": "

The ARN of the collaboration that contains this privacy budget template.

", + "PrivacyBudgetTemplateSummary$collaborationArn": "

The ARN of the collaboration that contains this privacy budget template.

", "Schema$collaborationArn": "

The unique ARN for the collaboration that the schema belongs to.

", "SchemaSummary$collaborationArn": "

The unique ARN for the collaboration that the schema belongs to.

" } }, + "CollaborationConfiguredAudienceModelAssociation": { + "base": "

The configured audience model association within a collaboration.

", + "refs": { + "GetCollaborationConfiguredAudienceModelAssociationOutput$collaborationConfiguredAudienceModelAssociation": "

The metadata of the configured audience model association.

" + } + }, + "CollaborationConfiguredAudienceModelAssociationSummary": { + "base": "

A summary of the configured audience model association in the collaboration.

", + "refs": { + "CollaborationConfiguredAudienceModelAssociationSummaryList$member": null + } + }, + "CollaborationConfiguredAudienceModelAssociationSummaryList": { + "base": null, + "refs": { + "ListCollaborationConfiguredAudienceModelAssociationsOutput$collaborationConfiguredAudienceModelAssociationSummaries": "

The metadata of the configured audience model association within a collaboration.

" + } + }, "CollaborationDescription": { "base": null, "refs": { @@ -461,10 +513,15 @@ "DeleteCollaborationInput$collaborationIdentifier": "

The identifier for the collaboration.

", "DeleteMemberInput$collaborationIdentifier": "

The unique identifier for the associated collaboration.

", "GetCollaborationAnalysisTemplateInput$collaborationIdentifier": "

A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID.

", + "GetCollaborationConfiguredAudienceModelAssociationInput$collaborationIdentifier": "

A unique identifier for the collaboration that the configured audience model association belongs to. Accepts a collaboration ID.

", "GetCollaborationInput$collaborationIdentifier": "

The identifier for the collaboration.

", + "GetCollaborationPrivacyBudgetTemplateInput$collaborationIdentifier": "

A unique identifier for one of your collaborations.

", "GetSchemaAnalysisRuleInput$collaborationIdentifier": "

A unique identifier for the collaboration that the schema belongs to. Currently accepts a collaboration ID.

", "GetSchemaInput$collaborationIdentifier": "

A unique identifier for the collaboration that the schema belongs to. Currently accepts a collaboration ID.

", "ListCollaborationAnalysisTemplatesInput$collaborationIdentifier": "

A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID.

", + "ListCollaborationConfiguredAudienceModelAssociationsInput$collaborationIdentifier": "

A unique identifier for the collaboration that the configured audience model association belongs to. Accepts a collaboration ID.

", + "ListCollaborationPrivacyBudgetTemplatesInput$collaborationIdentifier": "

A unique identifier for one of your collaborations.

", + "ListCollaborationPrivacyBudgetsInput$collaborationIdentifier": "

A unique identifier for one of your collaborations.

", "ListMembersInput$collaborationIdentifier": "

The identifier of the collaboration in which the members are listed.

", "ListSchemasInput$collaborationIdentifier": "

A unique identifier for the collaboration that the schema belongs to. Currently accepts a collaboration ID.

", "MembershipSummary$collaborationId": "

The unique ID for the membership's collaboration.

", @@ -482,6 +539,36 @@ "UpdateCollaborationInput$name": "

A human-readable identifier provided by the collaboration owner. Display names are not unique.

" } }, + "CollaborationPrivacyBudgetSummary": { + "base": "

A summary of the collaboration privacy budgets. This summary includes the collaboration information, creation information, epsilon provided, and utility in terms of aggregations.

", + "refs": { + "CollaborationPrivacyBudgetSummaryList$member": null + } + }, + "CollaborationPrivacyBudgetSummaryList": { + "base": null, + "refs": { + "ListCollaborationPrivacyBudgetsOutput$collaborationPrivacyBudgetSummaries": "

Summaries of the collaboration privacy budgets.

" + } + }, + "CollaborationPrivacyBudgetTemplate": { + "base": "

An array that specifies the information for a collaboration's privacy budget template.

", + "refs": { + "GetCollaborationPrivacyBudgetTemplateOutput$collaborationPrivacyBudgetTemplate": "

Returns the details of the privacy budget template that you requested.

" + } + }, + "CollaborationPrivacyBudgetTemplateSummary": { + "base": "

A summary of the collaboration's privacy budget template. This summary includes information about who created the privacy budget template and what collaborations it belongs to.

", + "refs": { + "CollaborationPrivacyBudgetTemplateSummaryList$member": null + } + }, + "CollaborationPrivacyBudgetTemplateSummaryList": { + "base": null, + "refs": { + "ListCollaborationPrivacyBudgetTemplatesOutput$collaborationPrivacyBudgetTemplateSummaries": "

An array that summarizes the collaboration privacy budget templates. The summary includes collaboration information, creation information, the privacy budget type.

" + } + }, "CollaborationQueryLogStatus": { "base": null, "refs": { @@ -527,6 +614,67 @@ "Column$type": "

The type of the column.

" } }, + "ConfiguredAudienceModelArn": { + "base": null, + "refs": { + "CollaborationConfiguredAudienceModelAssociation$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configure audience model.

", + "ConfiguredAudienceModelAssociation$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model that was used for this configured audience model association.

", + "ConfiguredAudienceModelAssociationSummary$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model that was used for this configured audience model association.

", + "CreateConfiguredAudienceModelAssociationInput$configuredAudienceModelArn": "

A unique identifier for the configured audience model that you want to associate.

" + } + }, + "ConfiguredAudienceModelAssociation": { + "base": "

Details about the configured audience model association.

", + "refs": { + "CreateConfiguredAudienceModelAssociationOutput$configuredAudienceModelAssociation": "

Information about the configured audience model association.

", + "GetConfiguredAudienceModelAssociationOutput$configuredAudienceModelAssociation": "

Information about the configured audience model association that you requested.

", + "UpdateConfiguredAudienceModelAssociationOutput$configuredAudienceModelAssociation": "

Details about the configured audience model association that you updated.

" + } + }, + "ConfiguredAudienceModelAssociationArn": { + "base": null, + "refs": { + "CollaborationConfiguredAudienceModelAssociation$arn": "

The Amazon Resource Name (ARN) of the configured audience model association.

", + "CollaborationConfiguredAudienceModelAssociationSummary$arn": "

The Amazon Resource Name (ARN) of the configured audience model association.

", + "ConfiguredAudienceModelAssociation$arn": "

The Amazon Resource Name (ARN) of the configured audience model association.

", + "ConfiguredAudienceModelAssociationSummary$arn": "

The Amazon Resource Name (ARN) of the configured audience model association.

" + } + }, + "ConfiguredAudienceModelAssociationIdentifier": { + "base": null, + "refs": { + "CollaborationConfiguredAudienceModelAssociation$id": "

The identifier of the configured audience model association.

", + "CollaborationConfiguredAudienceModelAssociationSummary$id": "

The identifier of the configured audience model association.

", + "ConfiguredAudienceModelAssociation$id": "

A unique identifier of the configured audience model association.

", + "DeleteConfiguredAudienceModelAssociationInput$configuredAudienceModelAssociationIdentifier": "

A unique identifier of the configured audience model association that you want to delete.

", + "GetCollaborationConfiguredAudienceModelAssociationInput$configuredAudienceModelAssociationIdentifier": "

A unique identifier for the configured audience model association that you want to retrieve.

", + "GetConfiguredAudienceModelAssociationInput$configuredAudienceModelAssociationIdentifier": "

A unique identifier for the configured audience model association that you want to retrieve.

", + "UpdateConfiguredAudienceModelAssociationInput$configuredAudienceModelAssociationIdentifier": "

A unique identifier for the configured audience model association that you want to update.

" + } + }, + "ConfiguredAudienceModelAssociationName": { + "base": null, + "refs": { + "CollaborationConfiguredAudienceModelAssociation$name": "

The name of the configured audience model association.

", + "CollaborationConfiguredAudienceModelAssociationSummary$name": "

The name of the configured audience model association.

", + "ConfiguredAudienceModelAssociation$name": "

The name of the configured audience model association.

", + "ConfiguredAudienceModelAssociationSummary$name": "

The name of the configured audience model association.

", + "CreateConfiguredAudienceModelAssociationInput$configuredAudienceModelAssociationName": "

The name of the configured audience model association.

", + "UpdateConfiguredAudienceModelAssociationInput$name": "

A new name for the configured audience model association.

" + } + }, + "ConfiguredAudienceModelAssociationSummary": { + "base": "

A summary of the configured audience model association.

", + "refs": { + "ConfiguredAudienceModelAssociationSummaryList$member": null + } + }, + "ConfiguredAudienceModelAssociationSummaryList": { + "base": null, + "refs": { + "ListConfiguredAudienceModelAssociationsOutput$configuredAudienceModelAssociationSummaries": "

Summaries of the configured audience model associations that you requested.

" + } + }, "ConfiguredTable": { "base": "

A table that has been configured for use in a collaboration.

", "refs": { @@ -676,6 +824,16 @@ "refs": { } }, + "CreateConfiguredAudienceModelAssociationInput": { + "base": null, + "refs": { + } + }, + "CreateConfiguredAudienceModelAssociationOutput": { + "base": null, + "refs": { + } + }, "CreateConfiguredTableAnalysisRuleInput": { "base": null, "refs": { @@ -716,6 +874,16 @@ "refs": { } }, + "CreatePrivacyBudgetTemplateInput": { + "base": null, + "refs": { + } + }, + "CreatePrivacyBudgetTemplateOutput": { + "base": null, + "refs": { + } + }, "DataEncryptionMetadata": { "base": "

The settings for client-side encryption for cryptographic computing.

", "refs": { @@ -743,6 +911,16 @@ "refs": { } }, + "DeleteConfiguredAudienceModelAssociationInput": { + "base": null, + "refs": { + } + }, + "DeleteConfiguredAudienceModelAssociationOutput": { + "base": null, + "refs": { + } + }, "DeleteConfiguredTableAnalysisRuleInput": { "base": null, "refs": { @@ -793,6 +971,150 @@ "refs": { } }, + "DeletePrivacyBudgetTemplateInput": { + "base": null, + "refs": { + } + }, + "DeletePrivacyBudgetTemplateOutput": { + "base": null, + "refs": { + } + }, + "DifferentialPrivacyAggregationExpression": { + "base": null, + "refs": { + "DifferentialPrivacySensitivityParameters$aggregationExpression": "

The aggregation expression that was run.

" + } + }, + "DifferentialPrivacyAggregationType": { + "base": null, + "refs": { + "DifferentialPrivacyPreviewAggregation$type": "

The type of aggregation function.

", + "DifferentialPrivacyPrivacyBudgetAggregation$type": "

The different types of aggregation functions that you can perform.

", + "DifferentialPrivacySensitivityParameters$aggregationType": "

The type of aggregation function that was run.

" + } + }, + "DifferentialPrivacyColumn": { + "base": "

Specifies the name of the column that contains the unique identifier of your users, whose privacy you want to protect.

", + "refs": { + "DifferentialPrivacyColumnList$member": null + } + }, + "DifferentialPrivacyColumnList": { + "base": null, + "refs": { + "DifferentialPrivacyConfiguration$columns": "

The name of the column (such as user_id) that contains the unique identifier of your users whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

" + } + }, + "DifferentialPrivacyConfiguration": { + "base": "

Specifies the unique identifier for your users.

", + "refs": { + "AnalysisRuleCustom$differentialPrivacy": "

The differential privacy configuration.

" + } + }, + "DifferentialPrivacyParameters": { + "base": "

An array that contains the sensitivity parameters.

", + "refs": { + "ProtectedQuery$differentialPrivacy": "

The sensitivity parameters of the differential privacy results of the protected query.

" + } + }, + "DifferentialPrivacyPreviewAggregation": { + "base": "

Provides an estimate of the number of aggregation functions that the member who can query can run given the epsilon and noise parameters.

", + "refs": { + "DifferentialPrivacyPreviewAggregationList$member": null + } + }, + "DifferentialPrivacyPreviewAggregationList": { + "base": null, + "refs": { + "DifferentialPrivacyPrivacyImpact$aggregations": "

The number of aggregation functions that you can perform.

" + } + }, + "DifferentialPrivacyPreviewAggregationMaxCountInteger": { + "base": null, + "refs": { + "DifferentialPrivacyPreviewAggregation$maxCount": "

The maximum number of aggregations that the member who can query can run given the epsilon and noise parameters.

" + } + }, + "DifferentialPrivacyPreviewParametersInput": { + "base": "

The epsilon and noise parameters that you want to preview.

", + "refs": { + "PreviewPrivacyImpactParametersInput$differentialPrivacy": "

An array that specifies the epsilon and noise parameters.

" + } + }, + "DifferentialPrivacyPrivacyBudget": { + "base": "

Specifies the configured epsilon value and the utility in terms of total aggregations, as well as the remaining aggregations available.

", + "refs": { + "PrivacyBudget$differentialPrivacy": "

An object that specifies the epsilon parameter and the utility in terms of total aggregations, as well as the remaining aggregations available.

" + } + }, + "DifferentialPrivacyPrivacyBudgetAggregation": { + "base": "

Information about the total number of aggregations, as well as the remaining aggregations.

", + "refs": { + "DifferentialPrivacyPrivacyBudgetAggregationList$member": null + } + }, + "DifferentialPrivacyPrivacyBudgetAggregationList": { + "base": null, + "refs": { + "DifferentialPrivacyPrivacyBudget$aggregations": "

This information includes the configured epsilon value and the utility in terms of total aggregations, as well as the remaining aggregations.

" + } + }, + "DifferentialPrivacyPrivacyBudgetAggregationMaxCountInteger": { + "base": null, + "refs": { + "DifferentialPrivacyPrivacyBudgetAggregation$maxCount": "

The maximum number of aggregation functions that you can perform with the given privacy budget.

" + } + }, + "DifferentialPrivacyPrivacyBudgetAggregationRemainingCountInteger": { + "base": null, + "refs": { + "DifferentialPrivacyPrivacyBudgetAggregation$remainingCount": "

The remaining number of aggregation functions that can be run with the available privacy budget.

" + } + }, + "DifferentialPrivacyPrivacyImpact": { + "base": "

Information about the number of aggregation functions that the member who can query can run given the epsilon and noise parameters.

", + "refs": { + "PrivacyImpact$differentialPrivacy": "

An object that lists the number and type of aggregation functions you can perform.

" + } + }, + "DifferentialPrivacySensitivityParameters": { + "base": "

Provides the sensitivity parameters.

", + "refs": { + "DifferentialPrivacySensitivityParametersList$member": null + } + }, + "DifferentialPrivacySensitivityParametersList": { + "base": null, + "refs": { + "DifferentialPrivacyParameters$sensitivityParameters": "

Provides the sensitivity parameters that you can use to better understand the total amount of noise in query results.

" + } + }, + "DifferentialPrivacySensitivityParametersUserContributionLimitInteger": { + "base": null, + "refs": { + "DifferentialPrivacySensitivityParameters$userContributionLimit": "

The maximum number of rows contributed by a user in a SQL query.

" + } + }, + "DifferentialPrivacyTemplateParametersInput": { + "base": "

The epsilon and noise parameter values that you want to use for the differential privacy template.

", + "refs": { + "PrivacyBudgetTemplateParametersInput$differentialPrivacy": "

An object that specifies the epsilon and noise parameters.

" + } + }, + "DifferentialPrivacyTemplateParametersOutput": { + "base": "

The epsilon and noise parameter values that were used for the differential privacy template.

", + "refs": { + "PrivacyBudgetTemplateParametersOutput$differentialPrivacy": "

The epsilon and noise parameters.

" + } + }, + "DifferentialPrivacyTemplateUpdateParameters": { + "base": "

The epsilon and noise parameter values that you want to update in the differential privacy template.

", + "refs": { + "PrivacyBudgetTemplateUpdateParameters$differentialPrivacy": "

An object that specifies the new values for the epsilon and noise parameters.

" + } + }, "DisplayName": { "base": null, "refs": { @@ -815,12 +1137,29 @@ "ServiceQuotaExceededException$quotaValue": "

The value of the quota.

" } }, + "Epsilon": { + "base": null, + "refs": { + "DifferentialPrivacyPreviewParametersInput$epsilon": "

The epsilon value that you want to preview.

", + "DifferentialPrivacyPrivacyBudget$epsilon": "

The epsilon value that you configured.

", + "DifferentialPrivacyTemplateParametersInput$epsilon": "

The epsilon value that you want to use.

", + "DifferentialPrivacyTemplateParametersOutput$epsilon": "

The epsilon value that you specified.

", + "DifferentialPrivacyTemplateUpdateParameters$epsilon": "

The updated epsilon value that you want to use.

" + } + }, "FilterableMemberStatus": { "base": null, "refs": { "ListCollaborationsInput$memberStatus": "

The caller's status in a collaboration.

" } }, + "Float": { + "base": null, + "refs": { + "DifferentialPrivacySensitivityParameters$minColumnValue": "

The lower bound of the aggregation expression.

", + "DifferentialPrivacySensitivityParameters$maxColumnValue": "

The upper bound of the aggregation expression.

" + } + }, "GetAnalysisTemplateInput": { "base": null, "refs": { @@ -841,6 +1180,16 @@ "refs": { } }, + "GetCollaborationConfiguredAudienceModelAssociationInput": { + "base": null, + "refs": { + } + }, + "GetCollaborationConfiguredAudienceModelAssociationOutput": { + "base": null, + "refs": { + } + }, "GetCollaborationInput": { "base": null, "refs": { @@ -851,6 +1200,26 @@ "refs": { } }, + "GetCollaborationPrivacyBudgetTemplateInput": { + "base": null, + "refs": { + } + }, + "GetCollaborationPrivacyBudgetTemplateOutput": { + "base": null, + "refs": { + } + }, + "GetConfiguredAudienceModelAssociationInput": { + "base": null, + "refs": { + } + }, + "GetConfiguredAudienceModelAssociationOutput": { + "base": null, + "refs": { + } + }, "GetConfiguredTableAnalysisRuleInput": { "base": null, "refs": { @@ -891,6 +1260,16 @@ "refs": { } }, + "GetPrivacyBudgetTemplateInput": { + "base": null, + "refs": { + } + }, + "GetPrivacyBudgetTemplateOutput": { + "base": null, + "refs": { + } + }, "GetProtectedQueryInput": { "base": null, "refs": { @@ -989,6 +1368,36 @@ "refs": { } }, + "ListCollaborationConfiguredAudienceModelAssociationsInput": { + "base": null, + "refs": { + } + }, + "ListCollaborationConfiguredAudienceModelAssociationsOutput": { + "base": null, + "refs": { + } + }, + "ListCollaborationPrivacyBudgetTemplatesInput": { + "base": null, + "refs": { + } + }, + "ListCollaborationPrivacyBudgetTemplatesOutput": { + "base": null, + "refs": { + } + }, + "ListCollaborationPrivacyBudgetsInput": { + "base": null, + "refs": { + } + }, + "ListCollaborationPrivacyBudgetsOutput": { + "base": null, + "refs": { + } + }, "ListCollaborationsInput": { "base": null, "refs": { @@ -999,6 +1408,16 @@ "refs": { } }, + "ListConfiguredAudienceModelAssociationsInput": { + "base": null, + "refs": { + } + }, + "ListConfiguredAudienceModelAssociationsOutput": { + "base": null, + "refs": { + } + }, "ListConfiguredTableAssociationsInput": { "base": null, "refs": { @@ -1039,6 +1458,26 @@ "refs": { } }, + "ListPrivacyBudgetTemplatesInput": { + "base": null, + "refs": { + } + }, + "ListPrivacyBudgetTemplatesOutput": { + "base": null, + "refs": { + } + }, + "ListPrivacyBudgetsInput": { + "base": null, + "refs": { + } + }, + "ListPrivacyBudgetsOutput": { + "base": null, + "refs": { + } + }, "ListProtectedQueriesInput": { "base": null, "refs": { @@ -1080,11 +1519,17 @@ "refs": { "ListAnalysisTemplatesInput$maxResults": "

The maximum size of the results that is returned per call.

", "ListCollaborationAnalysisTemplatesInput$maxResults": "

The maximum size of the results that is returned per call.

", + "ListCollaborationConfiguredAudienceModelAssociationsInput$maxResults": "

The maximum size of the results that is returned per call.

", + "ListCollaborationPrivacyBudgetTemplatesInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.

", + "ListCollaborationPrivacyBudgetsInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.

", "ListCollaborationsInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.

", + "ListConfiguredAudienceModelAssociationsInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.

", "ListConfiguredTableAssociationsInput$maxResults": "

The maximum size of the results that is returned per call.

", "ListConfiguredTablesInput$maxResults": "

The maximum size of the results that is returned per call.

", "ListMembersInput$maxResults": "

The maximum size of the results that is returned per call.

", "ListMembershipsInput$maxResults": "

The maximum size of the results that is returned per call.

", + "ListPrivacyBudgetTemplatesInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.

", + "ListPrivacyBudgetsInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service may return a nextToken even if the maximum results has not been met.

", "ListProtectedQueriesInput$maxResults": "

The maximum size of the results that is returned per call. Service chooses a default if it has not been set. Service can return a nextToken even if the maximum results has not been met.

", "ListSchemasInput$maxResults": "

The maximum size of the results that is returned per call.

" } @@ -1152,11 +1597,16 @@ "AnalysisTemplateSummary$membershipArn": "

The Amazon Resource Name (ARN) of the member who created the analysis template.

", "Collaboration$membershipArn": "

The unique ARN for your membership within the collaboration.

", "CollaborationSummary$membershipArn": "

The ARN of a member in a collaboration.

", + "ConfiguredAudienceModelAssociation$membershipArn": "

The Amazon Resource Name (ARN) of the membership that contains this configured audience model association.

", + "ConfiguredAudienceModelAssociationSummary$membershipArn": "

The Amazon Resource Name (ARN) of the membership that contains the configured audience model association.

", "ConfiguredTableAssociation$membershipArn": "

The unique ARN for the membership this configured table association belongs to.

", "ConfiguredTableAssociationSummary$membershipArn": "

The unique ARN for the membership that the configured table association belongs to.

", "MemberSummary$membershipArn": "

The unique ARN for the member's associated membership, if present.

", "Membership$arn": "

The unique ARN for the membership.

", "MembershipSummary$arn": "

The unique ARN for the membership.

", + "PrivacyBudgetSummary$membershipArn": "

The Amazon Resource Name (ARN) of the member who created the privacy budget summary.

", + "PrivacyBudgetTemplate$membershipArn": "

The Amazon Resource Name (ARN) of the member who created the privacy budget template.

", + "PrivacyBudgetTemplateSummary$membershipArn": "

The Amazon Resource Name (ARN) of the member who created the privacy budget template.

", "ProtectedQuery$membershipArn": "

The ARN of the membership.

", "ProtectedQuerySummary$membershipArn": "

The unique ARN for the membership that initiated the protected query.

" } @@ -1164,23 +1614,37 @@ "MembershipIdentifier": { "base": null, "refs": { + "ConfiguredAudienceModelAssociationSummary$membershipId": "

A unique identifier of the membership that contains the configured audience model association.

", "ConfiguredTableAssociationSummary$membershipId": "

The unique ID for the membership that the configured table association belongs to.

", "CreateAnalysisTemplateInput$membershipIdentifier": "

The identifier for a membership resource.

", + "CreateConfiguredAudienceModelAssociationInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The configured audience model is associated to the collaboration that this membership belongs to. Accepts a membership ID.

", "CreateConfiguredTableAssociationInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The configured table is associated to the collaboration that this membership belongs to. Currently accepts a membership ID.

", + "CreatePrivacyBudgetTemplateInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The privacy budget template is created in the collaboration that this membership belongs to. Accepts a membership ID.

", "DeleteAnalysisTemplateInput$membershipIdentifier": "

The identifier for a membership resource.

", + "DeleteConfiguredAudienceModelAssociationInput$membershipIdentifier": "

A unique identifier of the membership that contains the audience model association that you want to delete.

", "DeleteConfiguredTableAssociationInput$membershipIdentifier": "

A unique identifier for the membership that the configured table association belongs to. Currently accepts the membership ID.

", "DeleteMembershipInput$membershipIdentifier": "

The identifier for a membership resource.

", + "DeletePrivacyBudgetTemplateInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The privacy budget template is deleted from the collaboration that this membership belongs to. Accepts a membership ID.

", "GetAnalysisTemplateInput$membershipIdentifier": "

The identifier for a membership resource.

", + "GetConfiguredAudienceModelAssociationInput$membershipIdentifier": "

A unique identifier for the membership that contains the configured audience model association that you want to retrieve.

", "GetConfiguredTableAssociationInput$membershipIdentifier": "

A unique identifier for the membership that the configured table association belongs to. Currently accepts the membership ID.

", "GetMembershipInput$membershipIdentifier": "

The identifier for a membership resource.

", + "GetPrivacyBudgetTemplateInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The privacy budget template is retrieved from the collaboration that this membership belongs to. Accepts a membership ID.

", "GetProtectedQueryInput$membershipIdentifier": "

The identifier for a membership in a protected query instance.

", "ListAnalysisTemplatesInput$membershipIdentifier": "

The identifier for a membership resource.

", + "ListConfiguredAudienceModelAssociationsInput$membershipIdentifier": "

A unique identifier for a membership that contains the configured audience model associations that you want to retrieve.

", "ListConfiguredTableAssociationsInput$membershipIdentifier": "

A unique identifier for the membership to list configured table associations for. Currently accepts the membership ID.

", + "ListPrivacyBudgetTemplatesInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The privacy budget templates are retrieved from the collaboration that this membership belongs to. Accepts a membership ID.

", + "ListPrivacyBudgetsInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The privacy budget is retrieved from the collaboration that this membership belongs to. Accepts a membership ID.

", "ListProtectedQueriesInput$membershipIdentifier": "

The identifier for the membership in the collaboration.

", + "PreviewPrivacyImpactInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. Accepts a membership ID.

", + "PrivacyBudgetSummary$membershipId": "

The identifier for a membership resource.

", "StartProtectedQueryInput$membershipIdentifier": "

A unique identifier for the membership to run this query against. Currently accepts a membership ID.

", "UpdateAnalysisTemplateInput$membershipIdentifier": "

The identifier for a membership resource.

", + "UpdateConfiguredAudienceModelAssociationInput$membershipIdentifier": "

A unique identifier of the membership that contains the configured audience model association that you want to update.

", "UpdateConfiguredTableAssociationInput$membershipIdentifier": "

The unique ID for the membership that the configured table association belongs to.

", "UpdateMembershipInput$membershipIdentifier": "

The unique identifier of the membership.

", + "UpdatePrivacyBudgetTemplateInput$membershipIdentifier": "

A unique identifier for one of your memberships for a collaboration. The privacy budget template is updated in the collaboration that this membership belongs to. Accepts a membership ID.

", "UpdateProtectedQueryInput$membershipIdentifier": "

The identifier for a member of a protected query instance.

" } }, @@ -1247,8 +1711,16 @@ "ListAnalysisTemplatesOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", "ListCollaborationAnalysisTemplatesInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", "ListCollaborationAnalysisTemplatesOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListCollaborationConfiguredAudienceModelAssociationsInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListCollaborationConfiguredAudienceModelAssociationsOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListCollaborationPrivacyBudgetTemplatesInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListCollaborationPrivacyBudgetTemplatesOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListCollaborationPrivacyBudgetsInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListCollaborationPrivacyBudgetsOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", "ListCollaborationsInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", "ListCollaborationsOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListConfiguredAudienceModelAssociationsInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListConfiguredAudienceModelAssociationsOutput$nextToken": "

The token value provided to access the next page of results.

", "ListConfiguredTableAssociationsInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", "ListConfiguredTableAssociationsOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", "ListConfiguredTablesInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", @@ -1257,6 +1729,10 @@ "ListMembersOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", "ListMembershipsInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", "ListMembershipsOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListPrivacyBudgetTemplatesInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListPrivacyBudgetTemplatesOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListPrivacyBudgetsInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListPrivacyBudgetsOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", "ListProtectedQueriesInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", "ListProtectedQueriesOutput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", "ListSchemasInput$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", @@ -1297,6 +1773,135 @@ "MemberSummary$paymentConfiguration": "

The collaboration member's payment responsibilities set by the collaboration creator.

" } }, + "PreviewPrivacyImpactInput": { + "base": null, + "refs": { + } + }, + "PreviewPrivacyImpactOutput": { + "base": null, + "refs": { + } + }, + "PreviewPrivacyImpactParametersInput": { + "base": "

Specifies the updated epsilon and noise parameters to preview. The preview allows you to see how the maximum number of each type of aggregation function would change with the new parameters.

", + "refs": { + "PreviewPrivacyImpactInput$parameters": "

Specifies the desired epsilon and noise parameters to preview.

" + } + }, + "PrivacyBudget": { + "base": "

The epsilon parameter value and number of each aggregation function that you can perform.

", + "refs": { + "CollaborationPrivacyBudgetSummary$budget": "

The includes epsilon provided and utility in terms of aggregations.

", + "PrivacyBudgetSummary$budget": "

The provided privacy budget.

" + } + }, + "PrivacyBudgetSummary": { + "base": "

An array that summaries the specified privacy budget. This summary includes collaboration information, creation information, membership information, and privacy budget information.

", + "refs": { + "PrivacyBudgetSummaryList$member": null + } + }, + "PrivacyBudgetSummaryList": { + "base": null, + "refs": { + "ListPrivacyBudgetsOutput$privacyBudgetSummaries": "

An array that summarizes the privacy budgets. The summary includes collaboration information, membership information, privacy budget template information, and privacy budget details.

" + } + }, + "PrivacyBudgetTemplate": { + "base": "

An object that defines the privacy budget template.

", + "refs": { + "CreatePrivacyBudgetTemplateOutput$privacyBudgetTemplate": "

A summary of the elements in the privacy budget template.

", + "GetPrivacyBudgetTemplateOutput$privacyBudgetTemplate": "

Returns the details of the privacy budget template that you requested.

", + "UpdatePrivacyBudgetTemplateOutput$privacyBudgetTemplate": "

Summary of the privacy budget template.

" + } + }, + "PrivacyBudgetTemplateArn": { + "base": null, + "refs": { + "CollaborationPrivacyBudgetSummary$privacyBudgetTemplateArn": "

The ARN of the collaboration privacy budget template.

", + "CollaborationPrivacyBudgetTemplate$arn": "

The ARN of the collaboration privacy budget template.

", + "CollaborationPrivacyBudgetTemplateSummary$arn": "

The ARN of the collaboration privacy budget template.

", + "PrivacyBudgetSummary$privacyBudgetTemplateArn": "

The ARN of the privacy budget template.

", + "PrivacyBudgetTemplate$arn": "

The ARN of the privacy budget template.

", + "PrivacyBudgetTemplateSummary$arn": "

The ARN of the privacy budget template.

" + } + }, + "PrivacyBudgetTemplateAutoRefresh": { + "base": null, + "refs": { + "CollaborationPrivacyBudgetTemplate$autoRefresh": "

How often the privacy budget refreshes.

If you plan to regularly bring new data into the collaboration, use CALENDAR_MONTH to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.

", + "CreatePrivacyBudgetTemplateInput$autoRefresh": "

How often the privacy budget refreshes.

If you plan to regularly bring new data into the collaboration, you can use CALENDAR_MONTH to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queries across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.

", + "PrivacyBudgetTemplate$autoRefresh": "

How often the privacy budget refreshes.

If you plan to regularly bring new data into the collaboration, use CALENDAR_MONTH to automatically get a new privacy budget for the collaboration every calendar month. Choosing this option allows arbitrary amounts of information to be revealed about rows of the data when repeatedly queried across refreshes. Avoid choosing this if the same rows will be repeatedly queried between privacy budget refreshes.

" + } + }, + "PrivacyBudgetTemplateIdentifier": { + "base": null, + "refs": { + "CollaborationPrivacyBudgetSummary$privacyBudgetTemplateId": "

The unique identifier of the collaboration privacy budget template.

", + "CollaborationPrivacyBudgetTemplate$id": "

The unique identifier of the collaboration privacy budget template.

", + "CollaborationPrivacyBudgetTemplateSummary$id": "

The unique identifier of the collaboration privacy budget template.

", + "DeletePrivacyBudgetTemplateInput$privacyBudgetTemplateIdentifier": "

A unique identifier for your privacy budget template.

", + "GetCollaborationPrivacyBudgetTemplateInput$privacyBudgetTemplateIdentifier": "

A unique identifier for one of your privacy budget templates.

", + "GetPrivacyBudgetTemplateInput$privacyBudgetTemplateIdentifier": "

A unique identifier for your privacy budget template.

", + "PrivacyBudgetSummary$privacyBudgetTemplateId": "

The unique identifier of the privacy budget template.

", + "PrivacyBudgetTemplate$id": "

The unique identifier of the privacy budget template.

", + "PrivacyBudgetTemplateSummary$id": "

The unique identifier of the privacy budget template.

", + "UpdatePrivacyBudgetTemplateInput$privacyBudgetTemplateIdentifier": "

A unique identifier for your privacy budget template that you want to update.

" + } + }, + "PrivacyBudgetTemplateParametersInput": { + "base": "

The epsilon and noise parameters that you want to use for the privacy budget template.

", + "refs": { + "CreatePrivacyBudgetTemplateInput$parameters": "

Specifies your parameters for the privacy budget template.

" + } + }, + "PrivacyBudgetTemplateParametersOutput": { + "base": "

The epsilon and noise parameters that were used in the privacy budget template.

", + "refs": { + "CollaborationPrivacyBudgetTemplate$parameters": "

Specifies the epsilon and noise parameters for the privacy budget template.

", + "PrivacyBudgetTemplate$parameters": "

Specifies the epislon and noise parameters for the privacy budget template.

" + } + }, + "PrivacyBudgetTemplateSummary": { + "base": "

A summary of the privacy budget template. The summary includes membership information, collaboration information, and creation information.

", + "refs": { + "PrivacyBudgetTemplateSummaryList$member": null + } + }, + "PrivacyBudgetTemplateSummaryList": { + "base": null, + "refs": { + "ListPrivacyBudgetTemplatesOutput$privacyBudgetTemplateSummaries": "

An array that summarizes the privacy budget templates. The summary includes collaboration information, creation information, and privacy budget type.

" + } + }, + "PrivacyBudgetTemplateUpdateParameters": { + "base": "

The epsilon and noise parameters that you want to update in the privacy budget template.

", + "refs": { + "UpdatePrivacyBudgetTemplateInput$parameters": "

Specifies the epsilon and noise parameters for the privacy budget template.

" + } + }, + "PrivacyBudgetType": { + "base": null, + "refs": { + "CollaborationPrivacyBudgetSummary$type": "

The type of privacy budget template.

", + "CollaborationPrivacyBudgetTemplate$privacyBudgetType": "

The type of privacy budget template.

", + "CollaborationPrivacyBudgetTemplateSummary$privacyBudgetType": "

The type of the privacy budget template.

", + "CreatePrivacyBudgetTemplateInput$privacyBudgetType": "

Specifies the type of the privacy budget template.

", + "ListCollaborationPrivacyBudgetsInput$privacyBudgetType": "

Specifies the type of the privacy budget.

", + "ListPrivacyBudgetsInput$privacyBudgetType": "

The privacy budget type.

", + "PrivacyBudgetSummary$type": "

Specifies the type of the privacy budget.

", + "PrivacyBudgetTemplate$privacyBudgetType": "

Specifies the type of the privacy budget template.

", + "PrivacyBudgetTemplateSummary$privacyBudgetType": "

The type of the privacy budget template.

", + "UpdatePrivacyBudgetTemplateInput$privacyBudgetType": "

Specifies the type of the privacy budget template.

" + } + }, + "PrivacyImpact": { + "base": "

Provides an estimate of the number of aggregation functions that the member who can query can run given the epsilon and noise parameters.

", + "refs": { + "PreviewPrivacyImpactOutput$privacyImpact": "

An estimate of the number of aggregation functions that the member who can query can run given the epsilon and noise parameters. This does not change the privacy budget.

" + } + }, "ProtectedQuery": { "base": "

The parameters for an Clean Rooms protected query.

", "refs": { @@ -1447,8 +2052,14 @@ "AnalysisTemplateSummary$description": "

The description of the analysis template.

", "CollaborationAnalysisTemplate$description": "

The description of the analysis template.

", "CollaborationAnalysisTemplateSummary$description": "

The description of the analysis template.

", + "CollaborationConfiguredAudienceModelAssociation$description": "

The description of the configured audience model association.

", + "CollaborationConfiguredAudienceModelAssociationSummary$description": "

The description of the configured audience model association.

", + "ConfiguredAudienceModelAssociation$description": "

The description of the configured audience model association.

", + "ConfiguredAudienceModelAssociationSummary$description": "

The description of the configured audience model association.

", "CreateAnalysisTemplateInput$description": "

The description of the analysis template.

", - "UpdateAnalysisTemplateInput$description": "

A new description for the analysis template.

" + "CreateConfiguredAudienceModelAssociationInput$description": "

A description of the configured audience model association.

", + "UpdateAnalysisTemplateInput$description": "

A new description for the analysis template.

", + "UpdateConfiguredAudienceModelAssociationInput$description": "

A new description for the configured audience model association.

" } }, "ResourceNotFoundException": { @@ -1548,6 +2159,7 @@ "BatchGetSchemaError$message": "

An error message for the error.

", "ConflictException$message": null, "ConflictException$resourceId": "

The ID of the conflicting resource.

", + "DifferentialPrivacyColumn$name": "

The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

", "InternalServerException$message": null, "ProtectedQueryError$message": "

A description of why the query failed.

", "ProtectedQueryError$code": "

An error code for the error.

", @@ -1622,9 +2234,11 @@ "refs": { "CreateAnalysisTemplateInput$tags": "

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

", "CreateCollaborationInput$tags": "

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

", + "CreateConfiguredAudienceModelAssociationInput$tags": "

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

", "CreateConfiguredTableAssociationInput$tags": "

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

", "CreateConfiguredTableInput$tags": "

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

", "CreateMembershipInput$tags": "

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

", + "CreatePrivacyBudgetTemplateInput$tags": "

An optional label that you can assign to a resource when you create it. Each tag consists of a key and an optional value, both of which you define. When you use tagging, you can also use tag-based access control in IAM policies to control access to this resource.

", "ListTagsForResourceOutput$tags": "

A map of objects specifying each key name and value.

", "TagResourceInput$tags": "

A map of objects specifying each key name and value.

" } @@ -1671,8 +2285,22 @@ "CollaborationAnalysisTemplate$updateTime": "

The time that the analysis template in the collaboration was last updated.

", "CollaborationAnalysisTemplateSummary$createTime": "

The time that the summary of the analysis template in a collaboration was created.

", "CollaborationAnalysisTemplateSummary$updateTime": "

The time that the summary of the analysis template in the collaboration was last updated.

", + "CollaborationConfiguredAudienceModelAssociation$createTime": "

The time at which the configured audience model association was created.

", + "CollaborationConfiguredAudienceModelAssociation$updateTime": "

The most recent time at which the configured audience model association was updated.

", + "CollaborationConfiguredAudienceModelAssociationSummary$createTime": "

The time at which the configured audience model association was created.

", + "CollaborationConfiguredAudienceModelAssociationSummary$updateTime": "

The most recent time at which the configured audience model association was updated.

", + "CollaborationPrivacyBudgetSummary$createTime": "

The time at which the privacy budget was created.

", + "CollaborationPrivacyBudgetSummary$updateTime": "

The most recent time at which the privacy budget was updated.

", + "CollaborationPrivacyBudgetTemplate$createTime": "

The time at which the collaboration privacy budget template was created.

", + "CollaborationPrivacyBudgetTemplate$updateTime": "

The most recent time at which the collaboration privacy budget template was updated.

", + "CollaborationPrivacyBudgetTemplateSummary$createTime": "

The time at which the collaboration privacy budget template was created.

", + "CollaborationPrivacyBudgetTemplateSummary$updateTime": "

The most recent time at which the collaboration privacy budget template was updated.

", "CollaborationSummary$createTime": "

The time when the collaboration was created.

", "CollaborationSummary$updateTime": "

The time the collaboration metadata was last updated.

", + "ConfiguredAudienceModelAssociation$createTime": "

The time at which the configured audience model association was created.

", + "ConfiguredAudienceModelAssociation$updateTime": "

The most recent time at which the configured audience model association was updated.

", + "ConfiguredAudienceModelAssociationSummary$createTime": "

The time at which the configured audience model association was created.

", + "ConfiguredAudienceModelAssociationSummary$updateTime": "

The most recent time at which the configured audience model association was updated.

", "ConfiguredTable$createTime": "

The time the configured table was created.

", "ConfiguredTable$updateTime": "

The time the configured table was last updated

", "ConfiguredTableAnalysisRule$createTime": "

The time the configured table analysis rule was created.

", @@ -1689,6 +2317,12 @@ "Membership$updateTime": "

The time the membership metadata was last updated.

", "MembershipSummary$createTime": "

The time when the membership was created.

", "MembershipSummary$updateTime": "

The time the membership metadata was last updated.

", + "PrivacyBudgetSummary$createTime": "

The time at which the privacy budget was created.

", + "PrivacyBudgetSummary$updateTime": "

The most recent time at which the privacy budget was updated.

", + "PrivacyBudgetTemplate$createTime": "

The time at which the privacy budget template was created.

", + "PrivacyBudgetTemplate$updateTime": "

The most recent time at which the privacy budget template was updated.

", + "PrivacyBudgetTemplateSummary$createTime": "

The time at which the privacy budget template was created.

", + "PrivacyBudgetTemplateSummary$updateTime": "

The most recent time at which the privacy budget template was updated.

", "ProtectedQuery$createTime": "

The time at which the protected query was created.

", "ProtectedQuerySummary$createTime": "

The time the protected query was created.

", "Schema$createTime": "

The time the schema was created.

", @@ -1708,8 +2342,18 @@ "Collaboration$membershipId": "

The unique ID for your membership within the collaboration.

", "CollaborationAnalysisTemplate$collaborationId": "

A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID.

", "CollaborationAnalysisTemplateSummary$collaborationId": "

A unique identifier for the collaboration that the analysis templates belong to. Currently accepts collaboration ID.

", + "CollaborationConfiguredAudienceModelAssociation$collaborationId": "

A unique identifier for the collaboration that the configured audience model associations belong to. Accepts collaboration ID.

", + "CollaborationConfiguredAudienceModelAssociationSummary$collaborationId": "

A unique identifier for the collaboration that the configured audience model associations belong to. Accepts collaboration ID.

", + "CollaborationPrivacyBudgetSummary$id": "

The unique identifier of the collaboration privacy budget.

", + "CollaborationPrivacyBudgetSummary$collaborationId": "

The unique identifier of the collaboration that includes this privacy budget.

", + "CollaborationPrivacyBudgetTemplate$collaborationId": "

The unique identifier of the collaboration that includes this collaboration privacy budget template.

", + "CollaborationPrivacyBudgetTemplateSummary$collaborationId": "

The unique identifier of the collaboration that contains this collaboration privacy budget template.

", "CollaborationSummary$id": "

The identifier for the collaboration.

", "CollaborationSummary$membershipId": "

The identifier of a member in a collaboration.

", + "ConfiguredAudienceModelAssociation$membershipId": "

A unique identifier for the membership that contains this configured audience model association.

", + "ConfiguredAudienceModelAssociation$collaborationId": "

A unique identifier of the collaboration that contains this configured audience model association.

", + "ConfiguredAudienceModelAssociationSummary$collaborationId": "

A unique identifier of the collaboration that configured audience model is associated with.

", + "ConfiguredAudienceModelAssociationSummary$id": "

A unique identifier of the configured audience model association.

", "ConfiguredTable$id": "

The unique ID for the configured table.

", "ConfiguredTableAnalysisRule$configuredTableId": "

The unique ID for the configured table.

", "ConfiguredTableAssociation$id": "

The unique ID for the configured table association.

", @@ -1721,6 +2365,12 @@ "Membership$id": "

The unique ID of the membership.

", "Membership$collaborationId": "

The unique ID for the membership's collaboration.

", "MembershipSummary$id": "

The unique ID for the membership's collaboration.

", + "PrivacyBudgetSummary$id": "

The unique identifier of the privacy budget.

", + "PrivacyBudgetSummary$collaborationId": "

The unique identifier of the collaboration that contains this privacy budget.

", + "PrivacyBudgetTemplate$membershipId": "

The identifier for a membership resource.

", + "PrivacyBudgetTemplate$collaborationId": "

The unique ID of the collaboration that contains this privacy budget template.

", + "PrivacyBudgetTemplateSummary$membershipId": "

The identifier for a membership resource.

", + "PrivacyBudgetTemplateSummary$collaborationId": "

The unique ID of the collaboration that contains this privacy budget template.

", "ProtectedQuery$id": "

The identifier for a protected query instance.

", "ProtectedQuery$membershipId": "

The identifier for the membership.

", "ProtectedQuerySummary$id": "

The unique ID of the protected query.

", @@ -1759,6 +2409,16 @@ "refs": { } }, + "UpdateConfiguredAudienceModelAssociationInput": { + "base": null, + "refs": { + } + }, + "UpdateConfiguredAudienceModelAssociationOutput": { + "base": null, + "refs": { + } + }, "UpdateConfiguredTableAnalysisRuleInput": { "base": null, "refs": { @@ -1799,6 +2459,16 @@ "refs": { } }, + "UpdatePrivacyBudgetTemplateInput": { + "base": null, + "refs": { + } + }, + "UpdatePrivacyBudgetTemplateOutput": { + "base": null, + "refs": { + } + }, "UpdateProtectedQueryInput": { "base": null, "refs": { @@ -1809,6 +2479,15 @@ "refs": { } }, + "UsersNoisePerQuery": { + "base": null, + "refs": { + "DifferentialPrivacyPreviewParametersInput$usersNoisePerQuery": "

Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted.

", + "DifferentialPrivacyTemplateParametersInput$usersNoisePerQuery": "

Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted.

", + "DifferentialPrivacyTemplateParametersOutput$usersNoisePerQuery": "

Noise added per query is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted.

", + "DifferentialPrivacyTemplateUpdateParameters$usersNoisePerQuery": "

The updated value of noise added per query. It is measured in terms of the number of users whose contributions you want to obscure. This value governs the rate at which the privacy budget is depleted.

" + } + }, "ValidationException": { "base": "

The input fails to satisfy the specified constraints.

", "refs": { diff --git a/models/apis/cleanrooms/2022-02-17/paginators-1.json b/models/apis/cleanrooms/2022-02-17/paginators-1.json index 62fee6a7230..7f66572e3f5 100644 --- a/models/apis/cleanrooms/2022-02-17/paginators-1.json +++ b/models/apis/cleanrooms/2022-02-17/paginators-1.json @@ -12,12 +12,36 @@ "limit_key": "maxResults", "result_key": "collaborationAnalysisTemplateSummaries" }, + "ListCollaborationConfiguredAudienceModelAssociations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "collaborationConfiguredAudienceModelAssociationSummaries" + }, + "ListCollaborationPrivacyBudgetTemplates": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "collaborationPrivacyBudgetTemplateSummaries" + }, + "ListCollaborationPrivacyBudgets": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "collaborationPrivacyBudgetSummaries" + }, "ListCollaborations": { "input_token": "nextToken", "output_token": "nextToken", "limit_key": "maxResults", "result_key": "collaborationList" }, + "ListConfiguredAudienceModelAssociations": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "configuredAudienceModelAssociationSummaries" + }, "ListConfiguredTableAssociations": { "input_token": "nextToken", "output_token": "nextToken", @@ -42,6 +66,18 @@ "limit_key": "maxResults", "result_key": "membershipSummaries" }, + "ListPrivacyBudgetTemplates": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "privacyBudgetTemplateSummaries" + }, + "ListPrivacyBudgets": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "privacyBudgetSummaries" + }, "ListProtectedQueries": { "input_token": "nextToken", "output_token": "nextToken", diff --git a/models/apis/cleanroomsml/2023-09-06/api-2.json b/models/apis/cleanroomsml/2023-09-06/api-2.json new file mode 100644 index 00000000000..520dbcaec3e --- /dev/null +++ b/models/apis/cleanroomsml/2023-09-06/api-2.json @@ -0,0 +1,1617 @@ +{ + "version":"2.0", + "metadata":{ + "apiVersion":"2023-09-06", + "endpointPrefix":"cleanrooms-ml", + "jsonVersion":"1.1", + "protocol":"rest-json", + "serviceFullName":"cleanrooms-ml", + "serviceId":"CleanRoomsML", + "signatureVersion":"v4", + "signingName":"cleanrooms-ml", + "uid":"cleanroomsml-2023-09-06" + }, + "operations":{ + "CreateAudienceModel":{ + "name":"CreateAudienceModel", + "http":{ + "method":"POST", + "requestUri":"/audience-model", + "responseCode":200 + }, + "input":{"shape":"CreateAudienceModelRequest"}, + "output":{"shape":"CreateAudienceModelResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "idempotent":true + }, + "CreateConfiguredAudienceModel":{ + "name":"CreateConfiguredAudienceModel", + "http":{ + "method":"POST", + "requestUri":"/configured-audience-model", + "responseCode":200 + }, + "input":{"shape":"CreateConfiguredAudienceModelRequest"}, + "output":{"shape":"CreateConfiguredAudienceModelResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "idempotent":true + }, + "CreateTrainingDataset":{ + "name":"CreateTrainingDataset", + "http":{ + "method":"POST", + "requestUri":"/training-dataset", + "responseCode":200 + }, + "input":{"shape":"CreateTrainingDatasetRequest"}, + "output":{"shape":"CreateTrainingDatasetResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ], + "idempotent":true + }, + "DeleteAudienceGenerationJob":{ + "name":"DeleteAudienceGenerationJob", + "http":{ + "method":"DELETE", + "requestUri":"/audience-generation-job/{audienceGenerationJobArn}", + "responseCode":200 + }, + "input":{"shape":"DeleteAudienceGenerationJobRequest"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "DeleteAudienceModel":{ + "name":"DeleteAudienceModel", + "http":{ + "method":"DELETE", + "requestUri":"/audience-model/{audienceModelArn}", + "responseCode":200 + }, + "input":{"shape":"DeleteAudienceModelRequest"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "DeleteConfiguredAudienceModel":{ + "name":"DeleteConfiguredAudienceModel", + "http":{ + "method":"DELETE", + "requestUri":"/configured-audience-model/{configuredAudienceModelArn}", + "responseCode":200 + }, + "input":{"shape":"DeleteConfiguredAudienceModelRequest"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "DeleteConfiguredAudienceModelPolicy":{ + "name":"DeleteConfiguredAudienceModelPolicy", + "http":{ + "method":"DELETE", + "requestUri":"/configured-audience-model/{configuredAudienceModelArn}/policy", + "responseCode":200 + }, + "input":{"shape":"DeleteConfiguredAudienceModelPolicyRequest"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "DeleteTrainingDataset":{ + "name":"DeleteTrainingDataset", + "http":{ + "method":"DELETE", + "requestUri":"/training-dataset/{trainingDatasetArn}", + "responseCode":200 + }, + "input":{"shape":"DeleteTrainingDatasetRequest"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "GetAudienceGenerationJob":{ + "name":"GetAudienceGenerationJob", + "http":{ + "method":"GET", + "requestUri":"/audience-generation-job/{audienceGenerationJobArn}", + "responseCode":200 + }, + "input":{"shape":"GetAudienceGenerationJobRequest"}, + "output":{"shape":"GetAudienceGenerationJobResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetAudienceModel":{ + "name":"GetAudienceModel", + "http":{ + "method":"GET", + "requestUri":"/audience-model/{audienceModelArn}", + "responseCode":200 + }, + "input":{"shape":"GetAudienceModelRequest"}, + "output":{"shape":"GetAudienceModelResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetConfiguredAudienceModel":{ + "name":"GetConfiguredAudienceModel", + "http":{ + "method":"GET", + "requestUri":"/configured-audience-model/{configuredAudienceModelArn}", + "responseCode":200 + }, + "input":{"shape":"GetConfiguredAudienceModelRequest"}, + "output":{"shape":"GetConfiguredAudienceModelResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetConfiguredAudienceModelPolicy":{ + "name":"GetConfiguredAudienceModelPolicy", + "http":{ + "method":"GET", + "requestUri":"/configured-audience-model/{configuredAudienceModelArn}/policy", + "responseCode":200 + }, + "input":{"shape":"GetConfiguredAudienceModelPolicyRequest"}, + "output":{"shape":"GetConfiguredAudienceModelPolicyResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "GetTrainingDataset":{ + "name":"GetTrainingDataset", + "http":{ + "method":"GET", + "requestUri":"/training-dataset/{trainingDatasetArn}", + "responseCode":200 + }, + "input":{"shape":"GetTrainingDatasetRequest"}, + "output":{"shape":"GetTrainingDatasetResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListAudienceExportJobs":{ + "name":"ListAudienceExportJobs", + "http":{ + "method":"GET", + "requestUri":"/audience-export-job", + "responseCode":200 + }, + "input":{"shape":"ListAudienceExportJobsRequest"}, + "output":{"shape":"ListAudienceExportJobsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListAudienceGenerationJobs":{ + "name":"ListAudienceGenerationJobs", + "http":{ + "method":"GET", + "requestUri":"/audience-generation-job", + "responseCode":200 + }, + "input":{"shape":"ListAudienceGenerationJobsRequest"}, + "output":{"shape":"ListAudienceGenerationJobsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListAudienceModels":{ + "name":"ListAudienceModels", + "http":{ + "method":"GET", + "requestUri":"/audience-model", + "responseCode":200 + }, + "input":{"shape":"ListAudienceModelsRequest"}, + "output":{"shape":"ListAudienceModelsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListConfiguredAudienceModels":{ + "name":"ListConfiguredAudienceModels", + "http":{ + "method":"GET", + "requestUri":"/configured-audience-model", + "responseCode":200 + }, + "input":{"shape":"ListConfiguredAudienceModelsRequest"}, + "output":{"shape":"ListConfiguredAudienceModelsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ] + }, + "ListTagsForResource":{ + "name":"ListTagsForResource", + "http":{ + "method":"GET", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"ListTagsForResourceRequest"}, + "output":{"shape":"ListTagsForResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "ListTrainingDatasets":{ + "name":"ListTrainingDatasets", + "http":{ + "method":"GET", + "requestUri":"/training-dataset", + "responseCode":200 + }, + "input":{"shape":"ListTrainingDatasetsRequest"}, + "output":{"shape":"ListTrainingDatasetsResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"} + ] + }, + "PutConfiguredAudienceModelPolicy":{ + "name":"PutConfiguredAudienceModelPolicy", + "http":{ + "method":"PUT", + "requestUri":"/configured-audience-model/{configuredAudienceModelArn}/policy", + "responseCode":200 + }, + "input":{"shape":"PutConfiguredAudienceModelPolicyRequest"}, + "output":{"shape":"PutConfiguredAudienceModelPolicyResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "StartAudienceExportJob":{ + "name":"StartAudienceExportJob", + "http":{ + "method":"POST", + "requestUri":"/audience-export-job", + "responseCode":200 + }, + "input":{"shape":"StartAudienceExportJobRequest"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "idempotent":true + }, + "StartAudienceGenerationJob":{ + "name":"StartAudienceGenerationJob", + "http":{ + "method":"POST", + "requestUri":"/audience-generation-job", + "responseCode":200 + }, + "input":{"shape":"StartAudienceGenerationJobRequest"}, + "output":{"shape":"StartAudienceGenerationJobResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ServiceQuotaExceededException"} + ], + "idempotent":true + }, + "TagResource":{ + "name":"TagResource", + "http":{ + "method":"POST", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"TagResourceRequest"}, + "output":{"shape":"TagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ] + }, + "UntagResource":{ + "name":"UntagResource", + "http":{ + "method":"DELETE", + "requestUri":"/tags/{resourceArn}", + "responseCode":200 + }, + "input":{"shape":"UntagResourceRequest"}, + "output":{"shape":"UntagResourceResponse"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + }, + "UpdateConfiguredAudienceModel":{ + "name":"UpdateConfiguredAudienceModel", + "http":{ + "method":"PATCH", + "requestUri":"/configured-audience-model/{configuredAudienceModelArn}", + "responseCode":200 + }, + "input":{"shape":"UpdateConfiguredAudienceModelRequest"}, + "output":{"shape":"UpdateConfiguredAudienceModelResponse"}, + "errors":[ + {"shape":"ConflictException"}, + {"shape":"ValidationException"}, + {"shape":"AccessDeniedException"}, + {"shape":"ResourceNotFoundException"} + ], + "idempotent":true + } + }, + "shapes":{ + "AccessDeniedException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":403, + "senderFault":true + }, + "exception":true + }, + "AccountId":{ + "type":"string", + "max":12, + "min":12, + "pattern":"^[0-9]{12}$" + }, + "AudienceDestination":{ + "type":"structure", + "required":["s3Destination"], + "members":{ + "s3Destination":{"shape":"S3ConfigMap"} + } + }, + "AudienceExportJobList":{ + "type":"list", + "member":{"shape":"AudienceExportJobSummary"} + }, + "AudienceExportJobStatus":{ + "type":"string", + "enum":[ + "CREATE_PENDING", + "CREATE_IN_PROGRESS", + "CREATE_FAILED", + "ACTIVE" + ] + }, + "AudienceExportJobSummary":{ + "type":"structure", + "required":[ + "audienceGenerationJobArn", + "audienceSize", + "createTime", + "name", + "status", + "updateTime" + ], + "members":{ + "audienceGenerationJobArn":{"shape":"AudienceGenerationJobArn"}, + "audienceSize":{"shape":"AudienceSize"}, + "createTime":{"shape":"SyntheticTimestamp_date_time"}, + "description":{"shape":"ResourceDescription"}, + "name":{"shape":"NameString"}, + "outputLocation":{"shape":"S3Path"}, + "status":{"shape":"AudienceExportJobStatus"}, + "statusDetails":{"shape":"StatusDetails"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"} + } + }, + "AudienceGenerationJobArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:audience-generation-job/[-a-zA-Z0-9_/.]+$" + }, + "AudienceGenerationJobDataSource":{ + "type":"structure", + "required":[ + "dataSource", + "roleArn" + ], + "members":{ + "dataSource":{"shape":"S3ConfigMap"}, + "roleArn":{"shape":"IamRoleArn"} + } + }, + "AudienceGenerationJobList":{ + "type":"list", + "member":{"shape":"AudienceGenerationJobSummary"} + }, + "AudienceGenerationJobStatus":{ + "type":"string", + "enum":[ + "CREATE_PENDING", + "CREATE_IN_PROGRESS", + "CREATE_FAILED", + "ACTIVE", + "DELETE_PENDING", + "DELETE_IN_PROGRESS", + "DELETE_FAILED" + ] + }, + "AudienceGenerationJobSummary":{ + "type":"structure", + "required":[ + "audienceGenerationJobArn", + "configuredAudienceModelArn", + "createTime", + "name", + "status", + "updateTime" + ], + "members":{ + "audienceGenerationJobArn":{"shape":"AudienceGenerationJobArn"}, + "collaborationId":{"shape":"UUID"}, + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, + "createTime":{"shape":"SyntheticTimestamp_date_time"}, + "description":{"shape":"ResourceDescription"}, + "name":{"shape":"NameString"}, + "startedBy":{"shape":"AccountId"}, + "status":{"shape":"AudienceGenerationJobStatus"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"} + } + }, + "AudienceModelArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:audience-model/[-a-zA-Z0-9_/.]+$" + }, + "AudienceModelList":{ + "type":"list", + "member":{"shape":"AudienceModelSummary"} + }, + "AudienceModelMetric":{ + "type":"structure", + "required":[ + "forTopKItemPredictions", + "type", + "value" + ], + "members":{ + "forTopKItemPredictions":{"shape":"Integer"}, + "type":{"shape":"AudienceModelMetricType"}, + "value":{"shape":"Double"} + } + }, + "AudienceModelMetricType":{ + "type":"string", + "enum":[ + "NORMALIZED_DISCOUNTED_CUMULATIVE_GAIN", + "MEAN_RECIPROCAL_RANK", + "PRECISION", + "RECALL" + ] + }, + "AudienceModelMetrics":{ + "type":"list", + "member":{"shape":"AudienceModelMetric"} + }, + "AudienceModelStatus":{ + "type":"string", + "enum":[ + "CREATE_PENDING", + "CREATE_IN_PROGRESS", + "CREATE_FAILED", + "ACTIVE", + "DELETE_PENDING", + "DELETE_IN_PROGRESS", + "DELETE_FAILED" + ] + }, + "AudienceModelSummary":{ + "type":"structure", + "required":[ + "audienceModelArn", + "createTime", + "name", + "status", + "trainingDatasetArn", + "updateTime" + ], + "members":{ + "audienceModelArn":{"shape":"AudienceModelArn"}, + "createTime":{"shape":"SyntheticTimestamp_date_time"}, + "description":{"shape":"ResourceDescription"}, + "name":{"shape":"NameString"}, + "status":{"shape":"AudienceModelStatus"}, + "trainingDatasetArn":{"shape":"TrainingDatasetArn"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"} + } + }, + "AudienceQualityMetrics":{ + "type":"structure", + "required":["relevanceMetrics"], + "members":{ + "relevanceMetrics":{"shape":"RelevanceMetrics"} + } + }, + "AudienceSize":{ + "type":"structure", + "required":[ + "type", + "value" + ], + "members":{ + "type":{"shape":"AudienceSizeType"}, + "value":{"shape":"AudienceSizeValue"} + } + }, + "AudienceSizeBins":{ + "type":"list", + "member":{"shape":"AudienceSizeValue"}, + "max":25, + "min":1 + }, + "AudienceSizeConfig":{ + "type":"structure", + "required":[ + "audienceSizeBins", + "audienceSizeType" + ], + "members":{ + "audienceSizeBins":{"shape":"AudienceSizeBins"}, + "audienceSizeType":{"shape":"AudienceSizeType"} + } + }, + "AudienceSizeType":{ + "type":"string", + "enum":[ + "ABSOLUTE", + "PERCENTAGE" + ] + }, + "AudienceSizeValue":{ + "type":"integer", + "box":true, + "max":20000000, + "min":1 + }, + "Boolean":{ + "type":"boolean", + "box":true + }, + "ColumnName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$" + }, + "ColumnSchema":{ + "type":"structure", + "required":[ + "columnName", + "columnTypes" + ], + "members":{ + "columnName":{"shape":"ColumnName"}, + "columnTypes":{"shape":"ColumnTypeList"} + } + }, + "ColumnType":{ + "type":"string", + "enum":[ + "USER_ID", + "ITEM_ID", + "TIMESTAMP", + "CATEGORICAL_FEATURE", + "NUMERICAL_FEATURE" + ] + }, + "ColumnTypeList":{ + "type":"list", + "member":{"shape":"ColumnType"}, + "max":1, + "min":1 + }, + "ConfiguredAudienceModelArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:configured-audience-model/[-a-zA-Z0-9_/.]+$" + }, + "ConfiguredAudienceModelList":{ + "type":"list", + "member":{"shape":"ConfiguredAudienceModelSummary"} + }, + "ConfiguredAudienceModelOutputConfig":{ + "type":"structure", + "required":[ + "destination", + "roleArn" + ], + "members":{ + "destination":{"shape":"AudienceDestination"}, + "roleArn":{"shape":"IamRoleArn"} + } + }, + "ConfiguredAudienceModelStatus":{ + "type":"string", + "enum":["ACTIVE"] + }, + "ConfiguredAudienceModelSummary":{ + "type":"structure", + "required":[ + "audienceModelArn", + "configuredAudienceModelArn", + "createTime", + "name", + "outputConfig", + "status", + "updateTime" + ], + "members":{ + "audienceModelArn":{"shape":"AudienceModelArn"}, + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, + "createTime":{"shape":"SyntheticTimestamp_date_time"}, + "description":{"shape":"ResourceDescription"}, + "name":{"shape":"NameString"}, + "outputConfig":{"shape":"ConfiguredAudienceModelOutputConfig"}, + "status":{"shape":"ConfiguredAudienceModelStatus"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"} + } + }, + "ConflictException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":409, + "senderFault":true + }, + "exception":true + }, + "CreateAudienceModelRequest":{ + "type":"structure", + "required":[ + "name", + "trainingDatasetArn" + ], + "members":{ + "description":{"shape":"ResourceDescription"}, + "kmsKeyArn":{"shape":"KmsKeyArn"}, + "name":{"shape":"NameString"}, + "tags":{"shape":"TagMap"}, + "trainingDataEndTime":{"shape":"SyntheticTimestamp_date_time"}, + "trainingDataStartTime":{"shape":"SyntheticTimestamp_date_time"}, + "trainingDatasetArn":{"shape":"TrainingDatasetArn"} + } + }, + "CreateAudienceModelResponse":{ + "type":"structure", + "required":["audienceModelArn"], + "members":{ + "audienceModelArn":{"shape":"AudienceModelArn"} + } + }, + "CreateConfiguredAudienceModelRequest":{ + "type":"structure", + "required":[ + "audienceModelArn", + "name", + "outputConfig", + "sharedAudienceMetrics" + ], + "members":{ + "audienceModelArn":{"shape":"AudienceModelArn"}, + "audienceSizeConfig":{"shape":"AudienceSizeConfig"}, + "childResourceTagOnCreatePolicy":{"shape":"TagOnCreatePolicy"}, + "description":{"shape":"ResourceDescription"}, + "minMatchingSeedSize":{"shape":"MinMatchingSeedSize"}, + "name":{"shape":"NameString"}, + "outputConfig":{"shape":"ConfiguredAudienceModelOutputConfig"}, + "sharedAudienceMetrics":{"shape":"MetricsList"}, + "tags":{"shape":"TagMap"} + } + }, + "CreateConfiguredAudienceModelResponse":{ + "type":"structure", + "required":["configuredAudienceModelArn"], + "members":{ + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"} + } + }, + "CreateTrainingDatasetRequest":{ + "type":"structure", + "required":[ + "name", + "roleArn", + "trainingData" + ], + "members":{ + "description":{"shape":"ResourceDescription"}, + "name":{"shape":"NameString"}, + "roleArn":{"shape":"IamRoleArn"}, + "tags":{"shape":"TagMap"}, + "trainingData":{"shape":"CreateTrainingDatasetRequestTrainingDataList"} + } + }, + "CreateTrainingDatasetRequestTrainingDataList":{ + "type":"list", + "member":{"shape":"Dataset"}, + "max":1, + "min":1 + }, + "CreateTrainingDatasetResponse":{ + "type":"structure", + "required":["trainingDatasetArn"], + "members":{ + "trainingDatasetArn":{"shape":"TrainingDatasetArn"} + } + }, + "DataSource":{ + "type":"structure", + "required":["glueDataSource"], + "members":{ + "glueDataSource":{"shape":"GlueDataSource"} + } + }, + "Dataset":{ + "type":"structure", + "required":[ + "inputConfig", + "type" + ], + "members":{ + "inputConfig":{"shape":"DatasetInputConfig"}, + "type":{"shape":"DatasetType"} + } + }, + "DatasetInputConfig":{ + "type":"structure", + "required":[ + "dataSource", + "schema" + ], + "members":{ + "dataSource":{"shape":"DataSource"}, + "schema":{"shape":"DatasetInputConfigSchemaList"} + } + }, + "DatasetInputConfigSchemaList":{ + "type":"list", + "member":{"shape":"ColumnSchema"}, + "max":100, + "min":1 + }, + "DatasetList":{ + "type":"list", + "member":{"shape":"Dataset"} + }, + "DatasetType":{ + "type":"string", + "enum":["INTERACTIONS"] + }, + "DeleteAudienceGenerationJobRequest":{ + "type":"structure", + "required":["audienceGenerationJobArn"], + "members":{ + "audienceGenerationJobArn":{ + "shape":"AudienceGenerationJobArn", + "location":"uri", + "locationName":"audienceGenerationJobArn" + } + } + }, + "DeleteAudienceModelRequest":{ + "type":"structure", + "required":["audienceModelArn"], + "members":{ + "audienceModelArn":{ + "shape":"AudienceModelArn", + "location":"uri", + "locationName":"audienceModelArn" + } + } + }, + "DeleteConfiguredAudienceModelPolicyRequest":{ + "type":"structure", + "required":["configuredAudienceModelArn"], + "members":{ + "configuredAudienceModelArn":{ + "shape":"ConfiguredAudienceModelArn", + "location":"uri", + "locationName":"configuredAudienceModelArn" + } + } + }, + "DeleteConfiguredAudienceModelRequest":{ + "type":"structure", + "required":["configuredAudienceModelArn"], + "members":{ + "configuredAudienceModelArn":{ + "shape":"ConfiguredAudienceModelArn", + "location":"uri", + "locationName":"configuredAudienceModelArn" + } + } + }, + "DeleteTrainingDatasetRequest":{ + "type":"structure", + "required":["trainingDatasetArn"], + "members":{ + "trainingDatasetArn":{ + "shape":"TrainingDatasetArn", + "location":"uri", + "locationName":"trainingDatasetArn" + } + } + }, + "Double":{ + "type":"double", + "box":true + }, + "GetAudienceGenerationJobRequest":{ + "type":"structure", + "required":["audienceGenerationJobArn"], + "members":{ + "audienceGenerationJobArn":{ + "shape":"AudienceGenerationJobArn", + "location":"uri", + "locationName":"audienceGenerationJobArn" + } + } + }, + "GetAudienceGenerationJobResponse":{ + "type":"structure", + "required":[ + "audienceGenerationJobArn", + "configuredAudienceModelArn", + "createTime", + "name", + "status", + "updateTime" + ], + "members":{ + "audienceGenerationJobArn":{"shape":"AudienceGenerationJobArn"}, + "collaborationId":{"shape":"UUID"}, + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, + "createTime":{"shape":"SyntheticTimestamp_date_time"}, + "description":{"shape":"ResourceDescription"}, + "includeSeedInOutput":{"shape":"Boolean"}, + "metrics":{"shape":"AudienceQualityMetrics"}, + "name":{"shape":"NameString"}, + "seedAudience":{"shape":"AudienceGenerationJobDataSource"}, + "startedBy":{"shape":"AccountId"}, + "status":{"shape":"AudienceGenerationJobStatus"}, + "statusDetails":{"shape":"StatusDetails"}, + "tags":{"shape":"TagMap"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"} + } + }, + "GetAudienceModelRequest":{ + "type":"structure", + "required":["audienceModelArn"], + "members":{ + "audienceModelArn":{ + "shape":"AudienceModelArn", + "location":"uri", + "locationName":"audienceModelArn" + } + } + }, + "GetAudienceModelResponse":{ + "type":"structure", + "required":[ + "audienceModelArn", + "createTime", + "name", + "status", + "trainingDatasetArn", + "updateTime" + ], + "members":{ + "audienceModelArn":{"shape":"AudienceModelArn"}, + "createTime":{"shape":"SyntheticTimestamp_date_time"}, + "description":{"shape":"ResourceDescription"}, + "kmsKeyArn":{"shape":"KmsKeyArn"}, + "metrics":{"shape":"AudienceModelMetrics"}, + "name":{"shape":"NameString"}, + "status":{"shape":"AudienceModelStatus"}, + "statusDetails":{"shape":"StatusDetails"}, + "tags":{"shape":"TagMap"}, + "trainingDataEndTime":{"shape":"SyntheticTimestamp_date_time"}, + "trainingDataStartTime":{"shape":"SyntheticTimestamp_date_time"}, + "trainingDatasetArn":{"shape":"TrainingDatasetArn"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"} + } + }, + "GetConfiguredAudienceModelPolicyRequest":{ + "type":"structure", + "required":["configuredAudienceModelArn"], + "members":{ + "configuredAudienceModelArn":{ + "shape":"ConfiguredAudienceModelArn", + "location":"uri", + "locationName":"configuredAudienceModelArn" + } + } + }, + "GetConfiguredAudienceModelPolicyResponse":{ + "type":"structure", + "required":[ + "configuredAudienceModelArn", + "configuredAudienceModelPolicy", + "policyHash" + ], + "members":{ + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, + "configuredAudienceModelPolicy":{"shape":"ResourcePolicy"}, + "policyHash":{"shape":"Hash"} + } + }, + "GetConfiguredAudienceModelRequest":{ + "type":"structure", + "required":["configuredAudienceModelArn"], + "members":{ + "configuredAudienceModelArn":{ + "shape":"ConfiguredAudienceModelArn", + "location":"uri", + "locationName":"configuredAudienceModelArn" + } + } + }, + "GetConfiguredAudienceModelResponse":{ + "type":"structure", + "required":[ + "audienceModelArn", + "configuredAudienceModelArn", + "createTime", + "name", + "outputConfig", + "sharedAudienceMetrics", + "status", + "updateTime" + ], + "members":{ + "audienceModelArn":{"shape":"AudienceModelArn"}, + "audienceSizeConfig":{"shape":"AudienceSizeConfig"}, + "childResourceTagOnCreatePolicy":{"shape":"TagOnCreatePolicy"}, + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, + "createTime":{"shape":"SyntheticTimestamp_date_time"}, + "description":{"shape":"ResourceDescription"}, + "minMatchingSeedSize":{"shape":"MinMatchingSeedSize"}, + "name":{"shape":"NameString"}, + "outputConfig":{"shape":"ConfiguredAudienceModelOutputConfig"}, + "sharedAudienceMetrics":{"shape":"MetricsList"}, + "status":{"shape":"ConfiguredAudienceModelStatus"}, + "tags":{"shape":"TagMap"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"} + } + }, + "GetTrainingDatasetRequest":{ + "type":"structure", + "required":["trainingDatasetArn"], + "members":{ + "trainingDatasetArn":{ + "shape":"TrainingDatasetArn", + "location":"uri", + "locationName":"trainingDatasetArn" + } + } + }, + "GetTrainingDatasetResponse":{ + "type":"structure", + "required":[ + "createTime", + "name", + "roleArn", + "status", + "trainingData", + "trainingDatasetArn", + "updateTime" + ], + "members":{ + "createTime":{"shape":"SyntheticTimestamp_date_time"}, + "description":{"shape":"ResourceDescription"}, + "name":{"shape":"NameString"}, + "roleArn":{"shape":"IamRoleArn"}, + "status":{"shape":"TrainingDatasetStatus"}, + "tags":{"shape":"TagMap"}, + "trainingData":{"shape":"DatasetList"}, + "trainingDatasetArn":{"shape":"TrainingDatasetArn"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"} + } + }, + "GlueDataSource":{ + "type":"structure", + "required":[ + "databaseName", + "tableName" + ], + "members":{ + "catalogId":{"shape":"AccountId"}, + "databaseName":{"shape":"GlueDatabaseName"}, + "tableName":{"shape":"GlueTableName"} + } + }, + "GlueDatabaseName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_](([a-zA-Z0-9_]+-)*([a-zA-Z0-9_]+))?$" + }, + "GlueTableName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[a-zA-Z0-9_](([a-zA-Z0-9_ ]+-)*([a-zA-Z0-9_ ]+))?$" + }, + "Hash":{ + "type":"string", + "max":128, + "min":64, + "pattern":"^[0-9a-f]+$" + }, + "IamRoleArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:aws[-a-z]*:iam::[0-9]{12}:role/.+$" + }, + "Integer":{ + "type":"integer", + "box":true + }, + "KmsKeyArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:aws[-a-z]*:kms:[-a-z0-9]+:[0-9]{12}:key/.+$" + }, + "ListAudienceExportJobsRequest":{ + "type":"structure", + "members":{ + "audienceGenerationJobArn":{ + "shape":"AudienceGenerationJobArn", + "location":"querystring", + "locationName":"audienceGenerationJobArn" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListAudienceExportJobsResponse":{ + "type":"structure", + "required":["audienceExportJobs"], + "members":{ + "audienceExportJobs":{"shape":"AudienceExportJobList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListAudienceGenerationJobsRequest":{ + "type":"structure", + "members":{ + "collaborationId":{ + "shape":"UUID", + "location":"querystring", + "locationName":"collaborationId" + }, + "configuredAudienceModelArn":{ + "shape":"ConfiguredAudienceModelArn", + "location":"querystring", + "locationName":"configuredAudienceModelArn" + }, + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListAudienceGenerationJobsResponse":{ + "type":"structure", + "required":["audienceGenerationJobs"], + "members":{ + "audienceGenerationJobs":{"shape":"AudienceGenerationJobList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListAudienceModelsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListAudienceModelsResponse":{ + "type":"structure", + "required":["audienceModels"], + "members":{ + "audienceModels":{"shape":"AudienceModelList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListConfiguredAudienceModelsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListConfiguredAudienceModelsResponse":{ + "type":"structure", + "required":["configuredAudienceModels"], + "members":{ + "configuredAudienceModels":{"shape":"ConfiguredAudienceModelList"}, + "nextToken":{"shape":"NextToken"} + } + }, + "ListTagsForResourceRequest":{ + "type":"structure", + "required":["resourceArn"], + "members":{ + "resourceArn":{ + "shape":"TaggableArn", + "location":"uri", + "locationName":"resourceArn" + } + } + }, + "ListTagsForResourceResponse":{ + "type":"structure", + "required":["tags"], + "members":{ + "tags":{"shape":"TagMap"} + } + }, + "ListTrainingDatasetsRequest":{ + "type":"structure", + "members":{ + "maxResults":{ + "shape":"MaxResults", + "location":"querystring", + "locationName":"maxResults" + }, + "nextToken":{ + "shape":"NextToken", + "location":"querystring", + "locationName":"nextToken" + } + } + }, + "ListTrainingDatasetsResponse":{ + "type":"structure", + "required":["trainingDatasets"], + "members":{ + "nextToken":{"shape":"NextToken"}, + "trainingDatasets":{"shape":"TrainingDatasetList"} + } + }, + "MaxResults":{ + "type":"integer", + "box":true, + "max":100, + "min":1 + }, + "MetricsList":{ + "type":"list", + "member":{"shape":"SharedAudienceMetrics"}, + "max":1, + "min":1 + }, + "MinMatchingSeedSize":{ + "type":"integer", + "box":true, + "max":500000, + "min":25 + }, + "NameString":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^(?!\\s*$)[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t]*$" + }, + "NextToken":{ + "type":"string", + "max":10240, + "min":1 + }, + "PolicyExistenceCondition":{ + "type":"string", + "enum":[ + "POLICY_MUST_EXIST", + "POLICY_MUST_NOT_EXIST" + ] + }, + "PutConfiguredAudienceModelPolicyRequest":{ + "type":"structure", + "required":[ + "configuredAudienceModelArn", + "configuredAudienceModelPolicy" + ], + "members":{ + "configuredAudienceModelArn":{ + "shape":"ConfiguredAudienceModelArn", + "location":"uri", + "locationName":"configuredAudienceModelArn" + }, + "configuredAudienceModelPolicy":{"shape":"ResourcePolicy"}, + "policyExistenceCondition":{"shape":"PolicyExistenceCondition"}, + "previousPolicyHash":{"shape":"Hash"} + } + }, + "PutConfiguredAudienceModelPolicyResponse":{ + "type":"structure", + "required":[ + "configuredAudienceModelPolicy", + "policyHash" + ], + "members":{ + "configuredAudienceModelPolicy":{"shape":"ResourcePolicy"}, + "policyHash":{"shape":"Hash"} + } + }, + "RelevanceMetric":{ + "type":"structure", + "required":["audienceSize"], + "members":{ + "audienceSize":{"shape":"AudienceSize"}, + "score":{"shape":"Double"} + } + }, + "RelevanceMetrics":{ + "type":"list", + "member":{"shape":"RelevanceMetric"} + }, + "ResourceDescription":{ + "type":"string", + "max":255, + "min":0, + "pattern":"^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDBFF-\\uDC00\\uDFFF\\t\\r\\n]*$" + }, + "ResourceNotFoundException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":404, + "senderFault":true + }, + "exception":true + }, + "ResourcePolicy":{ + "type":"string", + "max":20480, + "min":1 + }, + "S3ConfigMap":{ + "type":"structure", + "required":["s3Uri"], + "members":{ + "s3Uri":{"shape":"S3Path"} + } + }, + "S3Path":{ + "type":"string", + "max":1285, + "min":1, + "pattern":"^s3://.+$" + }, + "ServiceQuotaExceededException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":402, + "senderFault":true + }, + "exception":true + }, + "SharedAudienceMetrics":{ + "type":"string", + "enum":[ + "ALL", + "NONE" + ] + }, + "StartAudienceExportJobRequest":{ + "type":"structure", + "required":[ + "audienceGenerationJobArn", + "audienceSize", + "name" + ], + "members":{ + "audienceGenerationJobArn":{"shape":"AudienceGenerationJobArn"}, + "audienceSize":{"shape":"AudienceSize"}, + "description":{"shape":"ResourceDescription"}, + "name":{"shape":"NameString"} + } + }, + "StartAudienceGenerationJobRequest":{ + "type":"structure", + "required":[ + "configuredAudienceModelArn", + "name", + "seedAudience" + ], + "members":{ + "collaborationId":{"shape":"UUID"}, + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"}, + "description":{"shape":"ResourceDescription"}, + "includeSeedInOutput":{"shape":"Boolean"}, + "name":{"shape":"NameString"}, + "seedAudience":{"shape":"AudienceGenerationJobDataSource"}, + "tags":{"shape":"TagMap"} + } + }, + "StartAudienceGenerationJobResponse":{ + "type":"structure", + "required":["audienceGenerationJobArn"], + "members":{ + "audienceGenerationJobArn":{"shape":"AudienceGenerationJobArn"} + } + }, + "StatusDetails":{ + "type":"structure", + "members":{ + "message":{"shape":"String"}, + "statusCode":{"shape":"String"} + } + }, + "String":{"type":"string"}, + "SyntheticTimestamp_date_time":{ + "type":"timestamp", + "timestampFormat":"iso8601" + }, + "TagKey":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^(?!aws:).{1,128}$" + }, + "TagKeys":{ + "type":"list", + "member":{"shape":"TagKey"}, + "max":200, + "min":0 + }, + "TagMap":{ + "type":"map", + "key":{"shape":"TagKey"}, + "value":{"shape":"TagValue"}, + "max":200, + "min":0 + }, + "TagOnCreatePolicy":{ + "type":"string", + "enum":[ + "FROM_PARENT_RESOURCE", + "NONE" + ] + }, + "TagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tags" + ], + "members":{ + "resourceArn":{ + "shape":"TaggableArn", + "location":"uri", + "locationName":"resourceArn" + }, + "tags":{"shape":"TagMap"} + } + }, + "TagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "TagValue":{ + "type":"string", + "max":256, + "min":0 + }, + "TaggableArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:(training-dataset|audience-model|configured-audience-model|audience-generation-job)/[-a-zA-Z0-9_/.]+$" + }, + "TrainingDatasetArn":{ + "type":"string", + "max":2048, + "min":20, + "pattern":"^arn:aws[-a-z]*:cleanrooms-ml:[-a-z0-9]+:[0-9]{12}:training-dataset/[-a-zA-Z0-9_/.]+$" + }, + "TrainingDatasetList":{ + "type":"list", + "member":{"shape":"TrainingDatasetSummary"} + }, + "TrainingDatasetStatus":{ + "type":"string", + "enum":["ACTIVE"] + }, + "TrainingDatasetSummary":{ + "type":"structure", + "required":[ + "createTime", + "name", + "status", + "trainingDatasetArn", + "updateTime" + ], + "members":{ + "createTime":{"shape":"SyntheticTimestamp_date_time"}, + "description":{"shape":"ResourceDescription"}, + "name":{"shape":"NameString"}, + "status":{"shape":"TrainingDatasetStatus"}, + "trainingDatasetArn":{"shape":"TrainingDatasetArn"}, + "updateTime":{"shape":"SyntheticTimestamp_date_time"} + } + }, + "UUID":{ + "type":"string", + "max":36, + "min":36, + "pattern":"^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" + }, + "UntagResourceRequest":{ + "type":"structure", + "required":[ + "resourceArn", + "tagKeys" + ], + "members":{ + "resourceArn":{ + "shape":"TaggableArn", + "location":"uri", + "locationName":"resourceArn" + }, + "tagKeys":{ + "shape":"TagKeys", + "location":"querystring", + "locationName":"tagKeys" + } + } + }, + "UntagResourceResponse":{ + "type":"structure", + "members":{ + } + }, + "UpdateConfiguredAudienceModelRequest":{ + "type":"structure", + "required":["configuredAudienceModelArn"], + "members":{ + "audienceModelArn":{"shape":"AudienceModelArn"}, + "audienceSizeConfig":{"shape":"AudienceSizeConfig"}, + "configuredAudienceModelArn":{ + "shape":"ConfiguredAudienceModelArn", + "location":"uri", + "locationName":"configuredAudienceModelArn" + }, + "description":{"shape":"ResourceDescription"}, + "minMatchingSeedSize":{"shape":"MinMatchingSeedSize"}, + "outputConfig":{"shape":"ConfiguredAudienceModelOutputConfig"}, + "sharedAudienceMetrics":{"shape":"MetricsList"} + } + }, + "UpdateConfiguredAudienceModelResponse":{ + "type":"structure", + "required":["configuredAudienceModelArn"], + "members":{ + "configuredAudienceModelArn":{"shape":"ConfiguredAudienceModelArn"} + } + }, + "ValidationException":{ + "type":"structure", + "required":["message"], + "members":{ + "message":{"shape":"String"} + }, + "error":{ + "httpStatusCode":400, + "senderFault":true + }, + "exception":true + } + } +} diff --git a/models/apis/cleanroomsml/2023-09-06/docs-2.json b/models/apis/cleanroomsml/2023-09-06/docs-2.json new file mode 100644 index 00000000000..b7347888e8d --- /dev/null +++ b/models/apis/cleanroomsml/2023-09-06/docs-2.json @@ -0,0 +1,882 @@ +{ + "version": "2.0", + "service": "

API Reference for Amazon Web Services Clean Rooms ML.

", + "operations": { + "CreateAudienceModel": "

Defines the information necessary to create an audience model. An audience model is a machine learning model that Clean Rooms ML trains to measure similarity between users. Clean Rooms ML manages training and storing the audience model. The audience model can be used in multiple calls to the StartAudienceGenerationJob API.

", + "CreateConfiguredAudienceModel": "

Defines the information necessary to create a configured audience model.

", + "CreateTrainingDataset": "

Defines the information necessary to create a training dataset, or seed audience. In Clean Rooms ML, the TrainingDataset is metadata that points to a Glue table, which is read only during AudienceModel creation.

", + "DeleteAudienceGenerationJob": "

Deletes the specified audience generation job, and removes all data associated with the job.

", + "DeleteAudienceModel": "

Specifies an audience model that you want to delete. You can't delete an audience model if there are any configured audience models that depend on the audience model.

", + "DeleteConfiguredAudienceModel": "

Deletes the specified configured audience model. You can't delete a configured audience model if there are any lookalike models that use the configured audience model. If you delete a configured audience model, it will be removed from any collaborations that it is associated to.

", + "DeleteConfiguredAudienceModelPolicy": "

Deletes the specified configured audience model policy.

", + "DeleteTrainingDataset": "

Specifies a training dataset that you want to delete. You can't delete a training dataset if there are any audience models that depend on the training dataset. In Clean Rooms ML, the TrainingDataset is metadata that points to a Glue table, which is read only during AudienceModel creation. This action deletes the metadata.

", + "GetAudienceGenerationJob": "

Returns information about an audience generation job.

", + "GetAudienceModel": "

Returns information about an audience model

", + "GetConfiguredAudienceModel": "

Returns information about a specified configured audience model.

", + "GetConfiguredAudienceModelPolicy": "

Returns information about a configured audience model policy.

", + "GetTrainingDataset": "

Returns information about a training dataset.

", + "ListAudienceExportJobs": "

Returns a list of the audience export jobs.

", + "ListAudienceGenerationJobs": "

Returns a list of audience generation jobs.

", + "ListAudienceModels": "

Returns a list of audience models.

", + "ListConfiguredAudienceModels": "

Returns a list of the configured audience models.

", + "ListTagsForResource": "

Returns a list of tags for a provided resource.

", + "ListTrainingDatasets": "

Returns a list of training datasets.

", + "PutConfiguredAudienceModelPolicy": "

Create or update the resource policy for a configured audience model.

", + "StartAudienceExportJob": "

Export an audience of a specified size after you have generated an audience.

", + "StartAudienceGenerationJob": "

Information necessary to start the audience generation job.

", + "TagResource": "

Adds metadata tags to a specified resource.

", + "UntagResource": "

Removes metadata tags from a specified resource.

", + "UpdateConfiguredAudienceModel": "

Provides the information necessary to update a configured audience model. Updates that impact audience generation jobs take effect when a new job starts, but do not impact currently running jobs.

" + }, + "shapes": { + "AccessDeniedException": { + "base": "

You do not have sufficient access to perform this action.

", + "refs": { + } + }, + "AccountId": { + "base": null, + "refs": { + "AudienceGenerationJobSummary$startedBy": "

The AWS Account that submitted the job.

", + "GetAudienceGenerationJobResponse$startedBy": "

The AWS account that started this audience generation job.

", + "GlueDataSource$catalogId": "

The Glue catalog that contains the training data.

" + } + }, + "AudienceDestination": { + "base": "

Defines the Amazon S3 bucket where the configured audience is stored.

", + "refs": { + "ConfiguredAudienceModelOutputConfig$destination": null + } + }, + "AudienceExportJobList": { + "base": null, + "refs": { + "ListAudienceExportJobsResponse$audienceExportJobs": "

The audience export jobs that match the request.

" + } + }, + "AudienceExportJobStatus": { + "base": null, + "refs": { + "AudienceExportJobSummary$status": "

The status of the audience export job.

" + } + }, + "AudienceExportJobSummary": { + "base": "

Provides information about the audience export job.

", + "refs": { + "AudienceExportJobList$member": null + } + }, + "AudienceGenerationJobArn": { + "base": null, + "refs": { + "AudienceExportJobSummary$audienceGenerationJobArn": "

The Amazon Resource Name (ARN) of the audience generation job that was exported.

", + "AudienceGenerationJobSummary$audienceGenerationJobArn": "

The Amazon Resource Name (ARN) of the audience generation job.

", + "DeleteAudienceGenerationJobRequest$audienceGenerationJobArn": "

The Amazon Resource Name (ARN) of the audience generation job that you want to delete.

", + "GetAudienceGenerationJobRequest$audienceGenerationJobArn": "

The Amazon Resource Name (ARN) of the audience generation job that you are interested in.

", + "GetAudienceGenerationJobResponse$audienceGenerationJobArn": "

The Amazon Resource Name (ARN) of the audience generation job.

", + "ListAudienceExportJobsRequest$audienceGenerationJobArn": "

The Amazon Resource Name (ARN) of the audience generation job that you are interested in.

", + "StartAudienceExportJobRequest$audienceGenerationJobArn": "

The Amazon Resource Name (ARN) of the audience generation job that you want to export.

", + "StartAudienceGenerationJobResponse$audienceGenerationJobArn": "

The Amazon Resource Name (ARN) of the audience generation job.

" + } + }, + "AudienceGenerationJobDataSource": { + "base": "

Defines the Amazon S3 bucket where the training data for the configured audience is stored.

", + "refs": { + "GetAudienceGenerationJobResponse$seedAudience": "

The seed audience that was used for this audience generation job. This field will be null if the account calling the API is the account that started this audience generation job.

", + "StartAudienceGenerationJobRequest$seedAudience": "

The seed audience that is used to generate the audience.

" + } + }, + "AudienceGenerationJobList": { + "base": null, + "refs": { + "ListAudienceGenerationJobsResponse$audienceGenerationJobs": "

The audience generation jobs that match the request.

" + } + }, + "AudienceGenerationJobStatus": { + "base": null, + "refs": { + "AudienceGenerationJobSummary$status": "

The status of the audience generation job.

", + "GetAudienceGenerationJobResponse$status": "

The status of the audience generation job.

" + } + }, + "AudienceGenerationJobSummary": { + "base": "

Provides information about the configured audience generation job.

", + "refs": { + "AudienceGenerationJobList$member": null + } + }, + "AudienceModelArn": { + "base": null, + "refs": { + "AudienceModelSummary$audienceModelArn": "

The Amazon Resource Name (ARN) of the audience model.

", + "ConfiguredAudienceModelSummary$audienceModelArn": "

The Amazon Resource Name (ARN) of the audience model that was used to create the configured audience model.

", + "CreateAudienceModelResponse$audienceModelArn": "

The Amazon Resource Name (ARN) of the audience model.

", + "CreateConfiguredAudienceModelRequest$audienceModelArn": "

The Amazon Resource Name (ARN) of the audience model to use for the configured audience model.

", + "DeleteAudienceModelRequest$audienceModelArn": "

The Amazon Resource Name (ARN) of the audience model that you want to delete.

", + "GetAudienceModelRequest$audienceModelArn": "

The Amazon Resource Name (ARN) of the audience model that you are interested in.

", + "GetAudienceModelResponse$audienceModelArn": "

The Amazon Resource Name (ARN) of the audience model.

", + "GetConfiguredAudienceModelResponse$audienceModelArn": "

The Amazon Resource Name (ARN) of the audience model used for this configured audience model.

", + "UpdateConfiguredAudienceModelRequest$audienceModelArn": "

The Amazon Resource Name (ARN) of the new audience model that you want to use.

" + } + }, + "AudienceModelList": { + "base": null, + "refs": { + "ListAudienceModelsResponse$audienceModels": "

The audience models that match the request.

" + } + }, + "AudienceModelMetric": { + "base": "

The audience model metrics.

", + "refs": { + "AudienceModelMetrics$member": null + } + }, + "AudienceModelMetricType": { + "base": null, + "refs": { + "AudienceModelMetric$type": "

The audience model metric.

" + } + }, + "AudienceModelMetrics": { + "base": null, + "refs": { + "GetAudienceModelResponse$metrics": "

Accuracy metrics for the model.

" + } + }, + "AudienceModelStatus": { + "base": null, + "refs": { + "AudienceModelSummary$status": "

The status of the audience model.

", + "GetAudienceModelResponse$status": "

The status of the audience model.

" + } + }, + "AudienceModelSummary": { + "base": "

Information about the audience model.

", + "refs": { + "AudienceModelList$member": null + } + }, + "AudienceQualityMetrics": { + "base": "

Metrics that describe the quality of the generated audience.

", + "refs": { + "GetAudienceGenerationJobResponse$metrics": "

The relevance scores for different audience sizes.

" + } + }, + "AudienceSize": { + "base": "

The size of the generated audience. Must match one of the sizes in the configured audience model.

", + "refs": { + "AudienceExportJobSummary$audienceSize": null, + "RelevanceMetric$audienceSize": null, + "StartAudienceExportJobRequest$audienceSize": null + } + }, + "AudienceSizeBins": { + "base": null, + "refs": { + "AudienceSizeConfig$audienceSizeBins": "

An array of the different audience output sizes.

" + } + }, + "AudienceSizeConfig": { + "base": "

Configure the list of audience output sizes that can be created. A request to StartAudienceGenerationJob that uses this configured audience model must have an audienceSize selected from this list. You can use the ABSOLUTE AudienceSize to configure out audience sizes using the count of identifiers in the output. You can use the Percentage AudienceSize to configure sizes in the range 1-100 percent.

", + "refs": { + "CreateConfiguredAudienceModelRequest$audienceSizeConfig": "

Configure the list of output sizes of audiences that can be created using this configured audience model. A request to StartAudienceGenerationJob that uses this configured audience model must have an audienceSize selected from this list. You can use the ABSOLUTE AudienceSize to configure out audience sizes using the count of identifiers in the output. You can use the Percentage AudienceSize to configure sizes in the range 1-100 percent.

", + "GetConfiguredAudienceModelResponse$audienceSizeConfig": "

The list of output sizes of audiences that can be created using this configured audience model. A request to StartAudienceGenerationJob that uses this configured audience model must have an audienceSize selected from this list. You can use the ABSOLUTE AudienceSize to configure out audience sizes using the count of identifiers in the output. You can use the Percentage AudienceSize to configure sizes in the range 1-100 percent.

", + "UpdateConfiguredAudienceModelRequest$audienceSizeConfig": "

The new audience size configuration.

" + } + }, + "AudienceSizeType": { + "base": null, + "refs": { + "AudienceSize$type": "

Whether the audience size is defined in absolute terms or as a percentage. You can use the ABSOLUTE AudienceSize to configure out audience sizes using the count of identifiers in the output. You can use the Percentage AudienceSize to configure sizes in the range 1-100 percent.

", + "AudienceSizeConfig$audienceSizeType": "

Whether the audience output sizes are defined as an absolute number or a percentage.

" + } + }, + "AudienceSizeValue": { + "base": null, + "refs": { + "AudienceSize$value": "

Specify an audience size value.

", + "AudienceSizeBins$member": null + } + }, + "Boolean": { + "base": null, + "refs": { + "GetAudienceGenerationJobResponse$includeSeedInOutput": "

Configure whether the seed users are included in the output audience. By default, Clean Rooms ML removes seed users from the output audience. If you specify TRUE, the seed users will appear first in the output. Clean Rooms ML does not explicitly reveal whether a user was in the seed, but the recipient of the audience will know that the first minimumSeedSize count of users are from the seed.

", + "StartAudienceGenerationJobRequest$includeSeedInOutput": "

Whether the seed audience is included in the audience generation output.

" + } + }, + "ColumnName": { + "base": null, + "refs": { + "ColumnSchema$columnName": "

The name of a column.

" + } + }, + "ColumnSchema": { + "base": "

Metadata for a column.

", + "refs": { + "DatasetInputConfigSchemaList$member": null + } + }, + "ColumnType": { + "base": null, + "refs": { + "ColumnTypeList$member": null + } + }, + "ColumnTypeList": { + "base": null, + "refs": { + "ColumnSchema$columnTypes": "

The data type of column.

" + } + }, + "ConfiguredAudienceModelArn": { + "base": null, + "refs": { + "AudienceGenerationJobSummary$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model that was used for this audience generation job.

", + "ConfiguredAudienceModelSummary$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model that you are interested in.

", + "CreateConfiguredAudienceModelResponse$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model.

", + "DeleteConfiguredAudienceModelPolicyRequest$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model policy that you want to delete.

", + "DeleteConfiguredAudienceModelRequest$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model that you want to delete.

", + "GetAudienceGenerationJobResponse$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model used for this audience generation job.

", + "GetConfiguredAudienceModelPolicyRequest$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model that you are interested in.

", + "GetConfiguredAudienceModelPolicyResponse$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model.

", + "GetConfiguredAudienceModelRequest$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model that you are interested in.

", + "GetConfiguredAudienceModelResponse$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model.

", + "ListAudienceGenerationJobsRequest$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model that was used for the audience generation jobs that you are interested in.

", + "PutConfiguredAudienceModelPolicyRequest$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model that the resource policy will govern.

", + "StartAudienceGenerationJobRequest$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model that is used for this audience generation job.

", + "UpdateConfiguredAudienceModelRequest$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model that you want to update.

", + "UpdateConfiguredAudienceModelResponse$configuredAudienceModelArn": "

The Amazon Resource Name (ARN) of the configured audience model that was updated.

" + } + }, + "ConfiguredAudienceModelList": { + "base": null, + "refs": { + "ListConfiguredAudienceModelsResponse$configuredAudienceModels": "

The configured audience models.

" + } + }, + "ConfiguredAudienceModelOutputConfig": { + "base": "

Configuration information necessary for the configure audience model output.

", + "refs": { + "ConfiguredAudienceModelSummary$outputConfig": "

The output configuration of the configured audience model.

", + "CreateConfiguredAudienceModelRequest$outputConfig": "

Configure the Amazon S3 location and IAM Role for audiences created using this configured audience model. Each audience will have a unique location. The IAM Role must have s3:PutObject permission on the destination Amazon S3 location. If the destination is protected with Amazon S3 KMS-SSE, then the Role must also have the required KMS permissions.

", + "GetConfiguredAudienceModelResponse$outputConfig": "

The output configuration of the configured audience model

", + "UpdateConfiguredAudienceModelRequest$outputConfig": "

The new output configuration.

" + } + }, + "ConfiguredAudienceModelStatus": { + "base": null, + "refs": { + "ConfiguredAudienceModelSummary$status": "

The status of the configured audience model.

", + "GetConfiguredAudienceModelResponse$status": "

The status of the configured audience model.

" + } + }, + "ConfiguredAudienceModelSummary": { + "base": "

Information about the configured audience model.

", + "refs": { + "ConfiguredAudienceModelList$member": null + } + }, + "ConflictException": { + "base": "

A resource with that name already exists in this region.

", + "refs": { + } + }, + "CreateAudienceModelRequest": { + "base": null, + "refs": { + } + }, + "CreateAudienceModelResponse": { + "base": null, + "refs": { + } + }, + "CreateConfiguredAudienceModelRequest": { + "base": null, + "refs": { + } + }, + "CreateConfiguredAudienceModelResponse": { + "base": null, + "refs": { + } + }, + "CreateTrainingDatasetRequest": { + "base": null, + "refs": { + } + }, + "CreateTrainingDatasetRequestTrainingDataList": { + "base": null, + "refs": { + "CreateTrainingDatasetRequest$trainingData": "

An array of information that lists the Dataset objects, which specifies the dataset type and details on its location and schema. You must provide a role that has read access to these tables.

" + } + }, + "CreateTrainingDatasetResponse": { + "base": null, + "refs": { + } + }, + "DataSource": { + "base": "

Defines information about the Glue data source that contains the training data.

", + "refs": { + "DatasetInputConfig$dataSource": "

A DataSource object that specifies the Glue data source for the training data.

" + } + }, + "Dataset": { + "base": "

Defines where the training dataset is located, what type of data it contains, and how to access the data.

", + "refs": { + "CreateTrainingDatasetRequestTrainingDataList$member": null, + "DatasetList$member": null + } + }, + "DatasetInputConfig": { + "base": "

Defines the Glue data source and schema mapping information.

", + "refs": { + "Dataset$inputConfig": "

A DatasetInputConfig object that defines the data source and schema mapping.

" + } + }, + "DatasetInputConfigSchemaList": { + "base": null, + "refs": { + "DatasetInputConfig$schema": "

The schema information for the training data.

" + } + }, + "DatasetList": { + "base": null, + "refs": { + "GetTrainingDatasetResponse$trainingData": "

Metadata about the requested training data.

" + } + }, + "DatasetType": { + "base": null, + "refs": { + "Dataset$type": "

What type of information is found in the dataset.

" + } + }, + "DeleteAudienceGenerationJobRequest": { + "base": null, + "refs": { + } + }, + "DeleteAudienceModelRequest": { + "base": null, + "refs": { + } + }, + "DeleteConfiguredAudienceModelPolicyRequest": { + "base": null, + "refs": { + } + }, + "DeleteConfiguredAudienceModelRequest": { + "base": null, + "refs": { + } + }, + "DeleteTrainingDatasetRequest": { + "base": null, + "refs": { + } + }, + "Double": { + "base": null, + "refs": { + "AudienceModelMetric$value": "

The value of the audience model metric

", + "RelevanceMetric$score": "

The relevance score of the generated audience.

" + } + }, + "GetAudienceGenerationJobRequest": { + "base": null, + "refs": { + } + }, + "GetAudienceGenerationJobResponse": { + "base": null, + "refs": { + } + }, + "GetAudienceModelRequest": { + "base": null, + "refs": { + } + }, + "GetAudienceModelResponse": { + "base": null, + "refs": { + } + }, + "GetConfiguredAudienceModelPolicyRequest": { + "base": null, + "refs": { + } + }, + "GetConfiguredAudienceModelPolicyResponse": { + "base": null, + "refs": { + } + }, + "GetConfiguredAudienceModelRequest": { + "base": null, + "refs": { + } + }, + "GetConfiguredAudienceModelResponse": { + "base": null, + "refs": { + } + }, + "GetTrainingDatasetRequest": { + "base": null, + "refs": { + } + }, + "GetTrainingDatasetResponse": { + "base": null, + "refs": { + } + }, + "GlueDataSource": { + "base": "

Defines the Glue data source that contains the training data.

", + "refs": { + "DataSource$glueDataSource": "

A GlueDataSource object that defines the catalog ID, database name, and table name for the training data.

" + } + }, + "GlueDatabaseName": { + "base": null, + "refs": { + "GlueDataSource$databaseName": "

The Glue database that contains the training data.

" + } + }, + "GlueTableName": { + "base": null, + "refs": { + "GlueDataSource$tableName": "

The Glue table that contains the training data.

" + } + }, + "Hash": { + "base": null, + "refs": { + "GetConfiguredAudienceModelPolicyResponse$policyHash": "

A cryptographic hash of the contents of the policy used to prevent unexpected concurrent modification of the policy.

", + "PutConfiguredAudienceModelPolicyRequest$previousPolicyHash": "

A cryptographic hash of the contents of the policy used to prevent unexpected concurrent modification of the policy.

", + "PutConfiguredAudienceModelPolicyResponse$policyHash": "

A cryptographic hash of the contents of the policy used to prevent unexpected concurrent modification of the policy.

" + } + }, + "IamRoleArn": { + "base": null, + "refs": { + "AudienceGenerationJobDataSource$roleArn": "

The ARN of the IAM role that can read the Amazon S3 bucket where the training data is stored.

", + "ConfiguredAudienceModelOutputConfig$roleArn": "

The ARN of the IAM role that can write the Amazon S3 bucket.

", + "CreateTrainingDatasetRequest$roleArn": "

The ARN of the IAM role that Clean Rooms ML can assume to read the data referred to in the dataSource field of each dataset.

Passing a role across AWS accounts is not allowed. If you pass a role that isn't in your account, you get an AccessDeniedException error.

", + "GetTrainingDatasetResponse$roleArn": "

The IAM role used to read the training data.

" + } + }, + "Integer": { + "base": null, + "refs": { + "AudienceModelMetric$forTopKItemPredictions": "

The number of users that were used to generate these model metrics.

" + } + }, + "KmsKeyArn": { + "base": null, + "refs": { + "CreateAudienceModelRequest$kmsKeyArn": "

The Amazon Resource Name (ARN) of the KMS key. This key is used to encrypt and decrypt customer-owned data in the trained ML model and the associated data.

", + "GetAudienceModelResponse$kmsKeyArn": "

The KMS key ARN used for the audience model.

" + } + }, + "ListAudienceExportJobsRequest": { + "base": null, + "refs": { + } + }, + "ListAudienceExportJobsResponse": { + "base": null, + "refs": { + } + }, + "ListAudienceGenerationJobsRequest": { + "base": null, + "refs": { + } + }, + "ListAudienceGenerationJobsResponse": { + "base": null, + "refs": { + } + }, + "ListAudienceModelsRequest": { + "base": null, + "refs": { + } + }, + "ListAudienceModelsResponse": { + "base": null, + "refs": { + } + }, + "ListConfiguredAudienceModelsRequest": { + "base": null, + "refs": { + } + }, + "ListConfiguredAudienceModelsResponse": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceRequest": { + "base": null, + "refs": { + } + }, + "ListTagsForResourceResponse": { + "base": null, + "refs": { + } + }, + "ListTrainingDatasetsRequest": { + "base": null, + "refs": { + } + }, + "ListTrainingDatasetsResponse": { + "base": null, + "refs": { + } + }, + "MaxResults": { + "base": null, + "refs": { + "ListAudienceExportJobsRequest$maxResults": "

The maximum size of the results that is returned per call.

", + "ListAudienceGenerationJobsRequest$maxResults": "

The maximum size of the results that is returned per call.

", + "ListAudienceModelsRequest$maxResults": "

The maximum size of the results that is returned per call.

", + "ListConfiguredAudienceModelsRequest$maxResults": "

The maximum size of the results that is returned per call.

", + "ListTrainingDatasetsRequest$maxResults": "

The maximum size of the results that is returned per call.

" + } + }, + "MetricsList": { + "base": null, + "refs": { + "CreateConfiguredAudienceModelRequest$sharedAudienceMetrics": "

Whether audience metrics are shared.

", + "GetConfiguredAudienceModelResponse$sharedAudienceMetrics": "

Whether audience metrics are shared.

", + "UpdateConfiguredAudienceModelRequest$sharedAudienceMetrics": "

The new value for whether to share audience metrics.

" + } + }, + "MinMatchingSeedSize": { + "base": null, + "refs": { + "CreateConfiguredAudienceModelRequest$minMatchingSeedSize": "

The minimum number of users from the seed audience that must match with users in the training data of the audience model.

", + "GetConfiguredAudienceModelResponse$minMatchingSeedSize": "

The minimum number of users from the seed audience that must match with users in the training data of the audience model.

", + "UpdateConfiguredAudienceModelRequest$minMatchingSeedSize": "

The minimum number of users from the seed audience that must match with users in the training data of the audience model.

" + } + }, + "NameString": { + "base": null, + "refs": { + "AudienceExportJobSummary$name": "

The name of the audience export job.

", + "AudienceGenerationJobSummary$name": "

The name of the audience generation job.

", + "AudienceModelSummary$name": "

The name of the audience model.

", + "ConfiguredAudienceModelSummary$name": "

The name of the configured audience model.

", + "CreateAudienceModelRequest$name": "

The name of the audience model resource.

", + "CreateConfiguredAudienceModelRequest$name": "

The name of the configured audience model.

", + "CreateTrainingDatasetRequest$name": "

The name of the training dataset. This name must be unique in your account and region.

", + "GetAudienceGenerationJobResponse$name": "

The name of the audience generation job.

", + "GetAudienceModelResponse$name": "

The name of the audience model.

", + "GetConfiguredAudienceModelResponse$name": "

The name of the configured audience model.

", + "GetTrainingDatasetResponse$name": "

The name of the training dataset.

", + "StartAudienceExportJobRequest$name": "

The name of the audience export job.

", + "StartAudienceGenerationJobRequest$name": "

The name of the audience generation job.

", + "TrainingDatasetSummary$name": "

The name of the training dataset.

" + } + }, + "NextToken": { + "base": null, + "refs": { + "ListAudienceExportJobsRequest$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListAudienceExportJobsResponse$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListAudienceGenerationJobsRequest$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListAudienceGenerationJobsResponse$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListAudienceModelsRequest$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListAudienceModelsResponse$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListConfiguredAudienceModelsRequest$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListConfiguredAudienceModelsResponse$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListTrainingDatasetsRequest$nextToken": "

The token value retrieved from a previous call to access the next page of results.

", + "ListTrainingDatasetsResponse$nextToken": "

The token value retrieved from a previous call to access the next page of results.

" + } + }, + "PolicyExistenceCondition": { + "base": null, + "refs": { + "PutConfiguredAudienceModelPolicyRequest$policyExistenceCondition": "

Use this to prevent unexpected concurrent modification of the policy.

" + } + }, + "PutConfiguredAudienceModelPolicyRequest": { + "base": null, + "refs": { + } + }, + "PutConfiguredAudienceModelPolicyResponse": { + "base": null, + "refs": { + } + }, + "RelevanceMetric": { + "base": "

The relevance score of a generated audience.

", + "refs": { + "RelevanceMetrics$member": null + } + }, + "RelevanceMetrics": { + "base": null, + "refs": { + "AudienceQualityMetrics$relevanceMetrics": "

The relevance scores of the generated audience.

" + } + }, + "ResourceDescription": { + "base": null, + "refs": { + "AudienceExportJobSummary$description": "

The description of the audience export job.

", + "AudienceGenerationJobSummary$description": "

The description of the audience generation job.

", + "AudienceModelSummary$description": "

The description of the audience model.

", + "ConfiguredAudienceModelSummary$description": "

The description of the configured audience model.

", + "CreateAudienceModelRequest$description": "

The description of the audience model.

", + "CreateConfiguredAudienceModelRequest$description": "

The description of the configured audience model.

", + "CreateTrainingDatasetRequest$description": "

The description of the training dataset.

", + "GetAudienceGenerationJobResponse$description": "

The description of the audience generation job.

", + "GetAudienceModelResponse$description": "

The description of the audience model.

", + "GetConfiguredAudienceModelResponse$description": "

The description of the configured audience model.

", + "GetTrainingDatasetResponse$description": "

The description of the training dataset.

", + "StartAudienceExportJobRequest$description": "

The description of the audience export job.

", + "StartAudienceGenerationJobRequest$description": "

The description of the audience generation job.

", + "TrainingDatasetSummary$description": "

The description of the training dataset.

", + "UpdateConfiguredAudienceModelRequest$description": "

The new description of the configured audience model.

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

The resource you are requesting does not exist.

", + "refs": { + } + }, + "ResourcePolicy": { + "base": null, + "refs": { + "GetConfiguredAudienceModelPolicyResponse$configuredAudienceModelPolicy": "

The configured audience model policy. This is a JSON IAM resource policy.

", + "PutConfiguredAudienceModelPolicyRequest$configuredAudienceModelPolicy": "

The IAM resource policy.

", + "PutConfiguredAudienceModelPolicyResponse$configuredAudienceModelPolicy": "

The IAM resource policy.

" + } + }, + "S3ConfigMap": { + "base": "

Provides information about an Amazon S3 bucket and path.

", + "refs": { + "AudienceDestination$s3Destination": "

The Amazon S3 bucket and path for the configured audience.

", + "AudienceGenerationJobDataSource$dataSource": "

The Amazon S3 bucket where the training data for the configured audience is stored.

" + } + }, + "S3Path": { + "base": null, + "refs": { + "AudienceExportJobSummary$outputLocation": "

The Amazon S3 bucket where the audience export is stored.

", + "S3ConfigMap$s3Uri": "

The Amazon S3 location URI.

" + } + }, + "ServiceQuotaExceededException": { + "base": "

You have exceeded your service quota.

", + "refs": { + } + }, + "SharedAudienceMetrics": { + "base": null, + "refs": { + "MetricsList$member": null + } + }, + "StartAudienceExportJobRequest": { + "base": null, + "refs": { + } + }, + "StartAudienceGenerationJobRequest": { + "base": null, + "refs": { + } + }, + "StartAudienceGenerationJobResponse": { + "base": null, + "refs": { + } + }, + "StatusDetails": { + "base": "

Details about the status of a resource.

", + "refs": { + "AudienceExportJobSummary$statusDetails": null, + "GetAudienceGenerationJobResponse$statusDetails": "

Details about the status of the audience generation job.

", + "GetAudienceModelResponse$statusDetails": "

Details about the status of the audience model.

" + } + }, + "String": { + "base": null, + "refs": { + "AccessDeniedException$message": null, + "ConflictException$message": null, + "ResourceNotFoundException$message": null, + "ServiceQuotaExceededException$message": null, + "StatusDetails$message": "

The error message that was returned. The message is intended for human consumption and can change at any time. Use the statusCode for programmatic error handling.

", + "StatusDetails$statusCode": "

The status code that was returned. The status code is intended for programmatic error handling. Clean Rooms ML will not change the status code for existing error conditions.

", + "ValidationException$message": null + } + }, + "SyntheticTimestamp_date_time": { + "base": null, + "refs": { + "AudienceExportJobSummary$createTime": "

The time at which the audience export job was created.

", + "AudienceExportJobSummary$updateTime": "

The most recent time at which the audience export job was updated.

", + "AudienceGenerationJobSummary$createTime": "

The time at which the audience generation job was created.

", + "AudienceGenerationJobSummary$updateTime": "

The most recent time at which the audience generation job was updated.

", + "AudienceModelSummary$createTime": "

The time at which the audience model was created.

", + "AudienceModelSummary$updateTime": "

The most recent time at which the audience model was updated.

", + "ConfiguredAudienceModelSummary$createTime": "

The time at which the configured audience model was created.

", + "ConfiguredAudienceModelSummary$updateTime": "

The most recent time at which the configured audience model was updated.

", + "CreateAudienceModelRequest$trainingDataEndTime": "

The end date and time of the training window.

", + "CreateAudienceModelRequest$trainingDataStartTime": "

The start date and time of the training window.

", + "GetAudienceGenerationJobResponse$createTime": "

The time at which the audience generation job was created.

", + "GetAudienceGenerationJobResponse$updateTime": "

The most recent time at which the audience generation job was updated.

", + "GetAudienceModelResponse$createTime": "

The time at which the audience model was created.

", + "GetAudienceModelResponse$trainingDataEndTime": "

The end date specified for the training window.

", + "GetAudienceModelResponse$trainingDataStartTime": "

The start date specified for the training window.

", + "GetAudienceModelResponse$updateTime": "

The most recent time at which the audience model was updated.

", + "GetConfiguredAudienceModelResponse$createTime": "

The time at which the configured audience model was created.

", + "GetConfiguredAudienceModelResponse$updateTime": "

The most recent time at which the configured audience model was updated.

", + "GetTrainingDatasetResponse$createTime": "

The time at which the training dataset was created.

", + "GetTrainingDatasetResponse$updateTime": "

The most recent time at which the training dataset was updated.

", + "TrainingDatasetSummary$createTime": "

The time at which the training dataset was created.

", + "TrainingDatasetSummary$updateTime": "

The most recent time at which the training dataset was updated.

" + } + }, + "TagKey": { + "base": null, + "refs": { + "TagKeys$member": null, + "TagMap$key": null + } + }, + "TagKeys": { + "base": null, + "refs": { + "UntagResourceRequest$tagKeys": "

The key values of tags that you want to remove.

" + } + }, + "TagMap": { + "base": null, + "refs": { + "CreateAudienceModelRequest$tags": "

The optional metadata that you apply to the resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

", + "CreateConfiguredAudienceModelRequest$tags": "

The optional metadata that you apply to the resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

", + "CreateTrainingDatasetRequest$tags": "

The optional metadata that you apply to the resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

", + "GetAudienceGenerationJobResponse$tags": "

The tags that are associated to this audience generation job.

", + "GetAudienceModelResponse$tags": "

The tags that are assigned to the audience model.

", + "GetConfiguredAudienceModelResponse$tags": "

The tags that are associated to this configured audience model.

", + "GetTrainingDatasetResponse$tags": "

The tags that are assigned to this training dataset.

", + "ListTagsForResourceResponse$tags": "

The tags that are associated with the resource.

", + "StartAudienceGenerationJobRequest$tags": "

The optional metadata that you apply to the resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

", + "TagResourceRequest$tags": "

The optional metadata that you apply to the resource to help you categorize and organize them. Each tag consists of a key and an optional value, both of which you define.

The following basic restrictions apply to tags:

" + } + }, + "TagOnCreatePolicy": { + "base": null, + "refs": { + "CreateConfiguredAudienceModelRequest$childResourceTagOnCreatePolicy": "

Configure how the service tags audience generation jobs created using this configured audience model. If you specify NONE, the tags from the StartAudienceGenerationJob request determine the tags of the audience generation job. If you specify FROM_PARENT_RESOURCE, the audience generation job inherits the tags from the configured audience model, by default. Tags in the StartAudienceGenerationJob will override the default.

", + "GetConfiguredAudienceModelResponse$childResourceTagOnCreatePolicy": "

Provides the childResourceTagOnCreatePolicy that was used for this configured audience model.

" + } + }, + "TagResourceRequest": { + "base": null, + "refs": { + } + }, + "TagResourceResponse": { + "base": null, + "refs": { + } + }, + "TagValue": { + "base": null, + "refs": { + "TagMap$value": null + } + }, + "TaggableArn": { + "base": null, + "refs": { + "ListTagsForResourceRequest$resourceArn": "

The Amazon Resource Name (ARN) of the resource that you are interested in.

", + "TagResourceRequest$resourceArn": "

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

", + "UntagResourceRequest$resourceArn": "

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

" + } + }, + "TrainingDatasetArn": { + "base": null, + "refs": { + "AudienceModelSummary$trainingDatasetArn": "

The Amazon Resource Name (ARN) of the training dataset that was used for the audience model.

", + "CreateAudienceModelRequest$trainingDatasetArn": "

The Amazon Resource Name (ARN) of the training dataset for this audience model.

", + "CreateTrainingDatasetResponse$trainingDatasetArn": "

The Amazon Resource Name (ARN) of the training dataset resource.

", + "DeleteTrainingDatasetRequest$trainingDatasetArn": "

The Amazon Resource Name (ARN) of the training dataset that you want to delete.

", + "GetAudienceModelResponse$trainingDatasetArn": "

The Amazon Resource Name (ARN) of the training dataset that was used for this audience model.

", + "GetTrainingDatasetRequest$trainingDatasetArn": "

The Amazon Resource Name (ARN) of the training dataset that you are interested in.

", + "GetTrainingDatasetResponse$trainingDatasetArn": "

The Amazon Resource Name (ARN) of the training dataset.

", + "TrainingDatasetSummary$trainingDatasetArn": "

The Amazon Resource Name (ARN) of the training dataset.

" + } + }, + "TrainingDatasetList": { + "base": null, + "refs": { + "ListTrainingDatasetsResponse$trainingDatasets": "

The training datasets that match the request.

" + } + }, + "TrainingDatasetStatus": { + "base": null, + "refs": { + "GetTrainingDatasetResponse$status": "

The status of the training dataset.

", + "TrainingDatasetSummary$status": "

The status of the training dataset.

" + } + }, + "TrainingDatasetSummary": { + "base": "

Provides information about the training dataset.

", + "refs": { + "TrainingDatasetList$member": null + } + }, + "UUID": { + "base": null, + "refs": { + "AudienceGenerationJobSummary$collaborationId": "

The identifier of the collaboration that contains this audience generation job.

", + "GetAudienceGenerationJobResponse$collaborationId": "

The identifier of the collaboration that this audience generation job is associated with.

", + "ListAudienceGenerationJobsRequest$collaborationId": "

The identifier of the collaboration that contains the audience generation jobs that you are interested in.

", + "StartAudienceGenerationJobRequest$collaborationId": "

The identifier of the collaboration that contains the audience generation job.

" + } + }, + "UntagResourceRequest": { + "base": null, + "refs": { + } + }, + "UntagResourceResponse": { + "base": null, + "refs": { + } + }, + "UpdateConfiguredAudienceModelRequest": { + "base": null, + "refs": { + } + }, + "UpdateConfiguredAudienceModelResponse": { + "base": null, + "refs": { + } + }, + "ValidationException": { + "base": "

The request parameters for this request are incorrect.

", + "refs": { + } + } + } +} diff --git a/models/apis/cleanroomsml/2023-09-06/endpoint-rule-set-1.json b/models/apis/cleanroomsml/2023-09-06/endpoint-rule-set-1.json new file mode 100644 index 00000000000..cc569be8145 --- /dev/null +++ b/models/apis/cleanroomsml/2023-09-06/endpoint-rule-set-1.json @@ -0,0 +1,350 @@ +{ + "version": "1.0", + "parameters": { + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "String" + }, + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "Boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "Boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "String" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cleanrooms-ml-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cleanrooms-ml-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cleanrooms-ml.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://cleanrooms-ml.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] +} \ No newline at end of file diff --git a/models/apis/cleanroomsml/2023-09-06/endpoint-tests-1.json b/models/apis/cleanroomsml/2023-09-06/endpoint-tests-1.json new file mode 100644 index 00000000000..3d35e84b647 --- /dev/null +++ b/models/apis/cleanroomsml/2023-09-06/endpoint-tests-1.json @@ -0,0 +1,314 @@ +{ + "testCases": [ + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml-fips.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml-fips.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml.cn-north-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml.cn-north-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-north-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml-fips.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml-fips.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml.us-gov-east-1.api.aws" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://cleanrooms-ml.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "UseFIPS": false, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips enabled and dualstack disabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, + "Endpoint": "https://example.com" + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" +} \ No newline at end of file diff --git a/models/apis/cleanroomsml/2023-09-06/examples-1.json b/models/apis/cleanroomsml/2023-09-06/examples-1.json new file mode 100644 index 00000000000..0ea7e3b0bbe --- /dev/null +++ b/models/apis/cleanroomsml/2023-09-06/examples-1.json @@ -0,0 +1,5 @@ +{ + "version": "1.0", + "examples": { + } +} diff --git a/models/apis/cleanroomsml/2023-09-06/paginators-1.json b/models/apis/cleanroomsml/2023-09-06/paginators-1.json new file mode 100644 index 00000000000..c3394f11c66 --- /dev/null +++ b/models/apis/cleanroomsml/2023-09-06/paginators-1.json @@ -0,0 +1,34 @@ +{ + "pagination": { + "ListAudienceExportJobs": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "audienceExportJobs" + }, + "ListAudienceGenerationJobs": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "audienceGenerationJobs" + }, + "ListAudienceModels": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "audienceModels" + }, + "ListConfiguredAudienceModels": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "configuredAudienceModels" + }, + "ListTrainingDatasets": { + "input_token": "nextToken", + "output_token": "nextToken", + "limit_key": "maxResults", + "result_key": "trainingDatasets" + } + } +} diff --git a/models/apis/opensearch/2021-01-01/api-2.json b/models/apis/opensearch/2021-01-01/api-2.json index 34089857c75..dfc336622b9 100644 --- a/models/apis/opensearch/2021-01-01/api-2.json +++ b/models/apis/opensearch/2021-01-01/api-2.json @@ -24,6 +24,24 @@ {"shape":"DisabledOperationException"} ] }, + "AddDataSource":{ + "name":"AddDataSource", + "http":{ + "method":"POST", + "requestUri":"/2021-01-01/opensearch/domain/{DomainName}/dataSource" + }, + "input":{"shape":"AddDataSourceRequest"}, + "output":{"shape":"AddDataSourceResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"DisabledOperationException"}, + {"shape":"DependencyFailureException"}, + {"shape":"LimitExceededException"} + ] + }, "AddTags":{ "name":"AddTags", "http":{ @@ -155,6 +173,23 @@ {"shape":"BaseException"} ] }, + "DeleteDataSource":{ + "name":"DeleteDataSource", + "http":{ + "method":"DELETE", + "requestUri":"/2021-01-01/opensearch/domain/{DomainName}/dataSource/{DataSourceName}" + }, + "input":{"shape":"DeleteDataSourceRequest"}, + "output":{"shape":"DeleteDataSourceResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"DisabledOperationException"}, + {"shape":"DependencyFailureException"} + ] + }, "DeleteDomain":{ "name":"DeleteDomain", "http":{ @@ -488,6 +523,23 @@ {"shape":"InternalException"} ] }, + "GetDataSource":{ + "name":"GetDataSource", + "http":{ + "method":"GET", + "requestUri":"/2021-01-01/opensearch/domain/{DomainName}/dataSource/{DataSourceName}" + }, + "input":{"shape":"GetDataSourceRequest"}, + "output":{"shape":"GetDataSourceResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"DisabledOperationException"}, + {"shape":"DependencyFailureException"} + ] + }, "GetDomainMaintenanceStatus":{ "name":"GetDomainMaintenanceStatus", "http":{ @@ -552,6 +604,23 @@ {"shape":"InternalException"} ] }, + "ListDataSources":{ + "name":"ListDataSources", + "http":{ + "method":"GET", + "requestUri":"/2021-01-01/opensearch/domain/{DomainName}/dataSource" + }, + "input":{"shape":"ListDataSourcesRequest"}, + "output":{"shape":"ListDataSourcesResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"DisabledOperationException"}, + {"shape":"DependencyFailureException"} + ] + }, "ListDomainMaintenances":{ "name":"ListDomainMaintenances", "http":{ @@ -808,6 +877,23 @@ {"shape":"ValidationException"} ] }, + "UpdateDataSource":{ + "name":"UpdateDataSource", + "http":{ + "method":"PUT", + "requestUri":"/2021-01-01/opensearch/domain/{DomainName}/dataSource/{DataSourceName}" + }, + "input":{"shape":"UpdateDataSourceRequest"}, + "output":{"shape":"UpdateDataSourceResponse"}, + "errors":[ + {"shape":"BaseException"}, + {"shape":"InternalException"}, + {"shape":"ResourceNotFoundException"}, + {"shape":"ValidationException"}, + {"shape":"DisabledOperationException"}, + {"shape":"DependencyFailureException"} + ] + }, "UpdateDomainConfig":{ "name":"UpdateDomainConfig", "http":{ @@ -977,6 +1063,30 @@ "JVM_YOUNG_GEN_TUNING" ] }, + "AddDataSourceRequest":{ + "type":"structure", + "required":[ + "DomainName", + "Name", + "DataSourceType" + ], + "members":{ + "DomainName":{ + "shape":"DomainName", + "location":"uri", + "locationName":"DomainName" + }, + "Name":{"shape":"DataSourceName"}, + "DataSourceType":{"shape":"DataSourceType"}, + "Description":{"shape":"DataSourceDescription"} + } + }, + "AddDataSourceResponse":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + } + }, "AddTagsRequest":{ "type":"structure", "required":[ @@ -1519,6 +1629,61 @@ "SkipUnavailable":{"shape":"SkipUnavailableStatus"} } }, + "DataSourceDescription":{ + "type":"string", + "max":1000, + "pattern":"^([a-zA-Z0-9_])*[\\\\a-zA-Z0-9_@#%*+=:?./!\\s-]*$" + }, + "DataSourceDetails":{ + "type":"structure", + "members":{ + "DataSourceType":{"shape":"DataSourceType"}, + "Name":{"shape":"DataSourceName"}, + "Description":{"shape":"DataSourceDescription"} + } + }, + "DataSourceList":{ + "type":"list", + "member":{"shape":"DataSourceDetails"} + }, + "DataSourceName":{ + "type":"string", + "max":80, + "min":3, + "pattern":"[a-z][a-z0-9_]+" + }, + "DataSourceType":{ + "type":"structure", + "members":{ + "S3GlueDataCatalog":{"shape":"S3GlueDataCatalog"} + }, + "union":true + }, + "DeleteDataSourceRequest":{ + "type":"structure", + "required":[ + "DomainName", + "Name" + ], + "members":{ + "DomainName":{ + "shape":"DomainName", + "location":"uri", + "locationName":"DomainName" + }, + "Name":{ + "shape":"DataSourceName", + "location":"uri", + "locationName":"DataSourceName" + } + } + }, + "DeleteDataSourceResponse":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + } + }, "DeleteDomainRequest":{ "type":"structure", "required":["DomainName"], @@ -2372,6 +2537,33 @@ "CompatibleVersions":{"shape":"CompatibleVersionsList"} } }, + "GetDataSourceRequest":{ + "type":"structure", + "required":[ + "DomainName", + "Name" + ], + "members":{ + "DomainName":{ + "shape":"DomainName", + "location":"uri", + "locationName":"DomainName" + }, + "Name":{ + "shape":"DataSourceName", + "location":"uri", + "locationName":"DataSourceName" + } + } + }, + "GetDataSourceResponse":{ + "type":"structure", + "members":{ + "DataSourceType":{"shape":"DataSourceType"}, + "Name":{"shape":"DataSourceName"}, + "Description":{"shape":"DataSourceDescription"} + } + }, "GetDomainMaintenanceStatusRequest":{ "type":"structure", "required":[ @@ -2642,6 +2834,23 @@ "key":{"shape":"InstanceRole"}, "value":{"shape":"Limits"} }, + "ListDataSourcesRequest":{ + "type":"structure", + "required":["DomainName"], + "members":{ + "DomainName":{ + "shape":"DomainName", + "location":"uri", + "locationName":"DomainName" + } + } + }, + "ListDataSourcesResponse":{ + "type":"structure", + "members":{ + "DataSources":{"shape":"DataSourceList"} + } + }, "ListDomainMaintenancesRequest":{ "type":"structure", "required":["DomainName"], @@ -3575,6 +3784,12 @@ "max":63, "min":3 }, + "S3GlueDataCatalog":{ + "type":"structure", + "members":{ + "RoleArn":{"shape":"RoleArn"} + } + }, "S3Key":{ "type":"string", "max":1024, @@ -3873,6 +4088,34 @@ "min":0 }, "UncompressedPluginSizeInBytes":{"type":"long"}, + "UpdateDataSourceRequest":{ + "type":"structure", + "required":[ + "DomainName", + "Name", + "DataSourceType" + ], + "members":{ + "DomainName":{ + "shape":"DomainName", + "location":"uri", + "locationName":"DomainName" + }, + "Name":{ + "shape":"DataSourceName", + "location":"uri", + "locationName":"DataSourceName" + }, + "DataSourceType":{"shape":"DataSourceType"}, + "Description":{"shape":"DataSourceDescription"} + } + }, + "UpdateDataSourceResponse":{ + "type":"structure", + "members":{ + "Message":{"shape":"String"} + } + }, "UpdateDomainConfigRequest":{ "type":"structure", "required":["DomainName"], diff --git a/models/apis/opensearch/2021-01-01/docs-2.json b/models/apis/opensearch/2021-01-01/docs-2.json index 867fd703d60..7e15cbec316 100644 --- a/models/apis/opensearch/2021-01-01/docs-2.json +++ b/models/apis/opensearch/2021-01-01/docs-2.json @@ -3,6 +3,7 @@ "service": "

Use the Amazon OpenSearch Service configuration API to create, configure, and manage OpenSearch Service domains.

For sample code that uses the configuration API, see the Amazon OpenSearch Service Developer Guide . The guide also contains sample code for sending signed HTTP requests to the OpenSearch APIs. The endpoint for configuration service requests is Region specific: es.region.amazonaws.com. For example, es.us-east-1.amazonaws.com. For a current list of supported Regions and endpoints, see Amazon Web Services service endpoints.

", "operations": { "AcceptInboundConnection": "

Allows the destination Amazon OpenSearch Service domain owner to accept an inbound cross-cluster search connection request. For more information, see Cross-cluster search for Amazon OpenSearch Service.

", + "AddDataSource": "

Adds the data source on the domain.

", "AddTags": "

Attaches tags to an existing Amazon OpenSearch Service domain. Tags are a set of case-sensitive key-value pairs. A domain can have up to 10 tags. For more information, see Tagging Amazon OpenSearch Service domains.

", "AssociatePackage": "

Associates a package with an Amazon OpenSearch Service domain. For more information, see Custom packages for Amazon OpenSearch Service.

", "AuthorizeVpcEndpointAccess": "

Provides access to an Amazon OpenSearch Service domain through the use of an interface VPC endpoint.

", @@ -11,6 +12,7 @@ "CreateOutboundConnection": "

Creates a new cross-cluster search connection from a source Amazon OpenSearch Service domain to a destination domain. For more information, see Cross-cluster search for Amazon OpenSearch Service.

", "CreatePackage": "

Creates a package for use with Amazon OpenSearch Service domains. For more information, see Custom packages for Amazon OpenSearch Service.

", "CreateVpcEndpoint": "

Creates an Amazon OpenSearch Service-managed VPC endpoint.

", + "DeleteDataSource": "

Deletes the data source.

", "DeleteDomain": "

Deletes an Amazon OpenSearch Service domain and all of its data. You can't recover a domain after you delete it.

", "DeleteInboundConnection": "

Allows the destination Amazon OpenSearch Service domain owner to delete an existing inbound cross-cluster search connection. For more information, see Cross-cluster search for Amazon OpenSearch Service.

", "DeleteOutboundConnection": "

Allows the source Amazon OpenSearch Service domain owner to delete an existing outbound cross-cluster search connection. For more information, see Cross-cluster search for Amazon OpenSearch Service.

", @@ -33,10 +35,12 @@ "DescribeVpcEndpoints": "

Describes one or more Amazon OpenSearch Service-managed VPC endpoints.

", "DissociatePackage": "

Removes a package from the specified Amazon OpenSearch Service domain. The package can't be in use with any OpenSearch index for the dissociation to succeed. The package is still available in OpenSearch Service for association later. For more information, see Custom packages for Amazon OpenSearch Service.

", "GetCompatibleVersions": "

Returns a map of OpenSearch or Elasticsearch versions and the versions you can upgrade them to.

", + "GetDataSource": "

Describes the data source details.

", "GetDomainMaintenanceStatus": "

The status of the maintenance action.

", "GetPackageVersionHistory": "

Returns a list of Amazon OpenSearch Service package versions, along with their creation time, commit message, and plugin properties (if the package is a zip plugin package). For more information, see Custom packages for Amazon OpenSearch Service.

", "GetUpgradeHistory": "

Retrieves the complete history of the last 10 upgrades performed on an Amazon OpenSearch Service domain.

", "GetUpgradeStatus": "

Returns the most recent status of the last upgrade or upgrade eligibility check performed on an Amazon OpenSearch Service domain.

", + "ListDataSources": "

A list of the data source details of the domain.

", "ListDomainMaintenances": "

A list of maintenance actions for the domain.

", "ListDomainNames": "

Returns the names of all Amazon OpenSearch Service domains owned by the current user in the active Region.

", "ListDomainsForPackage": "

Lists all Amazon OpenSearch Service domains associated with a given package. For more information, see Custom packages for Amazon OpenSearch Service.

", @@ -54,6 +58,7 @@ "RevokeVpcEndpointAccess": "

Revokes access to an Amazon OpenSearch Service domain that was provided through an interface VPC endpoint.

", "StartDomainMaintenance": "

Starts the node maintenance process on the data node. These processes can include a node reboot, an Opensearch or Elasticsearch process restart, or a Dashboard or Kibana restart.

", "StartServiceSoftwareUpdate": "

Schedules a service software update for an Amazon OpenSearch Service domain. For more information, see Service software updates in Amazon OpenSearch Service.

", + "UpdateDataSource": "

Updates the data source on the domain.

", "UpdateDomainConfig": "

Modifies the cluster configuration of the specified Amazon OpenSearch Service domain.

", "UpdatePackage": "

Updates a package for use with Amazon OpenSearch Service domains. For more information, see Custom packages for Amazon OpenSearch Service.

", "UpdateScheduledAction": "

Reschedules a planned domain configuration change for a later time. This change can be a scheduled service software update or a blue/green Auto-Tune enhancement.

", @@ -126,6 +131,16 @@ "UpdateScheduledActionRequest$ActionType": "

The type of action to reschedule. Can be one of SERVICE_SOFTWARE_UPDATE, JVM_HEAP_SIZE_TUNING, or JVM_YOUNG_GEN_TUNING. To retrieve this value, send a ListScheduledActions request.

" } }, + "AddDataSourceRequest": { + "base": "

Container for the parameters to the AddDataSource operation.

", + "refs": { + } + }, + "AddDataSourceResponse": { + "base": "

The result of an AddDataSource operation.

", + "refs": { + } + }, "AddTagsRequest": { "base": "

Container for the parameters to the AddTags operation. Specifies the tags to attach to the domain.

", "refs": { @@ -606,6 +621,57 @@ "ConnectionProperties$CrossClusterSearch": "

The connection properties for cross cluster search.

" } }, + "DataSourceDescription": { + "base": null, + "refs": { + "AddDataSourceRequest$Description": "

A description of the data source.

", + "DataSourceDetails$Description": "

A description of the data source.

", + "GetDataSourceResponse$Description": "

A description of the data source.

", + "UpdateDataSourceRequest$Description": "

A description of the data source.

" + } + }, + "DataSourceDetails": { + "base": "

Details about the data sources.

", + "refs": { + "DataSourceList$member": null + } + }, + "DataSourceList": { + "base": null, + "refs": { + "ListDataSourcesResponse$DataSources": "

A list of the data sources.

" + } + }, + "DataSourceName": { + "base": null, + "refs": { + "AddDataSourceRequest$Name": "

The name of the data source.

", + "DataSourceDetails$Name": "

The name of the data source.

", + "DeleteDataSourceRequest$Name": "

The name of the data source.

", + "GetDataSourceRequest$Name": "

The name of the data source.

", + "GetDataSourceResponse$Name": "

The name of the data source.

", + "UpdateDataSourceRequest$Name": "

The name of the data source.

" + } + }, + "DataSourceType": { + "base": "

Information about the data source.

", + "refs": { + "AddDataSourceRequest$DataSourceType": "

The type of data source.

", + "DataSourceDetails$DataSourceType": "

The type of data source.

", + "GetDataSourceResponse$DataSourceType": "

The type of data source.

", + "UpdateDataSourceRequest$DataSourceType": "

The type of data source.

" + } + }, + "DeleteDataSourceRequest": { + "base": "

Container for the parameters to the DeleteDataSource operation.

", + "refs": { + } + }, + "DeleteDataSourceResponse": { + "base": "

The result of a GetDataSource operation.

", + "refs": { + } + }, "DeleteDomainRequest": { "base": "

Container for the parameters to the DeleteDomain operation.

", "refs": { @@ -969,10 +1035,12 @@ "base": "

The name of an OpenSearch Service domain. Domain names are unique across the domains owned by an account within an Amazon Web Services Region.

", "refs": { "AWSDomainInformation$DomainName": "

Name of the domain.

", + "AddDataSourceRequest$DomainName": "

The name of the domain.

", "AssociatePackageRequest$DomainName": "

Name of the domain to associate the package with.

", "AuthorizeVpcEndpointAccessRequest$DomainName": "

The name of the OpenSearch Service domain to provide access to.

", "CancelServiceSoftwareUpdateRequest$DomainName": "

Name of the OpenSearch Service domain that you want to cancel the service software update on.

", "CreateDomainRequest$DomainName": "

Name of the OpenSearch Service domain to create. Domain names are unique across the domains owned by an account within an Amazon Web Services Region.

", + "DeleteDataSourceRequest$DomainName": "

The name of the domain.

", "DeleteDomainRequest$DomainName": "

The name of the domain you want to permanently delete.

", "DescribeDomainAutoTunesRequest$DomainName": "

Name of the domain that you want Auto-Tune details about.

", "DescribeDomainChangeProgressRequest$DomainName": "

The name of the domain to get progress information for.

", @@ -989,9 +1057,11 @@ "DomainPackageDetails$DomainName": "

Name of the domain that the package is associated with.

", "DomainStatus$DomainName": "

Name of the domain. Domain names are unique across all domains owned by the same account within an Amazon Web Services Region.

", "GetCompatibleVersionsRequest$DomainName": "

The name of an existing domain. Provide this parameter to limit the results to a single domain.

", + "GetDataSourceRequest$DomainName": "

The name of the domain.

", "GetDomainMaintenanceStatusRequest$DomainName": "

The name of the domain.

", "GetUpgradeHistoryRequest$DomainName": "

The name of an existing domain.

", "GetUpgradeStatusRequest$DomainName": "

The domain of the domain to get upgrade status information for.

", + "ListDataSourcesRequest$DomainName": "

The name of the domain.

", "ListDomainMaintenancesRequest$DomainName": "

The name of the domain.

", "ListInstanceTypeDetailsRequest$DomainName": "

The name of the domain.

", "ListPackagesForDomainRequest$DomainName": "

The name of the domain for which you want to list associated packages.

", @@ -1001,6 +1071,7 @@ "RevokeVpcEndpointAccessRequest$DomainName": "

The name of the OpenSearch Service domain.

", "StartDomainMaintenanceRequest$DomainName": "

The name of the domain.

", "StartServiceSoftwareUpdateRequest$DomainName": "

The name of the domain that you want to update to the latest service software.

", + "UpdateDataSourceRequest$DomainName": "

The name of the domain.

", "UpdateDomainConfigRequest$DomainName": "

The name of the domain that you're updating.

", "UpdateScheduledActionRequest$DomainName": "

The name of the domain to reschedule an action for.

", "UpgradeDomainRequest$DomainName": "

Name of the OpenSearch Service domain that you want to upgrade.

", @@ -1250,6 +1321,16 @@ "refs": { } }, + "GetDataSourceRequest": { + "base": "

Container for the parameters to the GetDataSource operation.

", + "refs": { + } + }, + "GetDataSourceResponse": { + "base": "

The result of a GetDataSource operation.

", + "refs": { + } + }, "GetDomainMaintenanceStatusRequest": { "base": "

Container for the parameters to the GetDomainMaintenanceStatus operation.

", "refs": { @@ -1488,6 +1569,16 @@ "DescribeInstanceTypeLimitsResponse$LimitsByRole": "

Map that contains all applicable instance type limits.data refers to data nodes.master refers to dedicated master nodes.

" } }, + "ListDataSourcesRequest": { + "base": "

Container for the parameters to the ListDataSources operation.

", + "refs": { + } + }, + "ListDataSourcesResponse": { + "base": "

The result of a ListDataSources operation.

", + "refs": { + } + }, "ListDomainMaintenancesRequest": { "base": "

Container for the parameters to the ListDomainMaintenances operation.

", "refs": { @@ -2174,7 +2265,8 @@ "RoleArn": { "base": null, "refs": { - "CognitoOptions$RoleArn": "

The AmazonOpenSearchServiceCognitoAccess role that allows OpenSearch Service to configure your user pool and identity pool.

" + "CognitoOptions$RoleArn": "

The AmazonOpenSearchServiceCognitoAccess role that allows OpenSearch Service to configure your user pool and identity pool.

", + "S3GlueDataCatalog$RoleArn": "

The role ARN for the AWS S3 Glue Data Catalog.

" } }, "RollbackOnDisable": { @@ -2189,6 +2281,12 @@ "PackageSource$S3BucketName": "

The name of the Amazon S3 bucket containing the package.

" } }, + "S3GlueDataCatalog": { + "base": "

Information about the AWS S3 Glue Data Catalog.

", + "refs": { + "DataSourceType$S3GlueDataCatalog": "

The data source for the AWS S3 Glue Data Catalog.

" + } + }, "S3Key": { "base": null, "refs": { @@ -2423,12 +2521,14 @@ "String": { "base": null, "refs": { + "AddDataSourceResponse$Message": "

A message associated with the data source.

", "AdvancedOptions$key": null, "AdvancedOptions$value": null, "AuthorizedPrincipal$Principal": "

The IAM principal that is allowed access to the domain.

", "AutoTuneMaintenanceSchedule$CronExpressionForRecurrence": "

A cron expression for a recurring maintenance schedule during which Auto-Tune can deploy changes.

", "AutoTuneOptionsOutput$ErrorMessage": "

Any errors that occurred while enabling or disabling Auto-Tune.

", "AutoTuneStatus$ErrorMessage": "

Any errors that occurred while enabling or disabling Auto-Tune.

", + "DeleteDataSourceResponse$Message": "

A message associated with the initiated request.

", "DescribePackagesResponse$NextToken": "

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

", "DescribeReservedInstancesResponse$NextToken": "

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

", "DryRunProgressStatus$DryRunStatus": "

The current status of the dry run.

", @@ -2454,6 +2554,7 @@ "ServiceSoftwareOptions$NewVersion": "

The new service software version, if one is available.

", "ServiceSoftwareOptions$Description": "

A description of the service software update status.

", "StringList$member": null, + "UpdateDataSourceResponse$Message": "

A message associated with the data source.

", "UpdateScheduledActionRequest$ActionID": "

The unique identifier of the action to reschedule. To retrieve this ID, send a ListScheduledActions request.

", "UpgradeDomainResponse$UpgradeId": "

The unique identifier of the domain upgrade.

", "VPCDerivedInfo$VPCId": "

The ID for your VPC. Amazon VPC generates this value when you create a VPC.

", @@ -2479,7 +2580,7 @@ "TLSSecurityPolicy": { "base": null, "refs": { - "DomainEndpointOptions$TLSSecurityPolicy": "

Specify the TLS security policy to apply to the HTTPS endpoint of the domain.

Can be one of the following values:

" + "DomainEndpointOptions$TLSSecurityPolicy": "

Specify the TLS security policy to apply to the HTTPS endpoint of the domain. The policy can be one of the following values:

" } }, "Tag": { @@ -2533,6 +2634,16 @@ "PluginProperties$UncompressedSizeInBytes": "

The uncompressed size of the plugin.

" } }, + "UpdateDataSourceRequest": { + "base": "

Container for the parameters to the UpdateDataSource operation.

", + "refs": { + } + }, + "UpdateDataSourceResponse": { + "base": "

The result of an UpdateDataSource operation.

", + "refs": { + } + }, "UpdateDomainConfigRequest": { "base": "

Container for the request parameters to the UpdateDomain operation.

", "refs": { diff --git a/models/apis/opensearchserverless/2021-11-01/api-2.json b/models/apis/opensearchserverless/2021-11-01/api-2.json index ef091abaa94..b26c511ddb6 100644 --- a/models/apis/opensearchserverless/2021-11-01/api-2.json +++ b/models/apis/opensearchserverless/2021-11-01/api-2.json @@ -1160,6 +1160,9 @@ "name": { "shape": "CollectionName" }, + "standbyReplicas": { + "shape": "StandbyReplicas" + }, "status": { "shape": "CollectionStatus" }, @@ -1354,6 +1357,9 @@ "name": { "shape": "CollectionName" }, + "standbyReplicas": { + "shape": "StandbyReplicas" + }, "status": { "shape": "CollectionStatus" }, @@ -1375,6 +1381,9 @@ "name": { "shape": "CollectionName" }, + "standbyReplicas": { + "shape": "StandbyReplicas" + }, "tags": { "shape": "Tags" }, @@ -2548,6 +2557,13 @@ ], "type": "structure" }, + "StandbyReplicas": { + "enum": [ + "ENABLED", + "DISABLED" + ], + "type": "string" + }, "String": { "type": "string" }, diff --git a/models/apis/opensearchserverless/2021-11-01/docs-2.json b/models/apis/opensearchserverless/2021-11-01/docs-2.json index 26d03f58a55..340d774a095 100644 --- a/models/apis/opensearchserverless/2021-11-01/docs-2.json +++ b/models/apis/opensearchserverless/2021-11-01/docs-2.json @@ -1009,6 +1009,14 @@ "refs": { } }, + "StandbyReplicas": { + "base": null, + "refs": { + "CollectionDetail$standbyReplicas": "

Details about an OpenSearch Serverless collection.

", + "CreateCollectionDetail$standbyReplicas": "

Creates details about an OpenSearch Serverless collection.

", + "CreateCollectionRequest$standbyReplicas": "

Indicates whether standby replicas should be used for a collection.

" + } + }, "String": { "base": null, "refs": { diff --git a/models/apis/opensearchserverless/2021-11-01/endpoint-tests-1.json b/models/apis/opensearchserverless/2021-11-01/endpoint-tests-1.json index 944c804cc57..b93eb3e9701 100644 --- a/models/apis/opensearchserverless/2021-11-01/endpoint-tests-1.json +++ b/models/apis/opensearchserverless/2021-11-01/endpoint-tests-1.json @@ -308,6 +308,17 @@ "expect": { "error": "Invalid Configuration: Missing Region" } + }, + { + "documentation": "Partition doesn't support DualStack", + "expect": { + "error": "DualStack is enabled but this partition does not support DualStack" + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": true + } } ], "version": "1.0" diff --git a/models/apis/runtime.sagemaker/2017-05-13/api-2.json b/models/apis/runtime.sagemaker/2017-05-13/api-2.json index eda54b4961b..5725e6d8002 100644 --- a/models/apis/runtime.sagemaker/2017-05-13/api-2.json +++ b/models/apis/runtime.sagemaker/2017-05-13/api-2.json @@ -91,6 +91,11 @@ "max":1024, "pattern":"\\p{ASCII}*" }, + "InferenceComponentHeader":{ + "type":"string", + "max":63, + "pattern":"^[a-zA-Z0-9]([\\-a-zA-Z0-9]*[a-zA-Z0-9])?$" + }, "InferenceId":{ "type":"string", "max":64, @@ -254,6 +259,11 @@ "shape":"EnableExplanationsHeader", "location":"header", "locationName":"X-Amzn-SageMaker-Enable-Explanations" + }, + "InferenceComponentName":{ + "shape":"InferenceComponentHeader", + "location":"header", + "locationName":"X-Amzn-SageMaker-Inference-Component" } }, "payload":"Body" @@ -323,6 +333,11 @@ "shape":"InferenceId", "location":"header", "locationName":"X-Amzn-SageMaker-Inference-Id" + }, + "InferenceComponentName":{ + "shape":"InferenceComponentHeader", + "location":"header", + "locationName":"X-Amzn-SageMaker-Inference-Component" } }, "payload":"Body" diff --git a/models/apis/runtime.sagemaker/2017-05-13/docs-2.json b/models/apis/runtime.sagemaker/2017-05-13/docs-2.json index ef559a3f6f9..d61e4f69e26 100644 --- a/models/apis/runtime.sagemaker/2017-05-13/docs-2.json +++ b/models/apis/runtime.sagemaker/2017-05-13/docs-2.json @@ -4,7 +4,7 @@ "operations": { "InvokeEndpoint": "

After you deploy a model into production using Amazon SageMaker hosting services, your client applications use this API to get inferences from the model hosted at the specified endpoint.

For an overview of Amazon SageMaker, see How It Works.

Amazon SageMaker strips all POST headers except those supported by the API. Amazon SageMaker might add additional headers. You should not rely on the behavior of headers outside those enumerated in the request syntax.

Calls to InvokeEndpoint are authenticated by using Amazon Web Services Signature Version 4. For information, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 API Reference.

A customer's model containers must respond to requests within 60 seconds. The model itself can have a maximum processing time of 60 seconds before responding to invocations. If your model is going to take 50-60 seconds of processing time, the SDK socket timeout should be set to be 70 seconds.

Endpoints are scoped to an individual account, and are not public. The URL does not contain the account ID, but Amazon SageMaker determines the account ID from the authentication token that is supplied by the caller.

", "InvokeEndpointAsync": "

After you deploy a model into production using Amazon SageMaker hosting services, your client applications use this API to get inferences from the model hosted at the specified endpoint in an asynchronous manner.

Inference requests sent to this API are enqueued for asynchronous processing. The processing of the inference request may or may not complete before you receive a response from this API. The response from this API will not contain the result of the inference request but contain information about where you can locate it.

Amazon SageMaker strips all POST headers except those supported by the API. Amazon SageMaker might add additional headers. You should not rely on the behavior of headers outside those enumerated in the request syntax.

Calls to InvokeEndpointAsync are authenticated by using Amazon Web Services Signature Version 4. For information, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 API Reference.

", - "InvokeEndpointWithResponseStream": "

Invokes a model at the specified endpoint to return the inference response as a stream. The inference stream provides the response payload incrementally as a series of parts. Before you can get an inference stream, you must have access to a model that's deployed using Amazon SageMaker hosting services, and the container for that model must support inference streaming.

For more information that can help you use this API, see the following sections in the Amazon SageMaker Developer Guide:

Amazon SageMaker strips all POST headers except those supported by the API. Amazon SageMaker might add additional headers. You should not rely on the behavior of headers outside those enumerated in the request syntax.

Calls to InvokeEndpointWithResponseStream are authenticated by using Amazon Web Services Signature Version 4. For information, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 API Reference.

" + "InvokeEndpointWithResponseStream": "

Invokes a model at the specified endpoint to return the inference response as a stream. The inference stream provides the response payload incrementally as a series of parts. Before you can get an inference stream, you must have access to a model that's deployed using Amazon SageMaker hosting services, and the container for that model must support inference streaming.

For more information that can help you use this API, see the following sections in the Amazon SageMaker Developer Guide:

Before you can use this operation, your IAM permissions must allow the sagemaker:InvokeEndpoint action. For more information about Amazon SageMaker actions for IAM policies, see Actions, resources, and condition keys for Amazon SageMaker in the IAM Service Authorization Reference.

Amazon SageMaker strips all POST headers except those supported by the API. Amazon SageMaker might add additional headers. You should not rely on the behavior of headers outside those enumerated in the request syntax.

Calls to InvokeEndpointWithResponseStream are authenticated by using Amazon Web Services Signature Version 4. For information, see Authenticating Requests (Amazon Web Services Signature Version 4) in the Amazon S3 API Reference.

" }, "shapes": { "BodyBlob": { @@ -63,6 +63,13 @@ "InvokeEndpointWithResponseStreamOutput$InvokedProductionVariant": "

Identifies the production variant that was invoked.

" } }, + "InferenceComponentHeader": { + "base": null, + "refs": { + "InvokeEndpointInput$InferenceComponentName": "

If the endpoint hosts one or more inference components, this parameter specifies the name of inference component to invoke.

", + "InvokeEndpointWithResponseStreamInput$InferenceComponentName": "

If the endpoint hosts one or more inference components, this parameter specifies the name of inference component to invoke for a streaming response.

" + } + }, "InferenceId": { "base": null, "refs": { diff --git a/models/apis/runtime.sagemaker/2017-05-13/endpoint-rule-set-1.json b/models/apis/runtime.sagemaker/2017-05-13/endpoint-rule-set-1.json index 6abcf0015eb..9798eec2b65 100644 --- a/models/apis/runtime.sagemaker/2017-05-13/endpoint-rule-set-1.json +++ b/models/apis/runtime.sagemaker/2017-05-13/endpoint-rule-set-1.json @@ -40,7 +40,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -83,7 +82,8 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -96,7 +96,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -110,7 +109,6 @@ "assign": "PartitionResult" } ], - "type": "tree", "rules": [ { "conditions": [ @@ -133,7 +131,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -168,7 +165,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -179,14 +175,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS and DualStack are enabled, but this partition does not support one or both", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -200,14 +198,12 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ @@ -216,18 +212,17 @@ }, "supportsFIPS" ] - } + }, + true ] } ], - "type": "tree", "rules": [ { "conditions": [ { "fn": "stringEquals", "argv": [ - "aws", { "fn": "getAttr", "argv": [ @@ -236,7 +231,8 @@ }, "name" ] - } + }, + "aws" ] } ], @@ -252,7 +248,6 @@ { "fn": "stringEquals", "argv": [ - "aws-us-gov", { "fn": "getAttr", "argv": [ @@ -261,7 +256,8 @@ }, "name" ] - } + }, + "aws-us-gov" ] } ], @@ -281,14 +277,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "FIPS is enabled but this partition does not support FIPS", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [ @@ -302,7 +300,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [ @@ -322,7 +319,6 @@ ] } ], - "type": "tree", "rules": [ { "conditions": [], @@ -333,14 +329,16 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" }, { "conditions": [], "error": "DualStack is enabled but this partition does not support DualStack", "type": "error" } - ] + ], + "type": "tree" }, { "conditions": [], @@ -351,9 +349,11 @@ }, "type": "endpoint" } - ] + ], + "type": "tree" } - ] + ], + "type": "tree" }, { "conditions": [], diff --git a/models/apis/sagemaker/2017-07-24/api-2.json b/models/apis/sagemaker/2017-07-24/api-2.json index cf04d1a4147..bd69f994656 100644 --- a/models/apis/sagemaker/2017-07-24/api-2.json +++ b/models/apis/sagemaker/2017-07-24/api-2.json @@ -142,6 +142,19 @@ {"shape":"ResourceLimitExceeded"} ] }, + "CreateCluster":{ + "name":"CreateCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateClusterRequest"}, + "output":{"shape":"CreateClusterResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"}, + {"shape":"ResourceInUse"} + ] + }, "CreateCodeRepository":{ "name":"CreateCodeRepository", "http":{ @@ -376,6 +389,18 @@ {"shape":"ResourceNotFound"} ] }, + "CreateInferenceComponent":{ + "name":"CreateInferenceComponent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateInferenceComponentInput"}, + "output":{"shape":"CreateInferenceComponentOutput"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ] + }, "CreateInferenceExperiment":{ "name":"CreateInferenceExperiment", "http":{ @@ -795,6 +820,19 @@ {"shape":"ResourceNotFound"} ] }, + "DeleteCluster":{ + "name":"DeleteCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteClusterRequest"}, + "output":{"shape":"DeleteClusterResponse"}, + "errors":[ + {"shape":"ResourceNotFound"}, + {"shape":"ConflictException"} + ] + }, "DeleteCodeRepository":{ "name":"DeleteCodeRepository", "http":{ @@ -985,6 +1023,14 @@ {"shape":"ResourceNotFound"} ] }, + "DeleteInferenceComponent":{ + "name":"DeleteInferenceComponent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteInferenceComponentInput"} + }, "DeleteInferenceExperiment":{ "name":"DeleteInferenceExperiment", "http":{ @@ -1310,6 +1356,30 @@ {"shape":"ResourceNotFound"} ] }, + "DescribeCluster":{ + "name":"DescribeCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClusterRequest"}, + "output":{"shape":"DescribeClusterResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ] + }, + "DescribeClusterNode":{ + "name":"DescribeClusterNode", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeClusterNodeRequest"}, + "output":{"shape":"DescribeClusterNodeResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ] + }, "DescribeCodeRepository":{ "name":"DescribeCodeRepository", "http":{ @@ -1553,6 +1623,15 @@ {"shape":"ResourceNotFound"} ] }, + "DescribeInferenceComponent":{ + "name":"DescribeInferenceComponent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeInferenceComponentInput"}, + "output":{"shape":"DescribeInferenceComponentOutput"} + }, "DescribeInferenceExperiment":{ "name":"DescribeInferenceExperiment", "http":{ @@ -2086,6 +2165,27 @@ {"shape":"ResourceNotFound"} ] }, + "ListClusterNodes":{ + "name":"ListClusterNodes", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListClusterNodesRequest"}, + "output":{"shape":"ListClusterNodesResponse"}, + "errors":[ + {"shape":"ResourceNotFound"} + ] + }, + "ListClusters":{ + "name":"ListClusters", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListClustersRequest"}, + "output":{"shape":"ListClustersResponse"} + }, "ListCodeRepositories":{ "name":"ListCodeRepositories", "http":{ @@ -2287,6 +2387,15 @@ "input":{"shape":"ListImagesRequest"}, "output":{"shape":"ListImagesResponse"} }, + "ListInferenceComponents":{ + "name":"ListInferenceComponents", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListInferenceComponentsInput"}, + "output":{"shape":"ListInferenceComponentsOutput"} + }, "ListInferenceExperiments":{ "name":"ListInferenceExperiments", "http":{ @@ -3036,6 +3145,20 @@ {"shape":"ResourceNotFound"} ] }, + "UpdateCluster":{ + "name":"UpdateCluster", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateClusterRequest"}, + "output":{"shape":"UpdateClusterResponse"}, + "errors":[ + {"shape":"ResourceLimitExceeded"}, + {"shape":"ResourceNotFound"}, + {"shape":"ConflictException"} + ] + }, "UpdateCodeRepository":{ "name":"UpdateCodeRepository", "http":{ @@ -3189,6 +3312,30 @@ {"shape":"ResourceNotFound"} ] }, + "UpdateInferenceComponent":{ + "name":"UpdateInferenceComponent", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateInferenceComponentInput"}, + "output":{"shape":"UpdateInferenceComponentOutput"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ] + }, + "UpdateInferenceComponentRuntimeConfig":{ + "name":"UpdateInferenceComponentRuntimeConfig", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateInferenceComponentRuntimeConfigInput"}, + "output":{"shape":"UpdateInferenceComponentRuntimeConfigOutput"}, + "errors":[ + {"shape":"ResourceLimitExceeded"} + ] + }, "UpdateInferenceExperiment":{ "name":"UpdateInferenceExperiment", "http":{ @@ -5307,6 +5454,236 @@ "min":1, "pattern":"^[a-zA-Z0-9-]+$" }, + "ClusterArn":{ + "type":"string", + "max":256, + "pattern":"^arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:cluster/[a-z0-9]{12}$" + }, + "ClusterInstanceCount":{ + "type":"integer", + "min":1 + }, + "ClusterInstanceGroupDetails":{ + "type":"structure", + "members":{ + "CurrentCount":{"shape":"ClusterNonNegativeInstanceCount"}, + "TargetCount":{"shape":"ClusterInstanceCount"}, + "InstanceGroupName":{"shape":"ClusterInstanceGroupName"}, + "InstanceType":{"shape":"ClusterInstanceType"}, + "LifeCycleConfig":{"shape":"ClusterLifeCycleConfig"}, + "ExecutionRole":{"shape":"RoleArn"}, + "ThreadsPerCore":{"shape":"ClusterThreadsPerCore"} + } + }, + "ClusterInstanceGroupDetailsList":{ + "type":"list", + "member":{"shape":"ClusterInstanceGroupDetails"} + }, + "ClusterInstanceGroupName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + }, + "ClusterInstanceGroupSpecification":{ + "type":"structure", + "required":[ + "InstanceCount", + "InstanceGroupName", + "InstanceType", + "LifeCycleConfig", + "ExecutionRole" + ], + "members":{ + "InstanceCount":{"shape":"ClusterInstanceCount"}, + "InstanceGroupName":{"shape":"ClusterInstanceGroupName"}, + "InstanceType":{"shape":"ClusterInstanceType"}, + "LifeCycleConfig":{"shape":"ClusterLifeCycleConfig"}, + "ExecutionRole":{"shape":"RoleArn"}, + "ThreadsPerCore":{"shape":"ClusterThreadsPerCore"} + } + }, + "ClusterInstanceGroupSpecifications":{ + "type":"list", + "member":{"shape":"ClusterInstanceGroupSpecification"}, + "max":5, + "min":1 + }, + "ClusterInstanceStatus":{ + "type":"string", + "enum":[ + "Running", + "Failure", + "Pending", + "ShuttingDown", + "SystemUpdating" + ] + }, + "ClusterInstanceStatusDetails":{ + "type":"structure", + "required":["Status"], + "members":{ + "Status":{"shape":"ClusterInstanceStatus"}, + "Message":{"shape":"String"} + } + }, + "ClusterInstanceType":{ + "type":"string", + "enum":[ + "ml.p4d.24xlarge", + "ml.p4de.24xlarge", + "ml.p5.48xlarge", + "ml.trn1.32xlarge", + "ml.trn1n.32xlarge", + "ml.g5.xlarge", + "ml.g5.2xlarge", + "ml.g5.4xlarge", + "ml.g5.8xlarge", + "ml.g5.12xlarge", + "ml.g5.16xlarge", + "ml.g5.24xlarge", + "ml.g5.48xlarge", + "ml.c5.large", + "ml.c5.xlarge", + "ml.c5.2xlarge", + "ml.c5.4xlarge", + "ml.c5.9xlarge", + "ml.c5.12xlarge", + "ml.c5.18xlarge", + "ml.c5.24xlarge", + "ml.c5n.large", + "ml.c5n.2xlarge", + "ml.c5n.4xlarge", + "ml.c5n.9xlarge", + "ml.c5n.18xlarge", + "ml.m5.large", + "ml.m5.xlarge", + "ml.m5.2xlarge", + "ml.m5.4xlarge", + "ml.m5.8xlarge", + "ml.m5.12xlarge", + "ml.m5.16xlarge", + "ml.m5.24xlarge", + "ml.t3.medium", + "ml.t3.large", + "ml.t3.xlarge", + "ml.t3.2xlarge" + ] + }, + "ClusterLifeCycleConfig":{ + "type":"structure", + "required":[ + "SourceS3Uri", + "OnCreate" + ], + "members":{ + "SourceS3Uri":{"shape":"S3Uri"}, + "OnCreate":{"shape":"ClusterLifeCycleConfigFileName"} + } + }, + "ClusterLifeCycleConfigFileName":{ + "type":"string", + "max":128, + "min":1, + "pattern":"^[\\S\\s]+$" + }, + "ClusterName":{ + "type":"string", + "max":63, + "min":1, + "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9])*$" + }, + "ClusterNameOrArn":{ + "type":"string", + "max":256, + "pattern":"^(arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:cluster/[a-z0-9]{12})|([a-zA-Z0-9](-*[a-zA-Z0-9]){0,62})$" + }, + "ClusterNodeDetails":{ + "type":"structure", + "members":{ + "InstanceGroupName":{"shape":"ClusterInstanceGroupName"}, + "InstanceId":{"shape":"String"}, + "InstanceStatus":{"shape":"ClusterInstanceStatusDetails"}, + "InstanceType":{"shape":"ClusterInstanceType"}, + "LaunchTime":{"shape":"Timestamp"}, + "LifeCycleConfig":{"shape":"ClusterLifeCycleConfig"}, + "ThreadsPerCore":{"shape":"ClusterThreadsPerCore"} + } + }, + "ClusterNodeId":{ + "type":"string", + "max":256, + "min":1, + "pattern":"^[a-zA-Z][-a-zA-Z0-9]*$" + }, + "ClusterNodeSummaries":{ + "type":"list", + "member":{"shape":"ClusterNodeSummary"} + }, + "ClusterNodeSummary":{ + "type":"structure", + "required":[ + "InstanceGroupName", + "InstanceId", + "InstanceType", + "LaunchTime", + "InstanceStatus" + ], + "members":{ + "InstanceGroupName":{"shape":"ClusterInstanceGroupName"}, + "InstanceId":{"shape":"String"}, + "InstanceType":{"shape":"ClusterInstanceType"}, + "LaunchTime":{"shape":"Timestamp"}, + "InstanceStatus":{"shape":"ClusterInstanceStatusDetails"} + } + }, + "ClusterNonNegativeInstanceCount":{ + "type":"integer", + "min":0 + }, + "ClusterSortBy":{ + "type":"string", + "enum":[ + "CREATION_TIME", + "NAME" + ] + }, + "ClusterStatus":{ + "type":"string", + "enum":[ + "Creating", + "Deleting", + "Failed", + "InService", + "RollingBack", + "SystemUpdating", + "Updating" + ] + }, + "ClusterSummaries":{ + "type":"list", + "member":{"shape":"ClusterSummary"} + }, + "ClusterSummary":{ + "type":"structure", + "required":[ + "ClusterArn", + "ClusterName", + "CreationTime", + "ClusterStatus" + ], + "members":{ + "ClusterArn":{"shape":"ClusterArn"}, + "ClusterName":{"shape":"ClusterName"}, + "CreationTime":{"shape":"Timestamp"}, + "ClusterStatus":{"shape":"ClusterStatus"} + } + }, + "ClusterThreadsPerCore":{ + "type":"integer", + "max":2, + "min":1 + }, "CodeRepositories":{ "type":"list", "member":{"shape":"CodeRepository"}, @@ -5875,6 +6252,26 @@ "AutoMLJobArn":{"shape":"AutoMLJobArn"} } }, + "CreateClusterRequest":{ + "type":"structure", + "required":[ + "ClusterName", + "InstanceGroups" + ], + "members":{ + "ClusterName":{"shape":"ClusterName"}, + "InstanceGroups":{"shape":"ClusterInstanceGroupSpecifications"}, + "VpcConfig":{"shape":"VpcConfig"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateClusterResponse":{ + "type":"structure", + "required":["ClusterArn"], + "members":{ + "ClusterArn":{"shape":"ClusterArn"} + } + }, "CreateCodeRepositoryInput":{ "type":"structure", "required":[ @@ -6090,7 +6487,10 @@ "KmsKeyId":{"shape":"KmsKeyId"}, "AsyncInferenceConfig":{"shape":"AsyncInferenceConfig"}, "ExplainerConfig":{"shape":"ExplainerConfig"}, - "ShadowProductionVariants":{"shape":"ProductionVariantList"} + "ShadowProductionVariants":{"shape":"ProductionVariantList"}, + "ExecutionRoleArn":{"shape":"RoleArn"}, + "VpcConfig":{"shape":"VpcConfig"}, + "EnableNetworkIsolation":{"shape":"Boolean"} } }, "CreateEndpointConfigOutput":{ @@ -6302,6 +6702,31 @@ "ImageVersionArn":{"shape":"ImageVersionArn"} } }, + "CreateInferenceComponentInput":{ + "type":"structure", + "required":[ + "InferenceComponentName", + "EndpointName", + "VariantName", + "Specification", + "RuntimeConfig" + ], + "members":{ + "InferenceComponentName":{"shape":"InferenceComponentName"}, + "EndpointName":{"shape":"EndpointName"}, + "VariantName":{"shape":"VariantName"}, + "Specification":{"shape":"InferenceComponentSpecification"}, + "RuntimeConfig":{"shape":"InferenceComponentRuntimeConfig"}, + "Tags":{"shape":"TagList"} + } + }, + "CreateInferenceComponentOutput":{ + "type":"structure", + "required":["InferenceComponentArn"], + "members":{ + "InferenceComponentArn":{"shape":"InferenceComponentArn"} + } + }, "CreateInferenceExperimentRequest":{ "type":"structure", "required":[ @@ -6494,10 +6919,7 @@ }, "CreateModelInput":{ "type":"structure", - "required":[ - "ModelName", - "ExecutionRoleArn" - ], + "required":["ModelName"], "members":{ "ModelName":{"shape":"ModelName"}, "PrimaryContainer":{"shape":"ContainerDefinition"}, @@ -6701,7 +7123,8 @@ "UserProfileName":{"shape":"UserProfileName"}, "SessionExpirationDurationInSeconds":{"shape":"SessionExpirationDurationInSeconds"}, "ExpiresInSeconds":{"shape":"ExpiresInSeconds"}, - "SpaceName":{"shape":"SpaceName"} + "SpaceName":{"shape":"SpaceName"}, + "LandingUri":{"shape":"LandingUri"} } }, "CreatePresignedDomainUrlResponse":{ @@ -6848,7 +7271,8 @@ "ProfilerConfig":{"shape":"ProfilerConfig"}, "ProfilerRuleConfigurations":{"shape":"ProfilerRuleConfigurations"}, "Environment":{"shape":"TrainingEnvironmentMap"}, - "RetryStrategy":{"shape":"RetryStrategy"} + "RetryStrategy":{"shape":"RetryStrategy"}, + "InfraCheckConfig":{"shape":"InfraCheckConfig"} } }, "CreateTrainingJobResponse":{ @@ -7334,6 +7758,20 @@ "DestinationArn":{"shape":"AssociationEntityArn"} } }, + "DeleteClusterRequest":{ + "type":"structure", + "required":["ClusterName"], + "members":{ + "ClusterName":{"shape":"ClusterNameOrArn"} + } + }, + "DeleteClusterResponse":{ + "type":"structure", + "required":["ClusterArn"], + "members":{ + "ClusterArn":{"shape":"ClusterArn"} + } + }, "DeleteCodeRepositoryInput":{ "type":"structure", "required":["CodeRepositoryName"], @@ -7500,6 +7938,13 @@ "members":{ } }, + "DeleteInferenceComponentInput":{ + "type":"structure", + "required":["InferenceComponentName"], + "members":{ + "InferenceComponentName":{"shape":"InferenceComponentName"} + } + }, "DeleteInferenceExperimentRequest":{ "type":"structure", "required":["Name"], @@ -8026,6 +8471,48 @@ "AutoMLProblemTypeConfigName":{"shape":"AutoMLProblemTypeConfigName"} } }, + "DescribeClusterNodeRequest":{ + "type":"structure", + "required":[ + "ClusterName", + "NodeId" + ], + "members":{ + "ClusterName":{"shape":"ClusterNameOrArn"}, + "NodeId":{"shape":"ClusterNodeId"} + } + }, + "DescribeClusterNodeResponse":{ + "type":"structure", + "required":["NodeDetails"], + "members":{ + "NodeDetails":{"shape":"ClusterNodeDetails"} + } + }, + "DescribeClusterRequest":{ + "type":"structure", + "required":["ClusterName"], + "members":{ + "ClusterName":{"shape":"ClusterNameOrArn"} + } + }, + "DescribeClusterResponse":{ + "type":"structure", + "required":[ + "ClusterArn", + "ClusterStatus", + "InstanceGroups" + ], + "members":{ + "ClusterArn":{"shape":"ClusterArn"}, + "ClusterName":{"shape":"ClusterName"}, + "ClusterStatus":{"shape":"ClusterStatus"}, + "CreationTime":{"shape":"Timestamp"}, + "FailureMessage":{"shape":"String"}, + "InstanceGroups":{"shape":"ClusterInstanceGroupDetailsList"}, + "VpcConfig":{"shape":"VpcConfig"} + } + }, "DescribeCodeRepositoryInput":{ "type":"structure", "required":["CodeRepositoryName"], @@ -8334,7 +8821,10 @@ "CreationTime":{"shape":"Timestamp"}, "AsyncInferenceConfig":{"shape":"AsyncInferenceConfig"}, "ExplainerConfig":{"shape":"ExplainerConfig"}, - "ShadowProductionVariants":{"shape":"ProductionVariantList"} + "ShadowProductionVariants":{"shape":"ProductionVariantList"}, + "ExecutionRoleArn":{"shape":"RoleArn"}, + "VpcConfig":{"shape":"VpcConfig"}, + "EnableNetworkIsolation":{"shape":"Boolean"} } }, "DescribeEndpointInput":{ @@ -8683,6 +9173,37 @@ "ReleaseNotes":{"shape":"ReleaseNotes"} } }, + "DescribeInferenceComponentInput":{ + "type":"structure", + "required":["InferenceComponentName"], + "members":{ + "InferenceComponentName":{"shape":"InferenceComponentName"} + } + }, + "DescribeInferenceComponentOutput":{ + "type":"structure", + "required":[ + "InferenceComponentName", + "InferenceComponentArn", + "EndpointName", + "EndpointArn", + "CreationTime", + "LastModifiedTime" + ], + "members":{ + "InferenceComponentName":{"shape":"InferenceComponentName"}, + "InferenceComponentArn":{"shape":"InferenceComponentArn"}, + "EndpointName":{"shape":"EndpointName"}, + "EndpointArn":{"shape":"EndpointArn"}, + "VariantName":{"shape":"VariantName"}, + "FailureReason":{"shape":"FailureReason"}, + "Specification":{"shape":"InferenceComponentSpecificationSummary"}, + "RuntimeConfig":{"shape":"InferenceComponentRuntimeConfigSummary"}, + "CreationTime":{"shape":"Timestamp"}, + "LastModifiedTime":{"shape":"Timestamp"}, + "InferenceComponentStatus":{"shape":"InferenceComponentStatus"} + } + }, "DescribeInferenceExperimentRequest":{ "type":"structure", "required":["Name"], @@ -8960,7 +9481,6 @@ "type":"structure", "required":[ "ModelName", - "ExecutionRoleArn", "CreationTime", "ModelArn" ], @@ -9320,7 +9840,8 @@ "LastModifiedTime":{"shape":"LastModifiedTime"}, "CreationTime":{"shape":"CreationTime"}, "FailureReason":{"shape":"FailureReason"}, - "SpaceSettings":{"shape":"SpaceSettings"} + "SpaceSettings":{"shape":"SpaceSettings"}, + "Url":{"shape":"String1024"} } }, "DescribeStudioLifecycleConfigRequest":{ @@ -9416,7 +9937,8 @@ "ProfilingStatus":{"shape":"ProfilingStatus"}, "RetryStrategy":{"shape":"RetryStrategy"}, "Environment":{"shape":"TrainingEnvironmentMap"}, - "WarmPoolStatus":{"shape":"WarmPoolStatus"} + "WarmPoolStatus":{"shape":"WarmPoolStatus"}, + "InfraCheckConfig":{"shape":"InfraCheckConfig"} } }, "DescribeTransformJobRequest":{ @@ -10182,6 +10704,7 @@ "pattern":"\\d+" }, "EnableCapture":{"type":"boolean"}, + "EnableInfraCheck":{"type":"boolean"}, "EnableIotRoleAlias":{"type":"boolean"}, "EnableSagemakerServicecatalogPortfolioInput":{ "type":"structure", @@ -12056,6 +12579,12 @@ "Version":{"shape":"ImageVersionNumber"} } }, + "ImageVersionAlias":{ + "type":"string", + "max":128, + "min":1, + "pattern":"(^\\d+$)|(^\\d+.\\d+$)|(^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$)" + }, "ImageVersionArn":{ "type":"string", "max":256, @@ -12132,6 +12661,135 @@ "HubContentArn":{"shape":"HubContentArn"} } }, + "InferenceComponentArn":{ + "type":"string", + "max":2048, + "min":20 + }, + "InferenceComponentComputeResourceRequirements":{ + "type":"structure", + "required":["MinMemoryRequiredInMb"], + "members":{ + "NumberOfCpuCoresRequired":{"shape":"NumberOfCpuCores"}, + "NumberOfAcceleratorDevicesRequired":{"shape":"NumberOfAcceleratorDevices"}, + "MinMemoryRequiredInMb":{"shape":"MemoryInMb"}, + "MaxMemoryRequiredInMb":{"shape":"MemoryInMb"} + } + }, + "InferenceComponentContainerSpecification":{ + "type":"structure", + "members":{ + "Image":{"shape":"ContainerImage"}, + "ArtifactUrl":{"shape":"Url"}, + "Environment":{"shape":"EnvironmentMap"} + } + }, + "InferenceComponentContainerSpecificationSummary":{ + "type":"structure", + "members":{ + "DeployedImage":{"shape":"DeployedImage"}, + "ArtifactUrl":{"shape":"Url"}, + "Environment":{"shape":"EnvironmentMap"} + } + }, + "InferenceComponentCopyCount":{ + "type":"integer", + "min":0 + }, + "InferenceComponentName":{ + "type":"string", + "max":63, + "pattern":"^[a-zA-Z0-9]([\\-a-zA-Z0-9]*[a-zA-Z0-9])?$" + }, + "InferenceComponentNameContains":{ + "type":"string", + "max":63, + "pattern":"[a-zA-Z0-9-]+" + }, + "InferenceComponentRuntimeConfig":{ + "type":"structure", + "required":["CopyCount"], + "members":{ + "CopyCount":{"shape":"InferenceComponentCopyCount"} + } + }, + "InferenceComponentRuntimeConfigSummary":{ + "type":"structure", + "members":{ + "DesiredCopyCount":{"shape":"InferenceComponentCopyCount"}, + "CurrentCopyCount":{"shape":"InferenceComponentCopyCount"} + } + }, + "InferenceComponentSortKey":{ + "type":"string", + "enum":[ + "Name", + "CreationTime", + "Status" + ] + }, + "InferenceComponentSpecification":{ + "type":"structure", + "required":["ComputeResourceRequirements"], + "members":{ + "ModelName":{"shape":"ModelName"}, + "Container":{"shape":"InferenceComponentContainerSpecification"}, + "StartupParameters":{"shape":"InferenceComponentStartupParameters"}, + "ComputeResourceRequirements":{"shape":"InferenceComponentComputeResourceRequirements"} + } + }, + "InferenceComponentSpecificationSummary":{ + "type":"structure", + "members":{ + "ModelName":{"shape":"ModelName"}, + "Container":{"shape":"InferenceComponentContainerSpecificationSummary"}, + "StartupParameters":{"shape":"InferenceComponentStartupParameters"}, + "ComputeResourceRequirements":{"shape":"InferenceComponentComputeResourceRequirements"} + } + }, + "InferenceComponentStartupParameters":{ + "type":"structure", + "members":{ + "ModelDataDownloadTimeoutInSeconds":{"shape":"ProductionVariantModelDataDownloadTimeoutInSeconds"}, + "ContainerStartupHealthCheckTimeoutInSeconds":{"shape":"ProductionVariantContainerStartupHealthCheckTimeoutInSeconds"} + } + }, + "InferenceComponentStatus":{ + "type":"string", + "enum":[ + "InService", + "Creating", + "Updating", + "Failed", + "Deleting" + ] + }, + "InferenceComponentSummary":{ + "type":"structure", + "required":[ + "CreationTime", + "InferenceComponentArn", + "InferenceComponentName", + "EndpointArn", + "EndpointName", + "VariantName", + "LastModifiedTime" + ], + "members":{ + "CreationTime":{"shape":"Timestamp"}, + "InferenceComponentArn":{"shape":"InferenceComponentArn"}, + "InferenceComponentName":{"shape":"InferenceComponentName"}, + "EndpointArn":{"shape":"EndpointArn"}, + "EndpointName":{"shape":"EndpointName"}, + "VariantName":{"shape":"VariantName"}, + "InferenceComponentStatus":{"shape":"InferenceComponentStatus"}, + "LastModifiedTime":{"shape":"Timestamp"} + } + }, + "InferenceComponentSummaryList":{ + "type":"list", + "member":{"shape":"InferenceComponentSummary"} + }, "InferenceExecutionConfig":{ "type":"structure", "required":["Mode"], @@ -12337,6 +12995,12 @@ "min":1, "pattern":"^[a-zA-Z0-9](-*[a-zA-Z0-9]){0,62}$" }, + "InfraCheckConfig":{ + "type":"structure", + "members":{ + "EnableInfraCheck":{"shape":"EnableInfraCheck"} + } + }, "InitialInstanceCount":{ "type":"integer", "min":1 @@ -12858,6 +13522,10 @@ "OutputParameters":{"shape":"OutputParameterList"} } }, + "LandingUri":{ + "type":"string", + "max":1023 + }, "LastModifiedTime":{"type":"timestamp"}, "LastUpdateStatus":{ "type":"structure", @@ -13110,6 +13778,54 @@ "NextToken":{"shape":"NextToken"} } }, + "ListClusterNodesRequest":{ + "type":"structure", + "required":["ClusterName"], + "members":{ + "ClusterName":{"shape":"ClusterNameOrArn"}, + "CreationTimeAfter":{"shape":"Timestamp"}, + "CreationTimeBefore":{"shape":"Timestamp"}, + "InstanceGroupNameContains":{"shape":"ClusterInstanceGroupName"}, + "MaxResults":{"shape":"MaxResults"}, + "NextToken":{"shape":"NextToken"}, + "SortBy":{"shape":"ClusterSortBy"}, + "SortOrder":{"shape":"SortOrder"} + } + }, + "ListClusterNodesResponse":{ + "type":"structure", + "required":[ + "NextToken", + "ClusterNodeSummaries" + ], + "members":{ + "NextToken":{"shape":"NextToken"}, + "ClusterNodeSummaries":{"shape":"ClusterNodeSummaries"} + } + }, + "ListClustersRequest":{ + "type":"structure", + "members":{ + "CreationTimeAfter":{"shape":"Timestamp"}, + "CreationTimeBefore":{"shape":"Timestamp"}, + "MaxResults":{"shape":"MaxResults"}, + "NameContains":{"shape":"NameContains"}, + "NextToken":{"shape":"NextToken"}, + "SortBy":{"shape":"ClusterSortBy"}, + "SortOrder":{"shape":"SortOrder"} + } + }, + "ListClustersResponse":{ + "type":"structure", + "required":[ + "NextToken", + "ClusterSummaries" + ], + "members":{ + "NextToken":{"shape":"NextToken"}, + "ClusterSummaries":{"shape":"ClusterSummaries"} + } + }, "ListCodeRepositoriesInput":{ "type":"structure", "members":{ @@ -13622,6 +14338,31 @@ "NextToken":{"shape":"NextToken"} } }, + "ListInferenceComponentsInput":{ + "type":"structure", + "members":{ + "SortBy":{"shape":"InferenceComponentSortKey"}, + "SortOrder":{"shape":"OrderKey"}, + "NextToken":{"shape":"PaginationToken"}, + "MaxResults":{"shape":"MaxResults"}, + "NameContains":{"shape":"InferenceComponentNameContains"}, + "CreationTimeBefore":{"shape":"Timestamp"}, + "CreationTimeAfter":{"shape":"Timestamp"}, + "LastModifiedTimeBefore":{"shape":"Timestamp"}, + "LastModifiedTimeAfter":{"shape":"Timestamp"}, + "StatusEquals":{"shape":"InferenceComponentStatus"}, + "EndpointNameEquals":{"shape":"EndpointName"}, + "VariantNameEquals":{"shape":"VariantName"} + } + }, + "ListInferenceComponentsOutput":{ + "type":"structure", + "required":["InferenceComponents"], + "members":{ + "InferenceComponents":{"shape":"InferenceComponentSummaryList"}, + "NextToken":{"shape":"PaginationToken"} + } + }, "ListInferenceExperimentsRequest":{ "type":"structure", "members":{ @@ -14555,6 +15296,21 @@ "min":1, "pattern":"^[a-zA-Z]+ ?\\d+\\.\\d+(\\.\\d+)?$" }, + "ManagedInstanceScalingMaxInstanceCount":{ + "type":"integer", + "min":1 + }, + "ManagedInstanceScalingMinInstanceCount":{ + "type":"integer", + "min":1 + }, + "ManagedInstanceScalingStatus":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "MaxAutoMLJobRuntimeInSeconds":{ "type":"integer", "min":1 @@ -14665,6 +15421,10 @@ "max":10, "min":1 }, + "MemoryInMb":{ + "type":"integer", + "min":128 + }, "MetadataProperties":{ "type":"structure", "members":{ @@ -16363,6 +17123,14 @@ "type":"string", "pattern":"arn:aws[a-z\\-]*:sns:[a-z0-9\\-]*:[0-9]{12}:[a-zA-Z0-9_.-]*" }, + "NumberOfAcceleratorDevices":{ + "type":"float", + "min":1 + }, + "NumberOfCpuCores":{ + "type":"float", + "min":0.25 + }, "NumberOfHumanWorkersPerDataObject":{ "type":"integer", "max":9, @@ -16682,7 +17450,9 @@ "AcceleratorType":{"shape":"ProductionVariantAcceleratorType"}, "VariantStatus":{"shape":"ProductionVariantStatusList"}, "CurrentServerlessConfig":{"shape":"ProductionVariantServerlessConfig"}, - "DesiredServerlessConfig":{"shape":"ProductionVariantServerlessConfig"} + "DesiredServerlessConfig":{"shape":"ProductionVariantServerlessConfig"}, + "ManagedInstanceScaling":{"shape":"ProductionVariantManagedInstanceScaling"}, + "RoutingConfig":{"shape":"ProductionVariantRoutingConfig"} } }, "PendingProductionVariantSummaryList":{ @@ -17256,10 +18026,7 @@ }, "ProductionVariant":{ "type":"structure", - "required":[ - "VariantName", - "ModelName" - ], + "required":["VariantName"], "members":{ "VariantName":{"shape":"VariantName"}, "ModelName":{"shape":"ModelName"}, @@ -17272,7 +18039,9 @@ "VolumeSizeInGB":{"shape":"ProductionVariantVolumeSizeInGB"}, "ModelDataDownloadTimeoutInSeconds":{"shape":"ProductionVariantModelDataDownloadTimeoutInSeconds"}, "ContainerStartupHealthCheckTimeoutInSeconds":{"shape":"ProductionVariantContainerStartupHealthCheckTimeoutInSeconds"}, - "EnableSSMAccess":{"shape":"ProductionVariantSSMAccess"} + "EnableSSMAccess":{"shape":"ProductionVariantSSMAccess"}, + "ManagedInstanceScaling":{"shape":"ProductionVariantManagedInstanceScaling"}, + "RoutingConfig":{"shape":"ProductionVariantRoutingConfig"} } }, "ProductionVariantAcceleratorType":{ @@ -17458,11 +18227,26 @@ "max":10, "min":1 }, + "ProductionVariantManagedInstanceScaling":{ + "type":"structure", + "members":{ + "Status":{"shape":"ManagedInstanceScalingStatus"}, + "MinInstanceCount":{"shape":"ManagedInstanceScalingMinInstanceCount"}, + "MaxInstanceCount":{"shape":"ManagedInstanceScalingMaxInstanceCount"} + } + }, "ProductionVariantModelDataDownloadTimeoutInSeconds":{ "type":"integer", "max":3600, "min":60 }, + "ProductionVariantRoutingConfig":{ + "type":"structure", + "required":["RoutingStrategy"], + "members":{ + "RoutingStrategy":{"shape":"RoutingStrategy"} + } + }, "ProductionVariantSSMAccess":{"type":"boolean"}, "ProductionVariantServerlessConfig":{ "type":"structure", @@ -17510,7 +18294,9 @@ "DesiredInstanceCount":{"shape":"TaskCount"}, "VariantStatus":{"shape":"ProductionVariantStatusList"}, "CurrentServerlessConfig":{"shape":"ProductionVariantServerlessConfig"}, - "DesiredServerlessConfig":{"shape":"ProductionVariantServerlessConfig"} + "DesiredServerlessConfig":{"shape":"ProductionVariantServerlessConfig"}, + "ManagedInstanceScaling":{"shape":"ProductionVariantManagedInstanceScaling"}, + "RoutingConfig":{"shape":"ProductionVariantRoutingConfig"} } }, "ProductionVariantSummaryList":{ @@ -18429,6 +19215,7 @@ "members":{ "SageMakerImageArn":{"shape":"ImageArn"}, "SageMakerImageVersionArn":{"shape":"ImageVersionArn"}, + "SageMakerImageVersionAlias":{"shape":"ImageVersionAlias"}, "InstanceType":{"shape":"AppInstanceType"}, "LifecycleConfigArn":{"shape":"StudioLifecycleConfigArn"} } @@ -18529,6 +19316,13 @@ "Disabled" ] }, + "RoutingStrategy":{ + "type":"string", + "enum":[ + "LEAST_OUTSTANDING_REQUESTS", + "RANDOM" + ] + }, "RuleConfigurationName":{ "type":"string", "max":256, @@ -19558,6 +20352,13 @@ "type":"list", "member":{"shape":"StudioLifecycleConfigDetails"} }, + "StudioWebPortal":{ + "type":"string", + "enum":[ + "ENABLED", + "DISABLED" + ] + }, "SubnetId":{ "type":"string", "max":32, @@ -19847,11 +20648,29 @@ "TargetLabelColumn":{"shape":"TargetLabelColumn"} } }, + "TextGenerationHyperParameterKey":{ + "type":"string", + "max":32, + "pattern":"^[a-zA-Z0-9._-]+$" + }, + "TextGenerationHyperParameterValue":{ + "type":"string", + "max":16, + "pattern":"^[a-zA-Z0-9._-]+$" + }, + "TextGenerationHyperParameters":{ + "type":"map", + "key":{"shape":"TextGenerationHyperParameterKey"}, + "value":{"shape":"TextGenerationHyperParameterValue"}, + "max":30, + "min":0 + }, "TextGenerationJobConfig":{ "type":"structure", "members":{ "CompletionCriteria":{"shape":"AutoMLJobCompletionCriteria"}, - "BaseModelName":{"shape":"BaseModelName"} + "BaseModelName":{"shape":"BaseModelName"}, + "TextGenerationHyperParameters":{"shape":"TextGenerationHyperParameters"} } }, "TextGenerationResolvedAttributes":{ @@ -20802,6 +21621,24 @@ "ArtifactArn":{"shape":"ArtifactArn"} } }, + "UpdateClusterRequest":{ + "type":"structure", + "required":[ + "ClusterName", + "InstanceGroups" + ], + "members":{ + "ClusterName":{"shape":"ClusterNameOrArn"}, + "InstanceGroups":{"shape":"ClusterInstanceGroupSpecifications"} + } + }, + "UpdateClusterResponse":{ + "type":"structure", + "required":["ClusterArn"], + "members":{ + "ClusterArn":{"shape":"ClusterArn"} + } + }, "UpdateCodeRepositoryInput":{ "type":"structure", "required":["CodeRepositoryName"], @@ -20866,7 +21703,9 @@ "DefaultUserSettings":{"shape":"UserSettings"}, "DomainSettingsForUpdate":{"shape":"DomainSettingsForUpdate"}, "DefaultSpaceSettings":{"shape":"DefaultSpaceSettings"}, - "AppSecurityGroupManagement":{"shape":"AppSecurityGroupManagement"} + "AppSecurityGroupManagement":{"shape":"AppSecurityGroupManagement"}, + "SubnetIds":{"shape":"Subnets"}, + "AppNetworkAccessType":{"shape":"AppNetworkAccessType"} } }, "UpdateDomainResponse":{ @@ -21018,6 +21857,40 @@ "ImageVersionArn":{"shape":"ImageVersionArn"} } }, + "UpdateInferenceComponentInput":{ + "type":"structure", + "required":["InferenceComponentName"], + "members":{ + "InferenceComponentName":{"shape":"InferenceComponentName"}, + "Specification":{"shape":"InferenceComponentSpecification"}, + "RuntimeConfig":{"shape":"InferenceComponentRuntimeConfig"} + } + }, + "UpdateInferenceComponentOutput":{ + "type":"structure", + "required":["InferenceComponentArn"], + "members":{ + "InferenceComponentArn":{"shape":"InferenceComponentArn"} + } + }, + "UpdateInferenceComponentRuntimeConfigInput":{ + "type":"structure", + "required":[ + "InferenceComponentName", + "DesiredRuntimeConfig" + ], + "members":{ + "InferenceComponentName":{"shape":"InferenceComponentName"}, + "DesiredRuntimeConfig":{"shape":"InferenceComponentRuntimeConfig"} + } + }, + "UpdateInferenceComponentRuntimeConfigOutput":{ + "type":"structure", + "required":["InferenceComponentArn"], + "members":{ + "InferenceComponentArn":{"shape":"InferenceComponentArn"} + } + }, "UpdateInferenceExperimentRequest":{ "type":"structure", "required":["Name"], @@ -21396,7 +22269,9 @@ "TensorBoardAppSettings":{"shape":"TensorBoardAppSettings"}, "RStudioServerProAppSettings":{"shape":"RStudioServerProAppSettings"}, "RSessionAppSettings":{"shape":"RSessionAppSettings"}, - "CanvasAppSettings":{"shape":"CanvasAppSettings"} + "CanvasAppSettings":{"shape":"CanvasAppSettings"}, + "DefaultLandingUri":{"shape":"LandingUri"}, + "StudioWebPortal":{"shape":"StudioWebPortal"} } }, "UsersPerStep":{ diff --git a/models/apis/sagemaker/2017-07-24/docs-2.json b/models/apis/sagemaker/2017-07-24/docs-2.json index b1955e6a945..3249a966487 100644 --- a/models/apis/sagemaker/2017-07-24/docs-2.json +++ b/models/apis/sagemaker/2017-07-24/docs-2.json @@ -3,22 +3,23 @@ "service": "

Provides APIs for creating and managing SageMaker resources.

Other Resources:

", "operations": { "AddAssociation": "

Creates an association between the source and the destination. A source can be associated with multiple destinations, and a destination can be associated with multiple sources. An association is a lineage tracking entity. For more information, see Amazon SageMaker ML Lineage Tracking.

", - "AddTags": "

Adds or overwrites one or more tags for the specified SageMaker resource. You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints.

Each tag consists of a key and an optional value. Tag keys must be unique per resource. For more information about tags, see For more information, see Amazon Web Services Tagging Strategies.

Tags that you add to a hyperparameter tuning job by calling this API are also added to any training jobs that the hyperparameter tuning job launches after you call this API, but not to training jobs that the hyperparameter tuning job launched before you called this API. To make sure that the tags associated with a hyperparameter tuning job are also added to all training jobs that the hyperparameter tuning job launches, add the tags when you first create the tuning job by specifying them in the Tags parameter of CreateHyperParameterTuningJob

Tags that you add to a SageMaker Studio Domain or User Profile by calling this API are also added to any Apps that the Domain or User Profile launches after you call this API, but not to Apps that the Domain or User Profile launched before you called this API. To make sure that the tags associated with a Domain or User Profile are also added to all Apps that the Domain or User Profile launches, add the tags when you first create the Domain or User Profile by specifying them in the Tags parameter of CreateDomain or CreateUserProfile.

", + "AddTags": "

Adds or overwrites one or more tags for the specified SageMaker resource. You can add tags to notebook instances, training jobs, hyperparameter tuning jobs, batch transform jobs, models, labeling jobs, work teams, endpoint configurations, and endpoints.

Each tag consists of a key and an optional value. Tag keys must be unique per resource. For more information about tags, see For more information, see Amazon Web Services Tagging Strategies.

Tags that you add to a hyperparameter tuning job by calling this API are also added to any training jobs that the hyperparameter tuning job launches after you call this API, but not to training jobs that the hyperparameter tuning job launched before you called this API. To make sure that the tags associated with a hyperparameter tuning job are also added to all training jobs that the hyperparameter tuning job launches, add the tags when you first create the tuning job by specifying them in the Tags parameter of CreateHyperParameterTuningJob

Tags that you add to a SageMaker Domain or User Profile by calling this API are also added to any Apps that the Domain or User Profile launches after you call this API, but not to Apps that the Domain or User Profile launched before you called this API. To make sure that the tags associated with a Domain or User Profile are also added to all Apps that the Domain or User Profile launches, add the tags when you first create the Domain or User Profile by specifying them in the Tags parameter of CreateDomain or CreateUserProfile.

", "AssociateTrialComponent": "

Associates a trial component with a trial. A trial component can be associated with multiple trials. To disassociate a trial component from a trial, call the DisassociateTrialComponent API.

", "BatchDescribeModelPackage": "

This action batch describes a list of versioned model packages

", "CreateAction": "

Creates an action. An action is a lineage tracking entity that represents an action or activity. For example, a model deployment or an HPO job. Generally, an action involves at least one input or output artifact. For more information, see Amazon SageMaker ML Lineage Tracking.

", "CreateAlgorithm": "

Create a machine learning algorithm that you can use in SageMaker and list in the Amazon Web Services Marketplace.

", - "CreateApp": "

Creates a running app for the specified UserProfile. This operation is automatically invoked by Amazon SageMaker Studio upon access to the associated Domain, and when new kernel configurations are selected by the user. A user may have multiple Apps active simultaneously.

", + "CreateApp": "

Creates a running app for the specified UserProfile. This operation is automatically invoked by Amazon SageMaker upon access to the associated Domain, and when new kernel configurations are selected by the user. A user may have multiple Apps active simultaneously.

", "CreateAppImageConfig": "

Creates a configuration for running a SageMaker image as a KernelGateway app. The configuration specifies the Amazon Elastic File System (EFS) storage volume on the image, and a list of the kernels in the image.

", "CreateArtifact": "

Creates an artifact. An artifact is a lineage tracking entity that represents a URI addressable object or data. Some examples are the S3 URI of a dataset and the ECR registry path of an image. For more information, see Amazon SageMaker ML Lineage Tracking.

", "CreateAutoMLJob": "

Creates an Autopilot job also referred to as Autopilot experiment or AutoML job.

We recommend using the new versions CreateAutoMLJobV2 and DescribeAutoMLJobV2, which offer backward compatibility.

CreateAutoMLJobV2 can manage tabular problem types identical to those of its previous version CreateAutoMLJob, as well as time-series forecasting, non-tabular problem types such as image or text classification, and text generation (LLMs fine-tuning).

Find guidelines about how to migrate a CreateAutoMLJob to CreateAutoMLJobV2 in Migrate a CreateAutoMLJob to CreateAutoMLJobV2.

You can find the best-performing model after you run an AutoML job by calling DescribeAutoMLJobV2 (recommended) or DescribeAutoMLJob.

", "CreateAutoMLJobV2": "

Creates an Autopilot job also referred to as Autopilot experiment or AutoML job V2.

CreateAutoMLJobV2 and DescribeAutoMLJobV2 are new versions of CreateAutoMLJob and DescribeAutoMLJob which offer backward compatibility.

CreateAutoMLJobV2 can manage tabular problem types identical to those of its previous version CreateAutoMLJob, as well as time-series forecasting, non-tabular problem types such as image or text classification, and text generation (LLMs fine-tuning).

Find guidelines about how to migrate a CreateAutoMLJob to CreateAutoMLJobV2 in Migrate a CreateAutoMLJob to CreateAutoMLJobV2.

For the list of available problem types supported by CreateAutoMLJobV2, see AutoMLProblemTypeConfig.

You can find the best-performing model after you run an AutoML job V2 by calling DescribeAutoMLJobV2.

", + "CreateCluster": "

Creates a SageMaker HyperPod cluster. SageMaker HyperPod is a capability of SageMaker for creating and managing persistent clusters for developing large machine learning models, such as large language models (LLMs) and diffusion models. To learn more, see Amazon SageMaker HyperPod in the Amazon SageMaker Developer Guide.

", "CreateCodeRepository": "

Creates a Git repository as a resource in your SageMaker account. You can associate the repository with notebook instances so that you can use Git source control for the notebooks you create. The Git repository is a resource in your SageMaker account, so it can be associated with more than one notebook instance, and it persists independently from the lifecycle of any notebook instances it is associated with.

The repository can be hosted either in Amazon Web Services CodeCommit or in any other Git repository.

", "CreateCompilationJob": "

Starts a model compilation job. After the model has been compiled, Amazon SageMaker saves the resulting model artifacts to an Amazon Simple Storage Service (Amazon S3) bucket that you specify.

If you choose to host your model using Amazon SageMaker hosting services, you can use the resulting model artifacts as part of the model. You can also use the artifacts with Amazon Web Services IoT Greengrass. In that case, deploy them as an ML resource.

In the request body, you provide the following:

You can also provide a Tag to track the model compilation job's resource use and costs. The response body contains the CompilationJobArn for the compiled job.

To stop a model compilation job, use StopCompilationJob. To get information about a particular model compilation job, use DescribeCompilationJob. To get information about multiple model compilation jobs, use ListCompilationJobs.

", "CreateContext": "

Creates a context. A context is a lineage tracking entity that represents a logical grouping of other tracking or experiment entities. Some examples are an endpoint and a model package. For more information, see Amazon SageMaker ML Lineage Tracking.

", "CreateDataQualityJobDefinition": "

Creates a definition for a job that monitors data quality and drift. For information about model monitor, see Amazon SageMaker Model Monitor.

", "CreateDeviceFleet": "

Creates a device fleet.

", - "CreateDomain": "

Creates a Domain used by Amazon SageMaker Studio. A domain consists of an associated Amazon Elastic File System (EFS) volume, a list of authorized users, and a variety of security, application, policy, and Amazon Virtual Private Cloud (VPC) configurations. Users within a domain can share notebook files and other artifacts with each other.

EFS storage

When a domain is created, an EFS volume is created for use by all of the users within the domain. Each user receives a private home directory within the EFS volume for notebooks, Git repositories, and data files.

SageMaker uses the Amazon Web Services Key Management Service (Amazon Web Services KMS) to encrypt the EFS volume attached to the domain with an Amazon Web Services managed key by default. For more control, you can specify a customer managed key. For more information, see Protect Data at Rest Using Encryption.

VPC configuration

All SageMaker Studio traffic between the domain and the EFS volume is through the specified VPC and subnets. For other Studio traffic, you can specify the AppNetworkAccessType parameter. AppNetworkAccessType corresponds to the network access type that you choose when you onboard to Studio. The following options are available:

NFS traffic over TCP on port 2049 needs to be allowed in both inbound and outbound rules in order to launch a SageMaker Studio app successfully.

For more information, see Connect SageMaker Studio Notebooks to Resources in a VPC.

", + "CreateDomain": "

Creates a Domain. A domain consists of an associated Amazon Elastic File System (EFS) volume, a list of authorized users, and a variety of security, application, policy, and Amazon Virtual Private Cloud (VPC) configurations. Users within a domain can share notebook files and other artifacts with each other.

EFS storage

When a domain is created, an EFS volume is created for use by all of the users within the domain. Each user receives a private home directory within the EFS volume for notebooks, Git repositories, and data files.

SageMaker uses the Amazon Web Services Key Management Service (Amazon Web Services KMS) to encrypt the EFS volume attached to the domain with an Amazon Web Services managed key by default. For more control, you can specify a customer managed key. For more information, see Protect Data at Rest Using Encryption.

VPC configuration

All traffic between the domain and the EFS volume is through the specified VPC and subnets. For other traffic, you can specify the AppNetworkAccessType parameter. AppNetworkAccessType corresponds to the network access type that you choose when you onboard to the domain. The following options are available:

NFS traffic over TCP on port 2049 needs to be allowed in both inbound and outbound rules in order to launch a Amazon SageMaker Studio app successfully.

For more information, see Connect Amazon SageMaker Studio Notebooks to Resources in a VPC.

", "CreateEdgeDeploymentPlan": "

Creates an edge deployment plan, consisting of multiple stages. Each stage may have a different deployment configuration and devices.

", "CreateEdgeDeploymentStage": "

Creates a new stage in an existing edge deployment plan.

", "CreateEdgePackagingJob": "

Starts a SageMaker Edge Manager model packaging job. Edge Manager will use the model artifacts from the Amazon Simple Storage Service bucket that you specify. After the model has been packaged, Amazon SageMaker saves the resulting artifacts to an S3 bucket that you specify.

", @@ -32,6 +33,7 @@ "CreateHyperParameterTuningJob": "

Starts a hyperparameter tuning job. A hyperparameter tuning job finds the best version of a model by running many training jobs on your dataset using the algorithm you choose and values for hyperparameters within ranges that you specify. It then chooses the hyperparameter values that result in a model that performs the best, as measured by an objective metric that you choose.

A hyperparameter tuning job automatically creates Amazon SageMaker experiments, trials, and trial components for each training job that it runs. You can view these entities in Amazon SageMaker Studio. For more information, see View Experiments, Trials, and Trial Components.

Do not include any security-sensitive information including account access IDs, secrets or tokens in any hyperparameter field. If the use of security-sensitive credentials are detected, SageMaker will reject your training job request and return an exception error.

", "CreateImage": "

Creates a custom SageMaker image. A SageMaker image is a set of image versions. Each image version represents a container image stored in Amazon Elastic Container Registry (ECR). For more information, see Bring your own SageMaker image.

", "CreateImageVersion": "

Creates a version of the SageMaker image specified by ImageName. The version represents the Amazon Elastic Container Registry (ECR) container image specified by BaseImage.

", + "CreateInferenceComponent": "

Creates an inference component, which is a SageMaker hosting object that you can use to deploy a model to an endpoint. In the inference component settings, you specify the model, the endpoint, and how the model utilizes the resources that the endpoint hosts. You can optimize resource utilization by tailoring how the required CPU cores, accelerators, and memory are allocated. You can deploy multiple inference components to an endpoint, where each inference component contains one model and the resource utilization needs for that individual model. After you deploy an inference component, you can directly invoke the associated model when you use the InvokeEndpoint API action.

", "CreateInferenceExperiment": "

Creates an inference experiment using the configurations specified in the request.

Use this API to setup and schedule an experiment to compare model variants on a Amazon SageMaker inference endpoint. For more information about inference experiments, see Shadow tests.

Amazon SageMaker begins your experiment at the scheduled time and routes traffic to your endpoint's model variants based on your specified configuration.

While the experiment is in progress or after it has concluded, you can view metrics that compare your model variants. For more information, see View, monitor, and edit shadow tests.

", "CreateInferenceRecommendationsJob": "

Starts a recommendation job. You can create either an instance recommendation or load test job.

", "CreateLabelingJob": "

Creates a job that uses workers to label the data objects in your input dataset. You can use the labeled data to train machine learning models.

You can select your workforce from one of three providers:

You can also use automated data labeling to reduce the number of data objects that need to be labeled by a human. Automated data labeling uses active learning to determine if a data object can be labeled by machine or if it needs to be sent to a human worker. For more information, see Using Automated Data Labeling.

The data objects to be labeled are contained in an Amazon S3 bucket. You create a manifest file that describes the location of each object. For more information, see Using Input and Output Data.

The output can be used as the manifest file for another labeling job or as training data for your machine learning models.

You can use this operation to create a static labeling job or a streaming labeling job. A static labeling job stops if all data objects in the input manifest file identified in ManifestS3Uri have been labeled. A streaming labeling job runs perpetually until it is manually stopped, or remains idle for 10 days. You can send new data objects to an active (InProgress) streaming labeling job in real time. To learn how to create a static labeling job, see Create a Labeling Job (API) in the Amazon SageMaker Developer Guide. To learn how to create a streaming labeling job, see Create a Streaming Labeling Job.

", @@ -47,17 +49,17 @@ "CreateNotebookInstance": "

Creates an SageMaker notebook instance. A notebook instance is a machine learning (ML) compute instance running on a Jupyter notebook.

In a CreateNotebookInstance request, specify the type of ML compute instance that you want to run. SageMaker launches the instance, installs common libraries that you can use to explore datasets for model training, and attaches an ML storage volume to the notebook instance.

SageMaker also provides a set of example notebooks. Each notebook demonstrates how to use SageMaker with a specific algorithm or with a machine learning framework.

After receiving the request, SageMaker does the following:

  1. Creates a network interface in the SageMaker VPC.

  2. (Option) If you specified SubnetId, SageMaker creates a network interface in your own VPC, which is inferred from the subnet ID that you provide in the input. When creating this network interface, SageMaker attaches the security group that you specified in the request to the network interface that it creates in your VPC.

  3. Launches an EC2 instance of the type specified in the request in the SageMaker VPC. If you specified SubnetId of your VPC, SageMaker specifies both network interfaces when launching this instance. This enables inbound traffic from your own VPC to the notebook instance, assuming that the security groups allow it.

After creating the notebook instance, SageMaker returns its Amazon Resource Name (ARN). You can't change the name of a notebook instance after you create it.

After SageMaker creates the notebook instance, you can connect to the Jupyter server and work in Jupyter notebooks. For example, you can write code to explore a dataset that you can use for model training, train a model, host models by creating SageMaker endpoints, and validate hosted models.

For more information, see How It Works.

", "CreateNotebookInstanceLifecycleConfig": "

Creates a lifecycle configuration that you can associate with a notebook instance. A lifecycle configuration is a collection of shell scripts that run when you create or start a notebook instance.

Each lifecycle configuration script has a limit of 16384 characters.

The value of the $PATH environment variable that is available to both scripts is /sbin:bin:/usr/sbin:/usr/bin.

View CloudWatch Logs for notebook instance lifecycle configurations in log group /aws/sagemaker/NotebookInstances in log stream [notebook-instance-name]/[LifecycleConfigHook].

Lifecycle configuration scripts cannot run for longer than 5 minutes. If a script runs for longer than 5 minutes, it fails and the notebook instance is not created or started.

For information about notebook instance lifestyle configurations, see Step 2.1: (Optional) Customize a Notebook Instance.

", "CreatePipeline": "

Creates a pipeline using a JSON pipeline definition.

", - "CreatePresignedDomainUrl": "

Creates a URL for a specified UserProfile in a Domain. When accessed in a web browser, the user will be automatically signed in to Amazon SageMaker Studio, and granted access to all of the Apps and files associated with the Domain's Amazon Elastic File System (EFS) volume. This operation can only be called when the authentication mode equals IAM.

The IAM role or user passed to this API defines the permissions to access the app. Once the presigned URL is created, no additional permission is required to access this URL. IAM authorization policies for this API are also enforced for every HTTP request and WebSocket frame that attempts to connect to the app.

You can restrict access to this API and to the URL that it returns to a list of IP addresses, Amazon VPCs or Amazon VPC Endpoints that you specify. For more information, see Connect to SageMaker Studio Through an Interface VPC Endpoint .

The URL that you get from a call to CreatePresignedDomainUrl has a default timeout of 5 minutes. You can configure this value using ExpiresInSeconds. If you try to use the URL after the timeout limit expires, you are directed to the Amazon Web Services console sign-in page.

", + "CreatePresignedDomainUrl": "

Creates a URL for a specified UserProfile in a Domain. When accessed in a web browser, the user will be automatically signed in to the domain, and granted access to all of the Apps and files associated with the Domain's Amazon Elastic File System (EFS) volume. This operation can only be called when the authentication mode equals IAM.

The IAM role or user passed to this API defines the permissions to access the app. Once the presigned URL is created, no additional permission is required to access this URL. IAM authorization policies for this API are also enforced for every HTTP request and WebSocket frame that attempts to connect to the app.

You can restrict access to this API and to the URL that it returns to a list of IP addresses, Amazon VPCs or Amazon VPC Endpoints that you specify. For more information, see Connect to Amazon SageMaker Studio Through an Interface VPC Endpoint .

The URL that you get from a call to CreatePresignedDomainUrl has a default timeout of 5 minutes. You can configure this value using ExpiresInSeconds. If you try to use the URL after the timeout limit expires, you are directed to the Amazon Web Services console sign-in page.

", "CreatePresignedNotebookInstanceUrl": "

Returns a URL that you can use to connect to the Jupyter server from a notebook instance. In the SageMaker console, when you choose Open next to a notebook instance, SageMaker opens a new tab showing the Jupyter server home page from the notebook instance. The console uses this API to get the URL and show the page.

The IAM role or user used to call this API defines the permissions to access the notebook instance. Once the presigned URL is created, no additional permission is required to access this URL. IAM authorization policies for this API are also enforced for every HTTP request and WebSocket frame that attempts to connect to the notebook instance.

You can restrict access to this API and to the URL that it returns to a list of IP addresses that you specify. Use the NotIpAddress condition operator and the aws:SourceIP condition context key to specify the list of IP addresses that you want to have access to the notebook instance. For more information, see Limit Access to a Notebook Instance by IP Address.

The URL that you get from a call to CreatePresignedNotebookInstanceUrl is valid only for 5 minutes. If you try to use the URL after the 5-minute limit expires, you are directed to the Amazon Web Services console sign-in page.

", "CreateProcessingJob": "

Creates a processing job.

", "CreateProject": "

Creates a machine learning (ML) project that can contain one or more templates that set up an ML pipeline from training to deploying an approved model.

", "CreateSpace": "

Creates a space used for real time collaboration in a Domain.

", - "CreateStudioLifecycleConfig": "

Creates a new Studio Lifecycle Configuration.

", + "CreateStudioLifecycleConfig": "

Creates a new Amazon SageMaker Studio Lifecycle Configuration.

", "CreateTrainingJob": "

Starts a model training job. After training completes, SageMaker saves the resulting model artifacts to an Amazon S3 location that you specify.

If you choose to host your model using SageMaker hosting services, you can use the resulting model artifacts as part of the model. You can also use the artifacts in a machine learning service other than SageMaker, provided that you know how to use them for inference.

In the request body, you provide the following:

For more information about SageMaker, see How It Works.

", "CreateTransformJob": "

Starts a transform job. A transform job uses a trained model to get inferences on a dataset and saves these results to an Amazon S3 location that you specify.

To perform batch transformations, you create a transform job and use the data that you have readily available.

In the request body, you provide the following:

For more information about how batch transformation works, see Batch Transform.

", "CreateTrial": "

Creates an SageMaker trial. A trial is a set of steps called trial components that produce a machine learning model. A trial is part of a single SageMaker experiment.

When you use SageMaker Studio or the SageMaker Python SDK, all experiments, trials, and trial components are automatically tracked, logged, and indexed. When you use the Amazon Web Services SDK for Python (Boto), you must use the logging APIs provided by the SDK.

You can add tags to a trial and then use the Search API to search for the tags.

To get a list of all your trials, call the ListTrials API. To view a trial's properties, call the DescribeTrial API. To create a trial component, call the CreateTrialComponent API.

", "CreateTrialComponent": "

Creates a trial component, which is a stage of a machine learning trial. A trial is composed of one or more trial components. A trial component can be used in multiple trials.

Trial components include pre-processing jobs, training jobs, and batch transform jobs.

When you use SageMaker Studio or the SageMaker Python SDK, all experiments, trials, and trial components are automatically tracked, logged, and indexed. When you use the Amazon Web Services SDK for Python (Boto), you must use the logging APIs provided by the SDK.

You can add tags to a trial component and then use the Search API to search for the tags.

", - "CreateUserProfile": "

Creates a user profile. A user profile represents a single user within a domain, and is the main way to reference a \"person\" for the purposes of sharing, reporting, and other user-oriented features. This entity is created when a user onboards to Amazon SageMaker Studio. If an administrator invites a person by email or imports them from IAM Identity Center, a user profile is automatically created. A user profile is the primary holder of settings for an individual user and has a reference to the user's private Amazon Elastic File System (EFS) home directory.

", + "CreateUserProfile": "

Creates a user profile. A user profile represents a single user within a domain, and is the main way to reference a \"person\" for the purposes of sharing, reporting, and other user-oriented features. This entity is created when a user onboards to a domain. If an administrator invites a person by email or imports them from IAM Identity Center, a user profile is automatically created. A user profile is the primary holder of settings for an individual user and has a reference to the user's private Amazon Elastic File System (EFS) home directory.

", "CreateWorkforce": "

Use this operation to create a workforce. This operation will return an error if a workforce already exists in the Amazon Web Services Region that you specify. You can only create one workforce in each Amazon Web Services Region per Amazon Web Services account.

If you want to create a new workforce in an Amazon Web Services Region where a workforce already exists, use the DeleteWorkforce API operation to delete the existing workforce and then use CreateWorkforce to create a new workforce.

To create a private workforce using Amazon Cognito, you must specify a Cognito user pool in CognitoConfig. You can also create an Amazon Cognito workforce using the Amazon SageMaker console. For more information, see Create a Private Workforce (Amazon Cognito).

To create a private workforce using your own OIDC Identity Provider (IdP), specify your IdP configuration in OidcConfig. Your OIDC IdP must support groups because groups are used by Ground Truth and Amazon A2I to create work teams. For more information, see Create a Private Workforce (OIDC IdP).

", "CreateWorkteam": "

Creates a new work team for labeling your data. A work team is defined by one or more Amazon Cognito user pools. You must first create the user pools before you can create a work team.

You cannot create more than 25 work teams in an account and region.

", "DeleteAction": "

Deletes an action.

", @@ -66,6 +68,7 @@ "DeleteAppImageConfig": "

Deletes an AppImageConfig.

", "DeleteArtifact": "

Deletes an artifact. Either ArtifactArn or Source must be specified.

", "DeleteAssociation": "

Deletes an association.

", + "DeleteCluster": "

Delete a SageMaker HyperPod cluster.

", "DeleteCodeRepository": "

Deletes the specified Git repository from your account.

", "DeleteContext": "

Deletes an context.

", "DeleteDataQualityJobDefinition": "

Deletes a data quality monitoring job definition.

", @@ -83,6 +86,7 @@ "DeleteHumanTaskUi": "

Use this operation to delete a human task user interface (worker task template).

To see a list of human task user interfaces (work task templates) in your account, use ListHumanTaskUis. When you delete a worker task template, it no longer appears when you call ListHumanTaskUis.

", "DeleteImage": "

Deletes a SageMaker image and all versions of the image. The container images aren't deleted.

", "DeleteImageVersion": "

Deletes a version of a SageMaker image. The container image the version represents isn't deleted.

", + "DeleteInferenceComponent": "

Deletes an inference component.

", "DeleteInferenceExperiment": "

Deletes an inference experiment.

This operation does not delete your endpoint, variants, or any underlying resources. This operation only deletes the metadata of your experiment.

", "DeleteModel": "

Deletes a model. The DeleteModel API deletes only the model entry that was created in SageMaker when you called the CreateModel API. It does not delete model artifacts, inference code, or the IAM role that you specified when creating the model.

", "DeleteModelBiasJobDefinition": "

Deletes an Amazon SageMaker model bias job definition.

", @@ -98,8 +102,8 @@ "DeletePipeline": "

Deletes a pipeline if there are no running instances of the pipeline. To delete a pipeline, you must stop all running instances of the pipeline using the StopPipelineExecution API. When you delete a pipeline, all instances of the pipeline are deleted.

", "DeleteProject": "

Delete the specified project.

", "DeleteSpace": "

Used to delete a space.

", - "DeleteStudioLifecycleConfig": "

Deletes the Studio Lifecycle Configuration. In order to delete the Lifecycle Configuration, there must be no running apps using the Lifecycle Configuration. You must also remove the Lifecycle Configuration from UserSettings in all Domains and UserProfiles.

", - "DeleteTags": "

Deletes the specified tags from an SageMaker resource.

To list a resource's tags, use the ListTags API.

When you call this API to delete tags from a hyperparameter tuning job, the deleted tags are not removed from training jobs that the hyperparameter tuning job launched before you called this API.

When you call this API to delete tags from a SageMaker Studio Domain or User Profile, the deleted tags are not removed from Apps that the SageMaker Studio Domain or User Profile launched before you called this API.

", + "DeleteStudioLifecycleConfig": "

Deletes the Amazon SageMaker Studio Lifecycle Configuration. In order to delete the Lifecycle Configuration, there must be no running apps using the Lifecycle Configuration. You must also remove the Lifecycle Configuration from UserSettings in all Domains and UserProfiles.

", + "DeleteTags": "

Deletes the specified tags from an SageMaker resource.

To list a resource's tags, use the ListTags API.

When you call this API to delete tags from a hyperparameter tuning job, the deleted tags are not removed from training jobs that the hyperparameter tuning job launched before you called this API.

When you call this API to delete tags from a SageMaker Domain or User Profile, the deleted tags are not removed from Apps that the SageMaker Domain or User Profile launched before you called this API.

", "DeleteTrial": "

Deletes the specified trial. All trial components that make up the trial must be deleted first. Use the DescribeTrialComponent API to get the list of trial components.

", "DeleteTrialComponent": "

Deletes the specified trial component. A trial component must be disassociated from all trials before the trial component can be deleted. To disassociate a trial component from a trial, call the DisassociateTrialComponent API.

", "DeleteUserProfile": "

Deletes a user profile. When a user profile is deleted, the user loses access to their EFS volume, including data, notebooks, and other artifacts.

", @@ -113,6 +117,8 @@ "DescribeArtifact": "

Describes an artifact.

", "DescribeAutoMLJob": "

Returns information about an AutoML job created by calling CreateAutoMLJob.

AutoML jobs created by calling CreateAutoMLJobV2 cannot be described by DescribeAutoMLJob.

", "DescribeAutoMLJobV2": "

Returns information about an AutoML job created by calling CreateAutoMLJobV2 or CreateAutoMLJob.

", + "DescribeCluster": "

Retrieves information of a SageMaker HyperPod cluster.

", + "DescribeClusterNode": "

Retrieves information of an instance (also called a node interchangeably) of a SageMaker HyperPod cluster.

", "DescribeCodeRepository": "

Gets details about the specified Git repository.

", "DescribeCompilationJob": "

Returns information about a model compilation job.

To create a model compilation job, use CreateCompilationJob. To get information about multiple model compilation jobs, use ListCompilationJobs.

", "DescribeContext": "

Describes a context.

", @@ -134,6 +140,7 @@ "DescribeHyperParameterTuningJob": "

Returns a description of a hyperparameter tuning job, depending on the fields selected. These fields can include the name, Amazon Resource Name (ARN), job status of your tuning job and more.

", "DescribeImage": "

Describes a SageMaker image.

", "DescribeImageVersion": "

Describes a version of a SageMaker image.

", + "DescribeInferenceComponent": "

Returns information about an inference component.

", "DescribeInferenceExperiment": "

Returns details about an inference experiment.

", "DescribeInferenceRecommendationsJob": "

Provides the results of the Inference Recommender job. One or more recommendation jobs are returned.

", "DescribeLabelingJob": "

Gets information about a labeling job.

", @@ -155,7 +162,7 @@ "DescribeProcessingJob": "

Returns a description of a processing job.

", "DescribeProject": "

Describes the details of a project.

", "DescribeSpace": "

Describes the space.

", - "DescribeStudioLifecycleConfig": "

Describes the Studio Lifecycle Configuration.

", + "DescribeStudioLifecycleConfig": "

Describes the Amazon SageMaker Studio Lifecycle Configuration.

", "DescribeSubscribedWorkteam": "

Gets information about a work team provided by a vendor. It returns details about the subscription with a vendor in the Amazon Web Services Marketplace.

", "DescribeTrainingJob": "

Returns information about a training job.

Some of the attributes below only appear if the training job successfully starts. If the training job fails, TrainingJobStatus is Failed and, depending on the FailureReason, attributes like TrainingStartTime, TrainingTimeInSeconds, TrainingEndTime, and BillableTimeInSeconds may not be present in the response.

", "DescribeTransformJob": "

Returns information about a transform job.

", @@ -183,6 +190,8 @@ "ListAssociations": "

Lists the associations in your account and their properties.

", "ListAutoMLJobs": "

Request a list of jobs.

", "ListCandidatesForAutoMLJob": "

List the candidates created for the job.

", + "ListClusterNodes": "

Retrieves the list of instances (also called nodes interchangeably) in a SageMaker HyperPod cluster.

", + "ListClusters": "

Retrieves the list of SageMaker HyperPod clusters.

", "ListCodeRepositories": "

Gets a list of the Git repositories in your account.

", "ListCompilationJobs": "

Lists model compilation jobs that satisfy various filters.

To create a model compilation job, use CreateCompilationJob. To get information about a particular model compilation job you have created, use DescribeCompilationJob.

", "ListContexts": "

Lists the contexts in your account and their properties.

", @@ -204,6 +213,7 @@ "ListHyperParameterTuningJobs": "

Gets a list of HyperParameterTuningJobSummary objects that describe the hyperparameter tuning jobs launched in your account.

", "ListImageVersions": "

Lists the versions of a specified image and their properties. The list can be filtered by creation time or modified time.

", "ListImages": "

Lists the images in your account and their properties. The list can be filtered by creation time or modified time, and whether the image name contains a specified string.

", + "ListInferenceComponents": "

Lists the inference components in your account and their properties.

", "ListInferenceExperiments": "

Returns the list of all inference experiments.

", "ListInferenceRecommendationsJobSteps": "

Returns a list of the subtasks for an Inference Recommender job.

The supported subtasks are benchmarks, which evaluate the performance of your model on different instance types.

", "ListInferenceRecommendationsJobs": "

Lists recommendation jobs that satisfy various filters.

", @@ -235,7 +245,7 @@ "ListResourceCatalogs": "

Lists Amazon SageMaker Catalogs based on given filters and orders. The maximum number of ResourceCatalogs viewable is 1000.

", "ListSpaces": "

Lists spaces.

", "ListStageDevices": "

Lists devices allocated to the stage, containing detailed device information and deployment status.

", - "ListStudioLifecycleConfigs": "

Lists the Studio Lifecycle Configurations in your Amazon Web Services Account.

", + "ListStudioLifecycleConfigs": "

Lists the Amazon SageMaker Studio Lifecycle Configurations in your Amazon Web Services Account.

", "ListSubscribedWorkteams": "

Gets a list of the work teams that you are subscribed to in the Amazon Web Services Marketplace. The list may be empty if no work team satisfies the filter specified in the NameContains parameter.

", "ListTags": "

Returns the tags for the specified SageMaker resource.

", "ListTrainingJobs": "

Lists training jobs.

When StatusEquals and MaxResults are set at the same time, the MaxResults number of training jobs are first retrieved ignoring the StatusEquals parameter and then they are filtered by the StatusEquals parameter, which is returned as a response.

For example, if ListTrainingJobs is invoked with the following parameters:

{ ... MaxResults: 100, StatusEquals: InProgress ... }

First, 100 trainings jobs with any status, including those other than InProgress, are selected (sorted according to the creation time, from the most current to the oldest). Next, those with a status of InProgress are returned.

You can quickly test the API using the following Amazon Web Services CLI code.

aws sagemaker list-training-jobs --max-results 100 --status-equals InProgress

", @@ -276,6 +286,7 @@ "UpdateAction": "

Updates an action.

", "UpdateAppImageConfig": "

Updates the properties of an AppImageConfig.

", "UpdateArtifact": "

Updates an artifact.

", + "UpdateCluster": "

Update a SageMaker HyperPod cluster.

", "UpdateCodeRepository": "

Updates the specified Git repository with the specified values.

", "UpdateContext": "

Updates a context.

", "UpdateDeviceFleet": "

Updates a fleet of devices.

", @@ -289,6 +300,8 @@ "UpdateHub": "

Update a hub.

Hub APIs are only callable through SageMaker Studio.

", "UpdateImage": "

Updates the properties of a SageMaker image. To change the image's tags, use the AddTags and DeleteTags APIs.

", "UpdateImageVersion": "

Updates the properties of a SageMaker image version.

", + "UpdateInferenceComponent": "

Updates an inference component.

", + "UpdateInferenceComponentRuntimeConfig": "

Runtime settings for a model that is deployed with an inference component.

", "UpdateInferenceExperiment": "

Updates an inference experiment that you created. The status of the inference experiment has to be either Created, Running. For more information on the status of an inference experiment, see DescribeInferenceExperiment.

", "UpdateModelCard": "

Update an Amazon SageMaker Model Card.

You cannot update both model card content and model card status in a single call.

", "UpdateModelPackage": "

Updates a versioned model.

", @@ -643,8 +656,9 @@ "AppNetworkAccessType": { "base": null, "refs": { - "CreateDomainRequest$AppNetworkAccessType": "

Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.

", - "DescribeDomainResponse$AppNetworkAccessType": "

Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.

" + "CreateDomainRequest$AppNetworkAccessType": "

Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.

", + "DescribeDomainResponse$AppNetworkAccessType": "

Specifies the VPC used for non-EFS traffic. The default value is PublicInternetOnly.

", + "UpdateDomainRequest$AppNetworkAccessType": "

Specifies the VPC used for non-EFS traffic.

This configuration can only be modified if there are no apps in the InService, Pending, or Deleting state. The configuration cannot be updated if DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is already set or DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn is provided as part of the same request.

" } }, "AppSecurityGroupManagement": { @@ -1082,7 +1096,7 @@ "ResolvedAttributes$CompletionCriteria": null, "TabularJobConfig$CompletionCriteria": null, "TextClassificationJobConfig$CompletionCriteria": "

How long a job is allowed to run, or how many candidates a job is allowed to generate.

", - "TextGenerationJobConfig$CompletionCriteria": null, + "TextGenerationJobConfig$CompletionCriteria": "

How long a fine-tuning job is allowed to run. For TextGenerationJobConfig problem types, the MaxRuntimePerTrainingJobInSeconds attribute of AutoMLJobCompletionCriteria defaults to 72h (259200s).

", "TimeSeriesForecastingJobConfig$CompletionCriteria": null } }, @@ -1334,7 +1348,7 @@ "BaseModelName": { "base": null, "refs": { - "TextGenerationJobConfig$BaseModelName": "

The name of the base model to fine-tune. Autopilot supports fine-tuning a variety of large language models. For information on the list of supported models, see Text generation models supporting fine-tuning in Autopilot. If no BaseModelName is provided, the default model used is Falcon-7B-Instruct.

", + "TextGenerationJobConfig$BaseModelName": "

The name of the base model to fine-tune. Autopilot supports fine-tuning a variety of large language models. For information on the list of supported models, see Text generation models supporting fine-tuning in Autopilot. If no BaseModelName is provided, the default model used is Falcon7BInstruct.

", "TextGenerationResolvedAttributes$BaseModelName": "

The name of the base model to fine-tune.

" } }, @@ -1434,10 +1448,12 @@ "ChannelSpecification$IsRequired": "

Indicates whether the channel is required by the algorithm.

", "ClarifyCheckStepMetadata$SkipCheck": "

This flag indicates if the drift check against the previous baseline will be skipped or not. If it is set to False, the previous baseline of the configured check type must be available.

", "ClarifyCheckStepMetadata$RegisterNewBaseline": "

This flag indicates if a newly calculated baseline can be accessed through step properties BaselineUsedForDriftCheckConstraints and BaselineUsedForDriftCheckStatistics. If it is set to False, the previous baseline of the configured check type must also be available. These can be accessed through the BaselineUsedForDriftCheckConstraints property.

", + "CreateEndpointConfigInput$EnableNetworkIsolation": "

Sets whether all model containers deployed to the endpoint are isolated. If they are, no inbound or outbound network calls can be made to or from the model containers.

", "CreateModelInput$EnableNetworkIsolation": "

Isolates the model container. No inbound or outbound network calls can be made to or from the model container.

", "CreateTrainingJobRequest$EnableNetworkIsolation": "

Isolates the training container. No inbound or outbound network calls can be made, except for calls between peers within a training cluster for distributed training. If you enable network isolation for training jobs that are configured to use a VPC, SageMaker downloads and uploads customer data and model artifacts through the specified VPC, but the training container does not have network access.

", "CreateTrainingJobRequest$EnableInterContainerTrafficEncryption": "

To encrypt all communications between ML compute instances in distributed training, choose True. Encryption provides greater security for distributed training, but training might take longer. How long it takes depends on the amount of communication between compute instances, especially if you use a deep learning algorithm in distributed training. For more information, see Protect Communications Between ML Compute Instances in a Distributed Training Job.

", "CreateTrainingJobRequest$EnableManagedSpotTraining": "

To train models using managed spot training, choose True. Managed spot training provides a fully managed and scalable infrastructure for training machine learning models. this option is useful when training jobs can be interrupted and when there is flexibility when the training job is run.

The complete and intermediate results of jobs are stored in an Amazon S3 bucket, and can be used as a starting point to train models incrementally. Amazon SageMaker provides metrics and logs in CloudWatch. They can be used to see when managed spot training jobs are running, interrupted, resumed, or completed.

", + "DescribeEndpointConfigOutput$EnableNetworkIsolation": "

Indicates whether all model containers deployed to the endpoint are isolated. If they are, no inbound or outbound network calls can be made to or from the model containers.

", "DescribeModelOutput$EnableNetworkIsolation": "

If True, no inbound or outbound network calls can be made to or from the model container.

", "DescribeTrainingJobResponse$EnableNetworkIsolation": "

If you want to allow inbound or outbound network calls, except for calls between peers within a training cluster for distributed training, choose True. If you enable network isolation for training jobs that are configured to use a VPC, SageMaker downloads and uploads customer data and model artifacts through the specified VPC, but the training container does not have network access.

", "DescribeTrainingJobResponse$EnableInterContainerTrafficEncryption": "

To encrypt all communications between ML compute instances in distributed training, choose True. Encryption provides greater security for distributed training, but training might take longer. How long it takes depends on the amount of communication between compute instances, especially if you use a deep learning algorithms in distributed training.

", @@ -1922,6 +1938,176 @@ "CreateModelPackageInput$ClientToken": "

A unique token that guarantees that the call to this API is idempotent.

" } }, + "ClusterArn": { + "base": null, + "refs": { + "ClusterSummary$ClusterArn": "

The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster.

", + "CreateClusterResponse$ClusterArn": "

The Amazon Resource Name (ARN) of the cluster.

", + "DeleteClusterResponse$ClusterArn": "

The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster to delete.

", + "DescribeClusterResponse$ClusterArn": "

The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster.

", + "UpdateClusterResponse$ClusterArn": "

The Amazon Resource Name (ARN) of the updated SageMaker HyperPod cluster.

" + } + }, + "ClusterInstanceCount": { + "base": null, + "refs": { + "ClusterInstanceGroupDetails$TargetCount": "

The number of instances you specified to add to the instance group of a SageMaker HyperPod cluster.

", + "ClusterInstanceGroupSpecification$InstanceCount": "

Specifies the number of instances to add to the instance group of a SageMaker HyperPod cluster.

" + } + }, + "ClusterInstanceGroupDetails": { + "base": "

Details of an instance group in a SageMaker HyperPod cluster.

", + "refs": { + "ClusterInstanceGroupDetailsList$member": null + } + }, + "ClusterInstanceGroupDetailsList": { + "base": null, + "refs": { + "DescribeClusterResponse$InstanceGroups": "

The instance groups of the SageMaker HyperPod cluster.

" + } + }, + "ClusterInstanceGroupName": { + "base": null, + "refs": { + "ClusterInstanceGroupDetails$InstanceGroupName": "

The name of the instance group of a SageMaker HyperPod cluster.

", + "ClusterInstanceGroupSpecification$InstanceGroupName": "

Specifies the name of the instance group.

", + "ClusterNodeDetails$InstanceGroupName": "

The instance group name in which the instance is.

", + "ClusterNodeSummary$InstanceGroupName": "

The name of the instance group in which the instance is.

", + "ListClusterNodesRequest$InstanceGroupNameContains": "

A filter that returns the instance groups whose name contain a specified string.

" + } + }, + "ClusterInstanceGroupSpecification": { + "base": "

The specifications of an instance group that you need to define.

", + "refs": { + "ClusterInstanceGroupSpecifications$member": null + } + }, + "ClusterInstanceGroupSpecifications": { + "base": null, + "refs": { + "CreateClusterRequest$InstanceGroups": "

The instance groups to be created in the SageMaker HyperPod cluster.

", + "UpdateClusterRequest$InstanceGroups": "

Specify the instance groups to update.

" + } + }, + "ClusterInstanceStatus": { + "base": null, + "refs": { + "ClusterInstanceStatusDetails$Status": "

The status of an instance in a SageMaker HyperPod cluster.

" + } + }, + "ClusterInstanceStatusDetails": { + "base": "

Details of an instance in a SageMaker HyperPod cluster.

", + "refs": { + "ClusterNodeDetails$InstanceStatus": "

The status of the instance.

", + "ClusterNodeSummary$InstanceStatus": "

The status of the instance.

" + } + }, + "ClusterInstanceType": { + "base": null, + "refs": { + "ClusterInstanceGroupDetails$InstanceType": "

The instance type of the instance group of a SageMaker HyperPod cluster.

", + "ClusterInstanceGroupSpecification$InstanceType": "

Specifies the instance type of the instance group.

", + "ClusterNodeDetails$InstanceType": "

The type of the instance.

", + "ClusterNodeSummary$InstanceType": "

The type of the instance.

" + } + }, + "ClusterLifeCycleConfig": { + "base": "

The LifeCycle configuration for a SageMaker HyperPod cluster.

", + "refs": { + "ClusterInstanceGroupDetails$LifeCycleConfig": "

Details of LifeCycle configuration for the instance group.

", + "ClusterInstanceGroupSpecification$LifeCycleConfig": "

Specifies the LifeCycle configuration for the instance group.

", + "ClusterNodeDetails$LifeCycleConfig": "

The LifeCycle configuration applied to the instance.

" + } + }, + "ClusterLifeCycleConfigFileName": { + "base": null, + "refs": { + "ClusterLifeCycleConfig$OnCreate": "

The directory of the LifeCycle script under SourceS3Uri. This LifeCycle script runs during cluster creation.

" + } + }, + "ClusterName": { + "base": null, + "refs": { + "ClusterSummary$ClusterName": "

The name of the SageMaker HyperPod cluster.

", + "CreateClusterRequest$ClusterName": "

The name for the new SageMaker HyperPod cluster.

", + "DescribeClusterResponse$ClusterName": "

The name of the SageMaker HyperPod cluster.

" + } + }, + "ClusterNameOrArn": { + "base": null, + "refs": { + "DeleteClusterRequest$ClusterName": "

The string name or the Amazon Resource Name (ARN) of the SageMaker HyperPod cluster to delete.

", + "DescribeClusterNodeRequest$ClusterName": "

The string name or the Amazon Resource Name (ARN) of the SageMaker HyperPod cluster in which the instance is.

", + "DescribeClusterRequest$ClusterName": "

The string name or the Amazon Resource Name (ARN) of the SageMaker HyperPod cluster.

", + "ListClusterNodesRequest$ClusterName": "

The string name or the Amazon Resource Name (ARN) of the SageMaker HyperPod cluster in which you want to retrieve the list of nodes.

", + "UpdateClusterRequest$ClusterName": "

Specify the name of the SageMaker HyperPod cluster you want to update.

" + } + }, + "ClusterNodeDetails": { + "base": "

Details of an instance (also called a node interchangeably) in a SageMaker HyperPod cluster.

", + "refs": { + "DescribeClusterNodeResponse$NodeDetails": "

The details of the instance.

" + } + }, + "ClusterNodeId": { + "base": null, + "refs": { + "DescribeClusterNodeRequest$NodeId": "

The ID of the instance.

" + } + }, + "ClusterNodeSummaries": { + "base": null, + "refs": { + "ListClusterNodesResponse$ClusterNodeSummaries": "

The summaries of listed instances in a SageMaker HyperPod cluster

" + } + }, + "ClusterNodeSummary": { + "base": "

Lists a summary of the properties of an instance (also called a node interchangeably) of a SageMaker HyperPod cluster.

", + "refs": { + "ClusterNodeSummaries$member": null + } + }, + "ClusterNonNegativeInstanceCount": { + "base": null, + "refs": { + "ClusterInstanceGroupDetails$CurrentCount": "

The number of instances that are currently in the instance group of a SageMaker HyperPod cluster.

" + } + }, + "ClusterSortBy": { + "base": null, + "refs": { + "ListClusterNodesRequest$SortBy": "

The field by which to sort results. The default value is CREATION_TIME.

", + "ListClustersRequest$SortBy": "

The field by which to sort results. The default value is CREATION_TIME.

" + } + }, + "ClusterStatus": { + "base": null, + "refs": { + "ClusterSummary$ClusterStatus": "

The status of the SageMaker HyperPod cluster.

", + "DescribeClusterResponse$ClusterStatus": "

The status of the SageMaker HyperPod cluster.

" + } + }, + "ClusterSummaries": { + "base": null, + "refs": { + "ListClustersResponse$ClusterSummaries": "

The summaries of listed SageMaker HyperPod clusters.

" + } + }, + "ClusterSummary": { + "base": "

Lists a summary of the properties of a SageMaker HyperPod cluster.

", + "refs": { + "ClusterSummaries$member": null + } + }, + "ClusterThreadsPerCore": { + "base": null, + "refs": { + "ClusterInstanceGroupDetails$ThreadsPerCore": "

The number you specified to TreadsPerCore in CreateCluster for enabling or disabling multithreading. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. For more information, see the reference table of CPU cores and threads per CPU core per instance type in the Amazon Elastic Compute Cloud User Guide.

", + "ClusterInstanceGroupSpecification$ThreadsPerCore": "

Specifies the value for Threads per core. For instance types that support multithreading, you can specify 1 for disabling multithreading and 2 for enabling multithreading. For instance types that doesn't support multithreading, specify 1. For more information, see the reference table of CPU cores and threads per CPU core per instance type in the Amazon Elastic Compute Cloud User Guide.

", + "ClusterNodeDetails$ThreadsPerCore": "

The number of threads per CPU core you specified under CreateCluster.

" + } + }, "CodeRepositories": { "base": null, "refs": { @@ -2203,6 +2389,7 @@ "ContainerDefinition$Image": "

The path where inference code is stored. This can be either in Amazon EC2 Container Registry or in a Docker registry that is accessible from the same VPC that you configure for your endpoint. If you are using your own custom algorithm instead of an algorithm provided by SageMaker, the inference code must meet SageMaker requirements. SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information, see Using Your Own Algorithms with Amazon SageMaker.

The model artifacts in an Amazon S3 bucket and the Docker image for inference container in Amazon EC2 Container Registry must be in the same region as the model or endpoint you are creating.

", "DeployedImage$SpecifiedImage": "

The image path you specified when you created the model.

", "DeployedImage$ResolvedImage": "

The specific digest path of the image hosted in this ProductionVariant.

", + "InferenceComponentContainerSpecification$Image": "

The Amazon Elastic Container Registry (Amazon ECR) path where the Docker image for the model is stored.

", "ModelPackageContainerDefinition$Image": "

The Amazon EC2 Container Registry (Amazon ECR) path where inference code is stored.

If you are using your own custom algorithm instead of an algorithm provided by SageMaker, the inference code must meet SageMaker requirements. SageMaker supports both registry/repository[:tag] and registry/repository[@digest] image path formats. For more information, see Using Your Own Algorithms with Amazon SageMaker.

", "TrainingSpecification$TrainingImage": "

The Amazon ECR registry path of the Docker image that contains the training algorithm.

" } @@ -2388,6 +2575,16 @@ "refs": { } }, + "CreateClusterRequest": { + "base": null, + "refs": { + } + }, + "CreateClusterResponse": { + "base": null, + "refs": { + } + }, "CreateCodeRepositoryInput": { "base": null, "refs": { @@ -2563,6 +2760,16 @@ "refs": { } }, + "CreateInferenceComponentInput": { + "base": null, + "refs": { + } + }, + "CreateInferenceComponentOutput": { + "base": null, + "refs": { + } + }, "CreateInferenceExperimentRequest": { "base": null, "refs": { @@ -3155,6 +3362,16 @@ "refs": { } }, + "DeleteClusterRequest": { + "base": null, + "refs": { + } + }, + "DeleteClusterResponse": { + "base": null, + "refs": { + } + }, "DeleteCodeRepositoryInput": { "base": null, "refs": { @@ -3270,6 +3487,11 @@ "refs": { } }, + "DeleteInferenceComponentInput": { + "base": null, + "refs": { + } + }, "DeleteInferenceExperimentRequest": { "base": null, "refs": { @@ -3430,7 +3652,8 @@ "DeployedImage": { "base": "

Gets the Amazon EC2 Container Registry path of the docker image of the model that is hosted in this ProductionVariant.

If you used the registry/repository[:tag] form to specify the image path of the primary container when you created the model hosted in this ProductionVariant, the path resolves to a path of the form registry/repository[@digest]. A digest is a hash value that identifies a specific version of an image. For information about Amazon ECR paths, see Pulling an Image in the Amazon ECR User Guide.

", "refs": { - "DeployedImages$member": null + "DeployedImages$member": null, + "InferenceComponentContainerSpecificationSummary$DeployedImage": null } }, "DeployedImages": { @@ -3567,6 +3790,26 @@ "refs": { } }, + "DescribeClusterNodeRequest": { + "base": null, + "refs": { + } + }, + "DescribeClusterNodeResponse": { + "base": null, + "refs": { + } + }, + "DescribeClusterRequest": { + "base": null, + "refs": { + } + }, + "DescribeClusterResponse": { + "base": null, + "refs": { + } + }, "DescribeCodeRepositoryInput": { "base": null, "refs": { @@ -3777,6 +4020,16 @@ "refs": { } }, + "DescribeInferenceComponentInput": { + "base": null, + "refs": { + } + }, + "DescribeInferenceComponentOutput": { + "base": null, + "refs": { + } + }, "DescribeInferenceExperimentRequest": { "base": null, "refs": { @@ -4677,6 +4930,12 @@ "DataCaptureConfigSummary$EnableCapture": "

Whether data capture is enabled or disabled.

" } }, + "EnableInfraCheck": { + "base": null, + "refs": { + "InfraCheckConfig$EnableInfraCheck": "

Enables an infrastructure health check.

" + } + }, "EnableIotRoleAlias": { "base": null, "refs": { @@ -4705,8 +4964,10 @@ "refs": { "CreateEndpointOutput$EndpointArn": "

The Amazon Resource Name (ARN) of the endpoint.

", "DescribeEndpointOutput$EndpointArn": "

The Amazon Resource Name (ARN) of the endpoint.

", + "DescribeInferenceComponentOutput$EndpointArn": "

The Amazon Resource Name (ARN) of the endpoint that hosts the inference component.

", "Endpoint$EndpointArn": "

The Amazon Resource Name (ARN) of the endpoint.

", "EndpointSummary$EndpointArn": "

The Amazon Resource Name (ARN) of the endpoint.

", + "InferenceComponentSummary$EndpointArn": "

The Amazon Resource Name (ARN) of the endpoint that hosts the inference component.

", "ModelDashboardEndpoint$EndpointArn": "

The Amazon Resource Name (ARN) of the endpoint.

", "UpdateEndpointOutput$EndpointArn": "

The Amazon Resource Name (ARN) of the endpoint.

", "UpdateEndpointWeightsAndCapacitiesOutput$EndpointArn": "

The Amazon Resource Name (ARN) of the updated endpoint.

" @@ -4799,10 +5060,12 @@ "base": null, "refs": { "CreateEndpointInput$EndpointName": "

The name of the endpoint.The name must be unique within an Amazon Web Services Region in your Amazon Web Services account. The name is case-insensitive in CreateEndpoint, but the case is preserved and must be matched in InvokeEndpoint.

", + "CreateInferenceComponentInput$EndpointName": "

The name of an existing endpoint where you host the inference component.

", "CreateInferenceExperimentRequest$EndpointName": "

The name of the Amazon SageMaker endpoint on which you want to run the inference experiment.

", "DeleteEndpointInput$EndpointName": "

The name of the endpoint that you want to delete.

", "DescribeEndpointInput$EndpointName": "

The name of the endpoint.

", "DescribeEndpointOutput$EndpointName": "

Name of the endpoint.

", + "DescribeInferenceComponentOutput$EndpointName": "

The name of the endpoint that hosts the inference component.

", "DescribeMonitoringScheduleResponse$EndpointName": "

The name of the endpoint for the monitoring job.

", "Endpoint$EndpointName": "

The name of the endpoint.

", "EndpointInfo$EndpointName": "

The name of a customer's endpoint.

", @@ -4811,7 +5074,9 @@ "EndpointSummary$EndpointName": "

The name of the endpoint.

", "GetScalingConfigurationRecommendationRequest$EndpointName": "

The name of an endpoint benchmarked during a previously completed inference recommendation job. This name should come from one of the recommendations returned by the job specified in the InferenceRecommendationsJobName field.

Specify either this field or the RecommendationId field.

", "GetScalingConfigurationRecommendationResponse$EndpointName": "

The name of an endpoint benchmarked during a previously completed Inference Recommender job.

", + "InferenceComponentSummary$EndpointName": "

The name of the endpoint that hosts the inference component.

", "ListDataQualityJobDefinitionsRequest$EndpointName": "

A filter that lists the data quality job definitions associated with the specified endpoint.

", + "ListInferenceComponentsInput$EndpointNameEquals": "

An endpoint name to filter the listed inference components. The response includes only those inference components that are hosted at the specified endpoint.

", "ListModelBiasJobDefinitionsRequest$EndpointName": "

Name of the endpoint to monitor for model bias.

", "ListModelExplainabilityJobDefinitionsRequest$EndpointName": "

Name of the endpoint to monitor for model explainability.

", "ListModelQualityJobDefinitionsRequest$EndpointName": "

A filter that returns only model quality monitoring job definitions that are associated with the specified endpoint.

", @@ -5038,6 +5303,8 @@ "refs": { "AutoMLContainerDefinition$Environment": "

The environment variables to set in the container. For more information, see ContainerDefinition.

", "ContainerDefinition$Environment": "

The environment variables to set in the Docker container. Each key and value in the Environment string to string map can have length of up to 1024. We support up to 16 entries in the map.

", + "InferenceComponentContainerSpecification$Environment": "

The environment variables to set in the Docker container. Each key and value in the Environment string-to-string map can have length of up to 1024. We support up to 16 entries in the map.

", + "InferenceComponentContainerSpecificationSummary$Environment": "

The environment variables to set in the Docker container.

", "ModelPackageContainerDefinition$Environment": "

The environment variables to set in the Docker container. Each key and value in the Environment string to string map can have length of up to 1024. We support up to 16 entries in the map.

", "RealTimeInferenceRecommendation$Environment": "

The recommended environment variables to set in the model container for Real-Time Inference.

" } @@ -5311,6 +5578,7 @@ "DescribeHyperParameterTuningJobResponse$FailureReason": "

If the tuning job failed, the reason it failed.

", "DescribeImageResponse$FailureReason": "

When a create, update, or delete operation fails, the reason for the failure.

", "DescribeImageVersionResponse$FailureReason": "

When a create or delete operation fails, the reason for the failure.

", + "DescribeInferenceComponentOutput$FailureReason": "

If the inference component status is Failed, the reason for the failure.

", "DescribeInferenceRecommendationsJobResponse$FailureReason": "

If the job fails, provides information why the job failed.

", "DescribeLabelingJobResponse$FailureReason": "

If the job failed, the reason that it failed.

", "DescribeModelCardExportJobResponse$FailureReason": "

The failure reason if the model export job fails.

", @@ -6659,6 +6927,12 @@ "ImageVersions$member": null } }, + "ImageVersionAlias": { + "base": null, + "refs": { + "ResourceSpec$SageMakerImageVersionAlias": "

The SageMakerImageVersionAlias.

" + } + }, "ImageVersionArn": { "base": null, "refs": { @@ -6722,6 +6996,121 @@ "refs": { } }, + "InferenceComponentArn": { + "base": null, + "refs": { + "CreateInferenceComponentOutput$InferenceComponentArn": "

The Amazon Resource Name (ARN) of the inference component.

", + "DescribeInferenceComponentOutput$InferenceComponentArn": "

The Amazon Resource Name (ARN) of the inference component.

", + "InferenceComponentSummary$InferenceComponentArn": "

The Amazon Resource Name (ARN) of the inference component.

", + "UpdateInferenceComponentOutput$InferenceComponentArn": "

The Amazon Resource Name (ARN) of the inference component.

", + "UpdateInferenceComponentRuntimeConfigOutput$InferenceComponentArn": "

The Amazon Resource Name (ARN) of the inference component.

" + } + }, + "InferenceComponentComputeResourceRequirements": { + "base": "

Defines the compute resources to allocate to run a model that you assign to an inference component. These resources include CPU cores, accelerators, and memory.

", + "refs": { + "InferenceComponentSpecification$ComputeResourceRequirements": "

The compute resources allocated to run the model assigned to the inference component.

", + "InferenceComponentSpecificationSummary$ComputeResourceRequirements": "

The compute resources allocated to run the model assigned to the inference component.

" + } + }, + "InferenceComponentContainerSpecification": { + "base": "

Defines a container that provides the runtime environment for a model that you deploy with an inference component.

", + "refs": { + "InferenceComponentSpecification$Container": "

Defines a container that provides the runtime environment for a model that you deploy with an inference component.

" + } + }, + "InferenceComponentContainerSpecificationSummary": { + "base": "

Details about the resources that are deployed with this inference component.

", + "refs": { + "InferenceComponentSpecificationSummary$Container": "

Details about the container that provides the runtime environment for the model that is deployed with the inference component.

" + } + }, + "InferenceComponentCopyCount": { + "base": null, + "refs": { + "InferenceComponentRuntimeConfig$CopyCount": "

The number of runtime copies of the model container to deploy with the inference component. Each copy can serve inference requests.

", + "InferenceComponentRuntimeConfigSummary$DesiredCopyCount": "

The number of runtime copies of the model container that you requested to deploy with the inference component.

", + "InferenceComponentRuntimeConfigSummary$CurrentCopyCount": "

The number of runtime copies of the model container that are currently deployed.

" + } + }, + "InferenceComponentName": { + "base": null, + "refs": { + "CreateInferenceComponentInput$InferenceComponentName": "

A unique name to assign to the inference component.

", + "DeleteInferenceComponentInput$InferenceComponentName": "

The name of the inference component to delete.

", + "DescribeInferenceComponentInput$InferenceComponentName": "

The name of the inference component.

", + "DescribeInferenceComponentOutput$InferenceComponentName": "

The name of the inference component.

", + "InferenceComponentSummary$InferenceComponentName": "

The name of the inference component.

", + "UpdateInferenceComponentInput$InferenceComponentName": "

The name of the inference component.

", + "UpdateInferenceComponentRuntimeConfigInput$InferenceComponentName": "

The name of the inference component to update.

" + } + }, + "InferenceComponentNameContains": { + "base": null, + "refs": { + "ListInferenceComponentsInput$NameContains": "

Filters the results to only those inference components with a name that contains the specified string.

" + } + }, + "InferenceComponentRuntimeConfig": { + "base": "

Runtime settings for a model that is deployed with an inference component.

", + "refs": { + "CreateInferenceComponentInput$RuntimeConfig": "

Runtime settings for a model that is deployed with an inference component.

", + "UpdateInferenceComponentInput$RuntimeConfig": "

Runtime settings for a model that is deployed with an inference component.

", + "UpdateInferenceComponentRuntimeConfigInput$DesiredRuntimeConfig": "

Runtime settings for a model that is deployed with an inference component.

" + } + }, + "InferenceComponentRuntimeConfigSummary": { + "base": "

Details about the runtime settings for the model that is deployed with the inference component.

", + "refs": { + "DescribeInferenceComponentOutput$RuntimeConfig": "

Details about the runtime settings for the model that is deployed with the inference component.

" + } + }, + "InferenceComponentSortKey": { + "base": null, + "refs": { + "ListInferenceComponentsInput$SortBy": "

The field by which to sort the inference components in the response. The default is CreationTime.

" + } + }, + "InferenceComponentSpecification": { + "base": "

Details about the resources to deploy with this inference component, including the model, container, and compute resources.

", + "refs": { + "CreateInferenceComponentInput$Specification": "

Details about the resources to deploy with this inference component, including the model, container, and compute resources.

", + "UpdateInferenceComponentInput$Specification": "

Details about the resources to deploy with this inference component, including the model, container, and compute resources.

" + } + }, + "InferenceComponentSpecificationSummary": { + "base": "

Details about the resources that are deployed with this inference component.

", + "refs": { + "DescribeInferenceComponentOutput$Specification": "

Details about the resources that are deployed with this inference component.

" + } + }, + "InferenceComponentStartupParameters": { + "base": "

Settings that take effect while the model container starts up.

", + "refs": { + "InferenceComponentSpecification$StartupParameters": "

Settings that take effect while the model container starts up.

", + "InferenceComponentSpecificationSummary$StartupParameters": "

Settings that take effect while the model container starts up.

" + } + }, + "InferenceComponentStatus": { + "base": null, + "refs": { + "DescribeInferenceComponentOutput$InferenceComponentStatus": "

The status of the inference component.

", + "InferenceComponentSummary$InferenceComponentStatus": "

The status of the inference component.

", + "ListInferenceComponentsInput$StatusEquals": "

Filters the results to only those inference components with the specified status.

" + } + }, + "InferenceComponentSummary": { + "base": "

A summary of the properties of an inference component.

", + "refs": { + "InferenceComponentSummaryList$member": null + } + }, + "InferenceComponentSummaryList": { + "base": null, + "refs": { + "ListInferenceComponentsOutput$InferenceComponents": "

A list of inference components and their properties that matches any of the filters you specified in the request.

" + } + }, "InferenceExecutionConfig": { "base": "

Specifies details about how containers in a multi-container endpoint are run.

", "refs": { @@ -6897,6 +7286,13 @@ "ModelConfiguration$InferenceSpecificationName": "

The inference specification name in the model package version.

" } }, + "InfraCheckConfig": { + "base": "

Configuration information for the infrastructure health check of a training job. A SageMaker-provided health check tests the health of instance hardware and cluster network connectivity.

", + "refs": { + "CreateTrainingJobRequest$InfraCheckConfig": "

Contains information about the infrastructure health check configuration for the training job.

", + "DescribeTrainingJobResponse$InfraCheckConfig": "

Contains information about the infrastructure health check configuration for the training job.

" + } + }, "InitialInstanceCount": { "base": null, "refs": { @@ -7432,6 +7828,13 @@ "PipelineExecutionStepMetadata$Lambda": "

The Amazon Resource Name (ARN) of the Lambda function that was run by this step execution and a list of output parameters.

" } }, + "LandingUri": { + "base": null, + "refs": { + "CreatePresignedDomainUrlRequest$LandingUri": "

The landing page that the user is directed to when accessing the presigned URL. Using this value, users can access Studio or Studio Classic, even if it is not the default experience for the domain. The supported values are:

", + "UserSettings$DefaultLandingUri": "

The default experience that the user is directed to when accessing the domain. The supported values are:

" + } + }, "LastModifiedTime": { "base": null, "refs": { @@ -7627,6 +8030,26 @@ "refs": { } }, + "ListClusterNodesRequest": { + "base": null, + "refs": { + } + }, + "ListClusterNodesResponse": { + "base": null, + "refs": { + } + }, + "ListClustersRequest": { + "base": null, + "refs": { + } + }, + "ListClustersResponse": { + "base": null, + "refs": { + } + }, "ListCodeRepositoriesInput": { "base": null, "refs": { @@ -7861,6 +8284,16 @@ "refs": { } }, + "ListInferenceComponentsInput": { + "base": null, + "refs": { + } + }, + "ListInferenceComponentsOutput": { + "base": null, + "refs": { + } + }, "ListInferenceExperimentsRequest": { "base": null, "refs": { @@ -8357,6 +8790,24 @@ "UpdateImageVersionRequest$MLFramework": "

The machine learning framework vended in the image version.

" } }, + "ManagedInstanceScalingMaxInstanceCount": { + "base": null, + "refs": { + "ProductionVariantManagedInstanceScaling$MaxInstanceCount": "

The maximum number of instances that the endpoint can provision when it scales up to accommodate an increase in traffic.

" + } + }, + "ManagedInstanceScalingMinInstanceCount": { + "base": null, + "refs": { + "ProductionVariantManagedInstanceScaling$MinInstanceCount": "

The minimum number of instances that the endpoint must retain when it scales down to accommodate a decrease in traffic.

" + } + }, + "ManagedInstanceScalingStatus": { + "base": null, + "refs": { + "ProductionVariantManagedInstanceScaling$Status": "

Indicates whether managed instance scaling is enabled.

" + } + }, "MaxAutoMLJobRuntimeInSeconds": { "base": null, "refs": { @@ -8463,6 +8914,8 @@ "ListAppsRequest$MaxResults": "

The total number of items to return in the response. If the total number of items available is more than the value specified, a NextToken is provided in the response. To resume pagination, provide the NextToken value in the as part of a subsequent call. The default value is 10.

", "ListArtifactsRequest$MaxResults": "

The maximum number of artifacts to return in the response. The default value is 10.

", "ListAssociationsRequest$MaxResults": "

The maximum number of associations to return in the response. The default value is 10.

", + "ListClusterNodesRequest$MaxResults": "

The maximum number of nodes to return in the response.

", + "ListClustersRequest$MaxResults": "

Set the maximum number of SageMaker HyperPod clusters to list.

", "ListCodeRepositoriesInput$MaxResults": "

The maximum number of Git repositories to return in the response.

", "ListCompilationJobsRequest$MaxResults": "

The maximum number of model compilation jobs to return in the response.

", "ListContextsRequest$MaxResults": "

The maximum number of contexts to return in the response. The default value is 10.

", @@ -8479,6 +8932,7 @@ "ListHyperParameterTuningJobsRequest$MaxResults": "

The maximum number of tuning jobs to return. The default value is 10.

", "ListImageVersionsRequest$MaxResults": "

The maximum number of versions to return in the response. The default value is 10.

", "ListImagesRequest$MaxResults": "

The maximum number of images to return in the response. The default value is 10.

", + "ListInferenceComponentsInput$MaxResults": "

The maximum number of inference components to return in the response. This value defaults to 10.

", "ListInferenceExperimentsRequest$MaxResults": "

The maximum number of results to select.

", "ListInferenceRecommendationsJobStepsRequest$MaxResults": "

The maximum number of results to return.

", "ListInferenceRecommendationsJobsRequest$MaxResults": "

The maximum number of recommendations to return in the response.

", @@ -8531,7 +8985,7 @@ "MaxRuntimePerTrainingJobInSeconds": { "base": null, "refs": { - "AutoMLJobCompletionCriteria$MaxRuntimePerTrainingJobInSeconds": "

The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the StoppingCondition used by the CreateHyperParameterTuningJob action.

For job V2s (jobs created by calling CreateAutoMLJobV2), this field controls the runtime of the job candidate.

" + "AutoMLJobCompletionCriteria$MaxRuntimePerTrainingJobInSeconds": "

The maximum time, in seconds, that each training job executed inside hyperparameter tuning is allowed to run as part of a hyperparameter tuning job. For more information, see the StoppingCondition used by the CreateHyperParameterTuningJob action.

For job V2s (jobs created by calling CreateAutoMLJobV2), this field controls the runtime of the job candidate.

For TextGenerationJobConfig problem types, the maximum time defaults to 72 hours (259200 seconds).

" } }, "MaxWaitTimeInSeconds": { @@ -8573,6 +9027,13 @@ "Workteam$MemberDefinitions": "

A list of MemberDefinition objects that contains objects that identify the workers that make up the work team.

Workforces can be created using Amazon Cognito or your own OIDC Identity Provider (IdP). For private workforces created using Amazon Cognito use CognitoMemberDefinition. For workforces created using your own OIDC identity provider (IdP) use OidcMemberDefinition.

" } }, + "MemoryInMb": { + "base": null, + "refs": { + "InferenceComponentComputeResourceRequirements$MinMemoryRequiredInMb": "

The minimum MB of memory to allocate to run a model that you assign to an inference component.

", + "InferenceComponentComputeResourceRequirements$MaxMemoryRequiredInMb": "

The maximum MB of memory to allocate to run a model that you assign to an inference component.

" + } + }, "MetadataProperties": { "base": "

Metadata properties of the tracking entity, trial, or trial component.

", "refs": { @@ -9133,6 +9594,8 @@ "DescribeModelInput$ModelName": "

The name of the model.

", "DescribeModelOutput$ModelName": "

Name of the SageMaker model.

", "DescribeTransformJobResponse$ModelName": "

The name of the model used in the transform job.

", + "InferenceComponentSpecification$ModelName": "

The name of an existing SageMaker model object in your account that you want to deploy with the inference component.

", + "InferenceComponentSpecificationSummary$ModelName": "

The name of the SageMaker model object that is deployed with the inference component.

", "InferenceRecommendationsJob$ModelName": "

The name of the created model.

", "ListInferenceRecommendationsJobsRequest$ModelNameEquals": "

A filter that returns only jobs that were created for this model.

", "Model$ModelName": "

The name of the model.

", @@ -9910,6 +10373,7 @@ "base": null, "refs": { "ListAlgorithmsInput$NameContains": "

A string in the algorithm name. This filter returns only algorithms whose name contains the specified string.

", + "ListClustersRequest$NameContains": "

Set the maximum number of instances to print in the list.

", "ListCompilationJobsRequest$NameContains": "

A filter that returns the model compilation jobs whose name contains a specified string.

", "ListDataQualityJobDefinitionsRequest$NameContains": "

A string in the data quality monitoring job definition name. This filter returns only data quality monitoring job definitions whose name contains the specified string.

", "ListDeviceFleetsRequest$NameContains": "

Filter for fleets containing this name in their fleet device name.

", @@ -10018,6 +10482,10 @@ "ListAutoMLJobsResponse$NextToken": "

If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.

", "ListCandidatesForAutoMLJobRequest$NextToken": "

If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.

", "ListCandidatesForAutoMLJobResponse$NextToken": "

If the previous response was truncated, you receive this token. Use it in your next request to receive the next set of results.

", + "ListClusterNodesRequest$NextToken": "

If the result of the previous ListClusterNodes request was truncated, the response includes a NextToken. To retrieve the next set of cluster nodes, use the token in the next request.

", + "ListClusterNodesResponse$NextToken": "

The next token specified for listing instances in a SageMaker HyperPod cluster.

", + "ListClustersRequest$NextToken": "

Set the next token to retrieve the list of SageMaker HyperPod clusters.

", + "ListClustersResponse$NextToken": "

If the result of the previous ListClusters request was truncated, the response includes a NextToken. To retrieve the next set of clusters, use the token in the next request.

", "ListCodeRepositoriesInput$NextToken": "

If the result of a ListCodeRepositoriesOutput request was truncated, the response includes a NextToken. To get the next set of Git repositories, use the token in the next request.

", "ListCodeRepositoriesOutput$NextToken": "

If the result of a ListCodeRepositoriesOutput request was truncated, the response includes a NextToken. To get the next set of Git repositories, use the token in the next request.

", "ListCompilationJobsRequest$NextToken": "

If the result of the previous ListCompilationJobs request was truncated, the response includes a NextToken. To retrieve the next set of model compilation jobs, use the token in the next request.

", @@ -10329,6 +10797,18 @@ "NotificationConfiguration$NotificationTopicArn": "

The ARN for the Amazon SNS topic to which notifications should be published.

" } }, + "NumberOfAcceleratorDevices": { + "base": null, + "refs": { + "InferenceComponentComputeResourceRequirements$NumberOfAcceleratorDevicesRequired": "

The number of accelerators to allocate to run a model that you assign to an inference component. Accelerators include GPUs and Amazon Web Services Inferentia.

" + } + }, + "NumberOfCpuCores": { + "base": null, + "refs": { + "InferenceComponentComputeResourceRequirements$NumberOfCpuCoresRequired": "

The number of CPU cores to allocate to run a model that you assign to an inference component.

" + } + }, "NumberOfHumanWorkersPerDataObject": { "base": null, "refs": { @@ -10485,6 +10965,7 @@ "refs": { "ListEndpointConfigsInput$SortOrder": "

The sort order for results. The default is Descending.

", "ListEndpointsInput$SortOrder": "

The sort order for results. The default is Descending.

", + "ListInferenceComponentsInput$SortOrder": "

The sort order for results. The default is Descending.

", "ListModelsInput$SortOrder": "

The sort order for results. The default is Descending.

" } }, @@ -10532,6 +11013,8 @@ "ListEndpointConfigsOutput$NextToken": "

If the response is truncated, SageMaker returns this token. To retrieve the next set of endpoint configurations, use it in the subsequent request

", "ListEndpointsInput$NextToken": "

If the result of a ListEndpoints request was truncated, the response includes a NextToken. To retrieve the next set of endpoints, use the token in the next request.

", "ListEndpointsOutput$NextToken": "

If the response is truncated, SageMaker returns this token. To retrieve the next set of training jobs, use it in the subsequent request.

", + "ListInferenceComponentsInput$NextToken": "

A token that you use to get the next set of results following a truncated response. If the response to the previous request was truncated, that response provides the value for this token.

", + "ListInferenceComponentsOutput$NextToken": "

The token to use in a subsequent request to get the next set of results following a truncated response.

", "ListModelsInput$NextToken": "

If the response to a previous ListModels request was truncated, the response includes a NextToken. To retrieve the next set of models, use the token in the next request.

", "ListModelsOutput$NextToken": "

If the response is truncated, SageMaker returns this token. To retrieve the next set of models, use it in the subsequent request.

" } @@ -11192,6 +11675,7 @@ "ProductionVariantContainerStartupHealthCheckTimeoutInSeconds": { "base": null, "refs": { + "InferenceComponentStartupParameters$ContainerStartupHealthCheckTimeoutInSeconds": "

The timeout value, in seconds, for your inference container to pass health check by Amazon S3 Hosting. For more information about health check, see How Your Container Should Respond to Health Check (Ping) Requests.

", "ProductionVariant$ContainerStartupHealthCheckTimeoutInSeconds": "

The timeout value, in seconds, for your inference container to pass health check by SageMaker Hosting. For more information about health check, see How Your Container Should Respond to Health Check (Ping) Requests.

" } }, @@ -11221,12 +11705,29 @@ "DescribeEndpointConfigOutput$ShadowProductionVariants": "

An array of ProductionVariant objects, one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on ProductionVariants.

" } }, + "ProductionVariantManagedInstanceScaling": { + "base": "

Settings that control the range in the number of instances that the endpoint provisions as it scales up or down to accommodate traffic.

", + "refs": { + "PendingProductionVariantSummary$ManagedInstanceScaling": "

Settings that control the range in the number of instances that the endpoint provisions as it scales up or down to accommodate traffic.

", + "ProductionVariant$ManagedInstanceScaling": "

Settings that control the range in the number of instances that the endpoint provisions as it scales up or down to accommodate traffic.

", + "ProductionVariantSummary$ManagedInstanceScaling": "

Settings that control the range in the number of instances that the endpoint provisions as it scales up or down to accommodate traffic.

" + } + }, "ProductionVariantModelDataDownloadTimeoutInSeconds": { "base": null, "refs": { + "InferenceComponentStartupParameters$ModelDataDownloadTimeoutInSeconds": "

The timeout value, in seconds, to download and extract the model that you want to host from Amazon S3 to the individual inference instance associated with this inference component.

", "ProductionVariant$ModelDataDownloadTimeoutInSeconds": "

The timeout value, in seconds, to download and extract the model that you want to host from Amazon S3 to the individual inference instance associated with this production variant.

" } }, + "ProductionVariantRoutingConfig": { + "base": "

Settings that control how the endpoint routes incoming traffic to the instances that the endpoint hosts.

", + "refs": { + "PendingProductionVariantSummary$RoutingConfig": "

Settings that control how the endpoint routes incoming traffic to the instances that the endpoint hosts.

", + "ProductionVariant$RoutingConfig": "

Settings that control how the endpoint routes incoming traffic to the instances that the endpoint hosts.

", + "ProductionVariantSummary$RoutingConfig": "

Settings that control how the endpoint routes incoming traffic to the instances that the endpoint hosts.

" + } + }, "ProductionVariantSSMAccess": { "base": null, "refs": { @@ -12125,12 +12626,15 @@ "base": null, "refs": { "AlgorithmValidationSpecification$ValidationRole": "

The IAM roles that SageMaker uses to run the training jobs.

", + "ClusterInstanceGroupDetails$ExecutionRole": "

The execution role for the instance group to assume.

", + "ClusterInstanceGroupSpecification$ExecutionRole": "

Specifies an IAM execution role to be assumed by the instance group.

", "CreateAutoMLJobRequest$RoleArn": "

The ARN of the role that is used to access the data.

", "CreateAutoMLJobV2Request$RoleArn": "

The ARN of the role that is used to access the data.

", "CreateCompilationJobRequest$RoleArn": "

The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to perform tasks on your behalf.

During model compilation, Amazon SageMaker needs your permission to:

You grant permissions for all of these tasks to an IAM role. To pass this role to Amazon SageMaker, the caller of this API must have the iam:PassRole permission. For more information, see Amazon SageMaker Roles.

", "CreateDataQualityJobDefinitionRequest$RoleArn": "

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.

", "CreateDeviceFleetRequest$RoleArn": "

The Amazon Resource Name (ARN) that has access to Amazon Web Services Internet of Things (IoT).

", "CreateEdgePackagingJobRequest$RoleArn": "

The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to download and upload the model, and to contact SageMaker Neo.

", + "CreateEndpointConfigInput$ExecutionRoleArn": "

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform actions on your behalf. For more information, see SageMaker Roles.

To be able to pass this role to Amazon SageMaker, the caller of this action must have the iam:PassRole permission.

", "CreateFeatureGroupRequest$RoleArn": "

The Amazon Resource Name (ARN) of the IAM execution role used to persist data into the OfflineStore if an OfflineStoreConfig is provided.

", "CreateFlowDefinitionRequest$RoleArn": "

The Amazon Resource Name (ARN) of the role needed to call other services on your behalf. For example, arn:aws:iam::1234567890:role/service-role/AmazonSageMaker-ExecutionRole-20180111T151298.

", "CreateImageRequest$RoleArn": "

The ARN of an IAM role that enables Amazon SageMaker to perform tasks on your behalf.

", @@ -12152,6 +12656,7 @@ "DescribeDataQualityJobDefinitionResponse$RoleArn": "

The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume to perform tasks on your behalf.

", "DescribeDeviceFleetResponse$RoleArn": "

The Amazon Resource Name (ARN) that has access to Amazon Web Services Internet of Things (IoT).

", "DescribeEdgePackagingJobResponse$RoleArn": "

The Amazon Resource Name (ARN) of an IAM role that enables Amazon SageMaker to download and upload the model, and to contact Neo.

", + "DescribeEndpointConfigOutput$ExecutionRoleArn": "

The Amazon Resource Name (ARN) of the IAM role that you assigned to the endpoint configuration.

", "DescribeFeatureGroupResponse$RoleArn": "

The Amazon Resource Name (ARN) of the IAM execution role used to persist data into the OfflineStore if an OfflineStoreConfig is provided.

", "DescribeFlowDefinitionResponse$RoleArn": "

The Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) execution role for the flow definition.

", "DescribeImageResponse$RoleArn": "

The ARN of the IAM role that enables Amazon SageMaker to perform tasks on your behalf.

", @@ -12204,6 +12709,12 @@ "UpdateNotebookInstanceInput$RootAccess": "

Whether root access is enabled or disabled for users of the notebook instance. The default value is Enabled.

If you set this to Disabled, users don't have root access on the notebook instance, but lifecycle configuration scripts still run with root permissions.

" } }, + "RoutingStrategy": { + "base": null, + "refs": { + "ProductionVariantRoutingConfig$RoutingStrategy": "

Sets how the endpoint routes incoming traffic:

" + } + }, "RuleConfigurationName": { "base": null, "refs": { @@ -12286,6 +12797,7 @@ "AutoMLS3DataSource$S3Uri": "

The URL to the Amazon S3 data source. The Uri refers to the Amazon S3 prefix or ManifestFile depending on the data type.

", "BatchDataCaptureConfig$DestinationS3Uri": "

The Amazon S3 location being used to capture the data.

", "CheckpointConfig$S3Uri": "

Identifies the S3 path where you want SageMaker to store checkpoints. For example, s3://bucket-name/key-name-prefix.

", + "ClusterLifeCycleConfig$SourceS3Uri": "

An Amazon S3 bucket path where your LifeCycle scripts are stored.

", "CreateLabelingJobRequest$LabelCategoryConfigS3Uri": "

The S3 URI of the file, referred to as a label category configuration file, that defines the categories used to label the data objects.

For 3D point cloud and video frame task types, you can add label category attributes and frame attributes to your label category configuration file. To learn how, see Create a Labeling Category Configuration File for 3D Point Cloud Labeling Jobs.

For named entity recognition jobs, in addition to \"labels\", you must provide worker instructions in the label category configuration file using the \"instructions\" parameter: \"instructions\": {\"shortInstruction\":\"<h1>Add header</h1><p>Add Instructions</p>\", \"fullInstruction\":\"<p>Add additional instructions.</p>\"}. For details and an example, see Create a Named Entity Recognition Labeling Job (API) .

For all other built-in task types and custom tasks, your label category configuration file must be a JSON file in the following format. Identify the labels you want to use by replacing label_1, label_2,...,label_n with your label categories.

{

\"document-version\": \"2018-11-28\",

\"labels\": [{\"label\": \"label_1\"},{\"label\": \"label_2\"},...{\"label\": \"label_n\"}]

}

Note the following about the label category configuration file:

", "CreateModelPackageInput$SamplePayloadUrl": "

The Amazon Simple Storage Service (Amazon S3) path where the sample payload is stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix). This archive can hold multiple files that are all equally used in the load test. Each file in the archive must satisfy the size constraints of the InvokeEndpoint call.

", "DataQualityAppSpecification$RecordPreprocessorSourceUri": "

An Amazon S3 URI to a script that is called per row prior to running analysis. It can base64 decode the payload and convert it into a flattened JSON so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.

", @@ -12507,7 +13019,7 @@ "CreateNotebookInstanceInput$SecurityGroupIds": "

The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet.

", "DefaultSpaceSettings$SecurityGroups": "

The security group IDs for the Amazon Virtual Private Cloud that the space uses for communication.

", "DescribeNotebookInstanceOutput$SecurityGroups": "

The IDs of the VPC security groups.

", - "UserSettings$SecurityGroups": "

The security groups for the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.

Optional when the CreateDomain.AppNetworkAccessType parameter is set to PublicInternetOnly.

Required when the CreateDomain.AppNetworkAccessType parameter is set to VpcOnly, unless specified as part of the DefaultUserSettings for the domain.

Amazon SageMaker adds a security group to allow NFS traffic from SageMaker Studio. Therefore, the number of security groups that you can specify is one less than the maximum number shown.

" + "UserSettings$SecurityGroups": "

The security groups for the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.

Optional when the CreateDomain.AppNetworkAccessType parameter is set to PublicInternetOnly.

Required when the CreateDomain.AppNetworkAccessType parameter is set to VpcOnly, unless specified as part of the DefaultUserSettings for the domain.

Amazon SageMaker adds a security group to allow NFS traffic from Amazon SageMaker Studio. Therefore, the number of security groups that you can specify is one less than the maximum number shown.

" } }, "Seed": { @@ -12641,9 +13153,9 @@ } }, "SharingSettings": { - "base": "

Specifies options for sharing SageMaker Studio notebooks. These settings are specified as part of DefaultUserSettings when the CreateDomain API is called, and as part of UserSettings when the CreateUserProfile API is called. When SharingSettings is not specified, notebook sharing isn't allowed.

", + "base": "

Specifies options for sharing Amazon SageMaker Studio notebooks. These settings are specified as part of DefaultUserSettings when the CreateDomain API is called, and as part of UserSettings when the CreateUserProfile API is called. When SharingSettings is not specified, notebook sharing isn't allowed.

", "refs": { - "UserSettings$SharingSettings": "

Specifies options for sharing SageMaker Studio notebooks.

" + "UserSettings$SharingSettings": "

Specifies options for sharing Amazon SageMaker Studio notebooks.

" } }, "ShuffleConfig": { @@ -12742,6 +13254,8 @@ "ListAppsRequest$SortOrder": "

The sort order for the results. The default is Ascending.

", "ListArtifactsRequest$SortOrder": "

The sort order. The default value is Descending.

", "ListAssociationsRequest$SortOrder": "

The sort order. The default value is Descending.

", + "ListClusterNodesRequest$SortOrder": "

The sort order for results. The default value is Ascending.

", + "ListClustersRequest$SortOrder": "

The sort order for results. The default value is Ascending.

", "ListCompilationJobsRequest$SortOrder": "

The sort order for results. The default is Ascending.

", "ListContextsRequest$SortOrder": "

The sort order. The default value is Descending.

", "ListDataQualityJobDefinitionsRequest$SortOrder": "

Whether to sort the results in Ascending or Descending order. The default is Descending.

", @@ -13121,10 +13635,14 @@ "BatchTransformInput$FeaturesAttribute": "

The attributes of the input data that are the input features.

", "BatchTransformInput$InferenceAttribute": "

The attribute of the input data that represents the ground truth label.

", "BatchTransformInput$ProbabilityAttribute": "

In a classification problem, the attribute that represents the class probability.

", + "ClusterInstanceStatusDetails$Message": "

The message from an instance in a SageMaker HyperPod cluster.

", + "ClusterNodeDetails$InstanceId": "

The ID of the instance.

", + "ClusterNodeSummary$InstanceId": "

The ID of the instance.

", "CreateModelPackageInput$Domain": "

The machine learning domain of your model package and its components. Common machine learning domains include computer vision and natural language processing.

", "CreateModelPackageInput$Task": "

The machine learning task your model package accomplishes. Common machine learning tasks include object detection and image classification. The following tasks are supported by Inference Recommender: \"IMAGE_CLASSIFICATION\" | \"OBJECT_DETECTION\" | \"TEXT_GENERATION\" |\"IMAGE_SEGMENTATION\" | \"FILL_MASK\" | \"CLASSIFICATION\" | \"REGRESSION\" | \"OTHER\".

Specify \"OTHER\" if none of the tasks listed fit your use case.

", "CustomizedMetricSpecification$MetricName": "

The name of the customized metric.

", "CustomizedMetricSpecification$Namespace": "

The namespace of the customized metric.

", + "DescribeClusterResponse$FailureMessage": "

The failure message of the SageMaker HyperPod cluster.

", "DescribeEdgePackagingJobResponse$EdgePackagingJobStatusMessage": "

Returns a message describing the job status and error messages.

", "DescribeEdgePackagingJobResponse$ModelSignature": "

The signature document of files in the model artifact.

", "DescribeModelPackageOutput$Domain": "

The machine learning domain of the model package you specified. Common machine learning domains include computer vision and natural language processing.

", @@ -13204,6 +13722,7 @@ "ClarifyCheckStepMetadata$ViolationReport": "

The Amazon S3 URI of the violation report if violations are detected.

", "CreateDomainResponse$Url": "

The URL to the created domain.

", "DescribeDomainResponse$Url": "

The domain's URL.

", + "DescribeSpaceResponse$Url": "

Returns the URL of the space. If the space is created with Amazon Web Services IAM Identity Center (Successor to Amazon Web Services Single Sign-On) authentication, users can navigate to the URL after appending the respective redirect parameter for the application type to be federated through Amazon Web Services IAM Identity Center.

The following application types are supported:

", "DomainDetails$Url": "

The domain's URL.

", "EMRStepMetadata$LogFilePath": "

The path to the log file where the cluster step's failure root cause is recorded.

", "OutputParameter$Value": "

The value of the output parameter.

", @@ -13347,12 +13866,12 @@ "StudioLifecycleConfigContent": { "base": null, "refs": { - "CreateStudioLifecycleConfigRequest$StudioLifecycleConfigContent": "

The content of your Studio Lifecycle Configuration script. This content must be base64 encoded.

", - "DescribeStudioLifecycleConfigResponse$StudioLifecycleConfigContent": "

The content of your Studio Lifecycle Configuration script.

" + "CreateStudioLifecycleConfigRequest$StudioLifecycleConfigContent": "

The content of your Amazon SageMaker Studio Lifecycle Configuration script. This content must be base64 encoded.

", + "DescribeStudioLifecycleConfigResponse$StudioLifecycleConfigContent": "

The content of your Amazon SageMaker Studio Lifecycle Configuration script.

" } }, "StudioLifecycleConfigDetails": { - "base": "

Details of the Studio Lifecycle Configuration.

", + "base": "

Details of the Amazon SageMaker Studio Lifecycle Configuration.

", "refs": { "StudioLifecycleConfigsList$member": null } @@ -13360,12 +13879,12 @@ "StudioLifecycleConfigName": { "base": null, "refs": { - "CreateStudioLifecycleConfigRequest$StudioLifecycleConfigName": "

The name of the Studio Lifecycle Configuration to create.

", - "DeleteStudioLifecycleConfigRequest$StudioLifecycleConfigName": "

The name of the Studio Lifecycle Configuration to delete.

", - "DescribeStudioLifecycleConfigRequest$StudioLifecycleConfigName": "

The name of the Studio Lifecycle Configuration to describe.

", - "DescribeStudioLifecycleConfigResponse$StudioLifecycleConfigName": "

The name of the Studio Lifecycle Configuration that is described.

", + "CreateStudioLifecycleConfigRequest$StudioLifecycleConfigName": "

The name of the Amazon SageMaker Studio Lifecycle Configuration to create.

", + "DeleteStudioLifecycleConfigRequest$StudioLifecycleConfigName": "

The name of the Amazon SageMaker Studio Lifecycle Configuration to delete.

", + "DescribeStudioLifecycleConfigRequest$StudioLifecycleConfigName": "

The name of the Amazon SageMaker Studio Lifecycle Configuration to describe.

", + "DescribeStudioLifecycleConfigResponse$StudioLifecycleConfigName": "

The name of the Amazon SageMaker Studio Lifecycle Configuration that is described.

", "ListStudioLifecycleConfigsRequest$NameContains": "

A string in the Lifecycle Configuration name. This filter returns only Lifecycle Configurations whose name contains the specified string.

", - "StudioLifecycleConfigDetails$StudioLifecycleConfigName": "

The name of the Studio Lifecycle Configuration.

" + "StudioLifecycleConfigDetails$StudioLifecycleConfigName": "

The name of the Amazon SageMaker Studio Lifecycle Configuration.

" } }, "StudioLifecycleConfigSortKey": { @@ -13380,6 +13899,12 @@ "ListStudioLifecycleConfigsResponse$StudioLifecycleConfigs": "

A list of Lifecycle Configurations and their properties.

" } }, + "StudioWebPortal": { + "base": null, + "refs": { + "UserSettings$StudioWebPortal": "

Whether the user can access Studio. If this value is set to DISABLED, the user cannot access Studio, even if that is the default experience for the domain.

" + } + }, "SubnetId": { "base": null, "refs": { @@ -13391,8 +13916,9 @@ "Subnets": { "base": null, "refs": { - "CreateDomainRequest$SubnetIds": "

The VPC subnets that Studio uses for communication.

", - "DescribeDomainResponse$SubnetIds": "

The VPC subnets that Studio uses for communication.

", + "CreateDomainRequest$SubnetIds": "

The VPC subnets that the domain uses for communication.

", + "DescribeDomainResponse$SubnetIds": "

The VPC subnets that the domain uses for communication.

", + "UpdateDomainRequest$SubnetIds": "

The VPC subnets that Studio uses for communication.

If removing subnets, ensure there are no apps in the InService, Pending, or Deleting state.

", "VpcConfig$Subnets": "

The ID of the subnets in the VPC to which you want to connect your training job or model. For information about the availability of specific instance types, see Supported Instance Types and Availability Zones.

" } }, @@ -13476,6 +14002,7 @@ "CreateArtifactRequest$Tags": "

A list of tags to apply to the artifact.

", "CreateAutoMLJobRequest$Tags": "

An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web ServicesResources. Tag keys must be unique per resource.

", "CreateAutoMLJobV2Request$Tags": "

An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, such as by purpose, owner, or environment. For more information, see Tagging Amazon Web ServicesResources. Tag keys must be unique per resource.

", + "CreateClusterRequest$Tags": "

Custom tags for managing the SageMaker HyperPod cluster as an Amazon Web Services resource. You can add tags to your cluster in the same way you add them in other Amazon Web Services services that support tagging. To learn more about tagging Amazon Web Services resources in general, see Tagging Amazon Web Services Resources User Guide.

", "CreateCodeRepositoryInput$Tags": "

An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources.

", "CreateCompilationJobRequest$Tags": "

An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources.

", "CreateContextRequest$Tags": "

A list of tags to apply to the context.

", @@ -13493,6 +14020,7 @@ "CreateHumanTaskUiRequest$Tags": "

An array of key-value pairs that contain metadata to help you categorize and organize a human review workflow user interface. Each tag consists of a key and a value, both of which you define.

", "CreateHyperParameterTuningJobRequest$Tags": "

An array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging Amazon Web Services Resources.

Tags that you specify for the tuning job are also added to all training jobs that the tuning job launches.

", "CreateImageRequest$Tags": "

A list of tags to apply to the image.

", + "CreateInferenceComponentInput$Tags": "

A list of key-value pairs associated with the model. For more information, see Tagging Amazon Web Services resources in the Amazon Web Services General Reference.

", "CreateInferenceExperimentRequest$Tags": "

Array of key-value pairs. You can use tags to categorize your Amazon Web Services resources in different ways, for example, by purpose, owner, or environment. For more information, see Tagging your Amazon Web Services Resources.

", "CreateInferenceRecommendationsJobRequest$Tags": "

The metadata that you apply to Amazon Web Services resources to help you categorize and organize them. Each tag consists of a key and a value, both of which you define. For more information, see Tagging Amazon Web Services Resources in the Amazon Web Services General Reference.

", "CreateLabelingJobRequest$Tags": "

An array of key/value pairs. For more information, see Using Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User Guide.

", @@ -13710,6 +14238,24 @@ "AutoMLProblemTypeConfig$TextClassificationJobConfig": "

Settings used to configure an AutoML job V2 for the text classification problem type.

" } }, + "TextGenerationHyperParameterKey": { + "base": null, + "refs": { + "TextGenerationHyperParameters$key": null + } + }, + "TextGenerationHyperParameterValue": { + "base": null, + "refs": { + "TextGenerationHyperParameters$value": null + } + }, + "TextGenerationHyperParameters": { + "base": null, + "refs": { + "TextGenerationJobConfig$TextGenerationHyperParameters": "

The hyperparameters used to configure and optimize the learning process of the base model. You can set any combination of the following hyperparameters for all base models. For more information on each supported hyperparameter, see Optimize the learning process of your text generation models with hyperparameters.

Here is an example where all four hyperparameters are configured.

{ \"epochCount\":\"5\", \"learningRate\":\"0.5\", \"batchSize\": \"32\", \"learningRateWarmupSteps\": \"10\" }

" + } + }, "TextGenerationJobConfig": { "base": "

The collection of settings used by an AutoML job V2 for the text generation problem type.

The text generation models that support fine-tuning in Autopilot are currently accessible exclusively in regions supported by Canvas. Refer to the documentation of Canvas for the full list of its supported Regions.

", "refs": { @@ -13770,6 +14316,9 @@ "AutoMLJobSummary$CreationTime": "

When the AutoML job was created.

", "AutoMLJobSummary$EndTime": "

The end time of an AutoML job.

", "AutoMLJobSummary$LastModifiedTime": "

When the AutoML job was last modified.

", + "ClusterNodeDetails$LaunchTime": "

The time when the instance is launched.

", + "ClusterNodeSummary$LaunchTime": "

The time when the instance is launched.

", + "ClusterSummary$CreationTime": "

The time when the SageMaker HyperPod cluster is created.

", "CompilationJobSummary$CompilationStartTime": "

The time when the model compilation job started.

", "CompilationJobSummary$CompilationEndTime": "

The time when the model compilation job completed.

", "ContextSummary$CreationTime": "

When the context was created.

", @@ -13792,6 +14341,7 @@ "DescribeAutoMLJobV2Response$CreationTime": "

Returns the creation time of the AutoML job V2.

", "DescribeAutoMLJobV2Response$EndTime": "

Returns the end time of the AutoML job V2.

", "DescribeAutoMLJobV2Response$LastModifiedTime": "

Returns the job's last modified time.

", + "DescribeClusterResponse$CreationTime": "

The time when the SageMaker Cluster is created.

", "DescribeCompilationJobResponse$CompilationStartTime": "

The time when the model compilation job started the CompilationJob instances.

You are billed for the time between this timestamp and the timestamp in the CompilationEndTime field. In Amazon CloudWatch Logs, the start time might be later than this time. That's because it takes time to download the compilation job, which depends on the size of the compilation job container.

", "DescribeCompilationJobResponse$CompilationEndTime": "

The time when the model compilation job on a compilation job instance ended. For a successful or stopped job, this is when the job's model artifacts have finished uploading. For a failed job, this is when Amazon SageMaker detected that the job failed.

", "DescribeContextResponse$CreationTime": "

When the context was created.

", @@ -13822,6 +14372,8 @@ "DescribeImageResponse$LastModifiedTime": "

When the image was last modified.

", "DescribeImageVersionResponse$CreationTime": "

When the version was created.

", "DescribeImageVersionResponse$LastModifiedTime": "

When the version was last modified.

", + "DescribeInferenceComponentOutput$CreationTime": "

The time when the inference component was created.

", + "DescribeInferenceComponentOutput$LastModifiedTime": "

The time when the inference component was last updated.

", "DescribeInferenceExperimentResponse$CreationTime": "

The timestamp at which you created the inference experiment.

", "DescribeInferenceExperimentResponse$CompletionTime": "

The timestamp at which the inference experiment was completed.

", "DescribeInferenceExperimentResponse$LastModifiedTime": "

The timestamp at which you last modified the inference experiment.

", @@ -13853,8 +14405,8 @@ "DescribeProcessingJobResponse$CreationTime": "

The time at which the processing job was created.

", "DescribeProjectOutput$CreationTime": "

The time when the project was created.

", "DescribeProjectOutput$LastModifiedTime": "

The timestamp when project was last modified.

", - "DescribeStudioLifecycleConfigResponse$CreationTime": "

The creation time of the Studio Lifecycle Configuration.

", - "DescribeStudioLifecycleConfigResponse$LastModifiedTime": "

This value is equivalent to CreationTime because Studio Lifecycle Configurations are immutable.

", + "DescribeStudioLifecycleConfigResponse$CreationTime": "

The creation time of the Amazon SageMaker Studio Lifecycle Configuration.

", + "DescribeStudioLifecycleConfigResponse$LastModifiedTime": "

This value is equivalent to CreationTime because Amazon SageMaker Studio Lifecycle Configurations are immutable.

", "DescribeTrainingJobResponse$CreationTime": "

A timestamp that indicates when the training job was created.

", "DescribeTrainingJobResponse$TrainingStartTime": "

Indicates the time when the training job starts on training instances. You are billed for the time interval between this time and the value of TrainingEndTime. The start time in CloudWatch Logs might be later than this time. The difference is due to the time it takes to download the training data and to the size of the training container.

", "DescribeTrainingJobResponse$TrainingEndTime": "

Indicates the time when the training job ends on training instances. You are billed for the time interval between the value of TrainingStartTime and this time. For successful jobs and stopped jobs, this is the time after model artifacts are uploaded. For failed jobs, this is the time when SageMaker detects a job failure.

", @@ -13910,6 +14462,8 @@ "Image$LastModifiedTime": "

When the image was last modified.

", "ImageVersion$CreationTime": "

When the version was created.

", "ImageVersion$LastModifiedTime": "

When the version was last modified.

", + "InferenceComponentSummary$CreationTime": "

The time when the inference component was created.

", + "InferenceComponentSummary$LastModifiedTime": "

The time when the inference component was last updated.

", "InferenceExperimentSchedule$StartTime": "

The timestamp at which the inference experiment started or will start.

", "InferenceExperimentSchedule$EndTime": "

The timestamp at which the inference experiment ended or will end.

", "InferenceExperimentSummary$CreationTime": "

The timestamp at which the inference experiment was created.

", @@ -13935,6 +14489,10 @@ "ListAutoMLJobsRequest$CreationTimeBefore": "

Request a list of jobs, using a filter for time.

", "ListAutoMLJobsRequest$LastModifiedTimeAfter": "

Request a list of jobs, using a filter for time.

", "ListAutoMLJobsRequest$LastModifiedTimeBefore": "

Request a list of jobs, using a filter for time.

", + "ListClusterNodesRequest$CreationTimeAfter": "

A filter that returns nodes in a SageMaker HyperPod cluster created after the specified time. Timestamps are formatted according to the ISO 8601 standard.

Acceptable formats include:

For more information about the timestamp format, see Timestamp in the Amazon Web Services Command Line Interface User Guide.

", + "ListClusterNodesRequest$CreationTimeBefore": "

A filter that returns nodes in a SageMaker HyperPod cluster created before the specified time. The acceptable formats are the same as the timestamp formats for CreationTimeAfter. For more information about the timestamp format, see Timestamp in the Amazon Web Services Command Line Interface User Guide.

", + "ListClustersRequest$CreationTimeAfter": "

Set a start time for the time range during which you want to list SageMaker HyperPod clusters. Timestamps are formatted according to the ISO 8601 standard.

Acceptable formats include:

For more information about the timestamp format, see Timestamp in the Amazon Web Services Command Line Interface User Guide.

", + "ListClustersRequest$CreationTimeBefore": "

Set an end time for the time range during which you want to list SageMaker HyperPod clusters. A filter that returns nodes in a SageMaker HyperPod cluster created before the specified time. The acceptable formats are the same as the timestamp formats for CreationTimeAfter. For more information about the timestamp format, see Timestamp in the Amazon Web Services Command Line Interface User Guide.

", "ListCodeRepositoriesInput$LastModifiedTimeAfter": "

A filter that returns only Git repositories that were last modified after the specified time.

", "ListCodeRepositoriesInput$LastModifiedTimeBefore": "

A filter that returns only Git repositories that were last modified before the specified time.

", "ListContextsRequest$CreatedAfter": "

A filter that returns only contexts created on or after the specified time.

", @@ -13986,6 +14544,10 @@ "ListImagesRequest$CreationTimeBefore": "

A filter that returns only images created on or before the specified time.

", "ListImagesRequest$LastModifiedTimeAfter": "

A filter that returns only images modified on or after the specified time.

", "ListImagesRequest$LastModifiedTimeBefore": "

A filter that returns only images modified on or before the specified time.

", + "ListInferenceComponentsInput$CreationTimeBefore": "

Filters the results to only those inference components that were created before the specified time.

", + "ListInferenceComponentsInput$CreationTimeAfter": "

Filters the results to only those inference components that were created after the specified time.

", + "ListInferenceComponentsInput$LastModifiedTimeBefore": "

Filters the results to only those inference components that were updated before the specified time.

", + "ListInferenceComponentsInput$LastModifiedTimeAfter": "

Filters the results to only those inference components that were updated after the specified time.

", "ListInferenceExperimentsRequest$CreationTimeAfter": "

Selects inference experiments which were created after this timestamp.

", "ListInferenceExperimentsRequest$CreationTimeBefore": "

Selects inference experiments which were created before this timestamp.

", "ListInferenceExperimentsRequest$LastModifiedTimeAfter": "

Selects inference experiments which were last modified after this timestamp.

", @@ -14112,8 +14674,8 @@ "ResourceCatalog$CreationTime": "

The time the ResourceCatalog was created.

", "SecondaryStatusTransition$StartTime": "

A timestamp that shows when the training job transitioned to the current secondary status state.

", "SecondaryStatusTransition$EndTime": "

A timestamp that shows when the training job transitioned out of this secondary status state into another secondary status state or when the training job has ended.

", - "StudioLifecycleConfigDetails$CreationTime": "

The creation time of the Studio Lifecycle Configuration.

", - "StudioLifecycleConfigDetails$LastModifiedTime": "

This value is equivalent to CreationTime because Studio Lifecycle Configurations are immutable.

", + "StudioLifecycleConfigDetails$CreationTime": "

The creation time of the Amazon SageMaker Studio Lifecycle Configuration.

", + "StudioLifecycleConfigDetails$LastModifiedTime": "

This value is equivalent to CreationTime because Amazon SageMaker Studio Lifecycle Configurations are immutable.

", "TrainingJob$CreationTime": "

A timestamp that indicates when the training job was created.

", "TrainingJob$TrainingStartTime": "

Indicates the time when the training job starts on training instances. You are billed for the time interval between this time and the value of TrainingEndTime. The start time in CloudWatch Logs might be later than this time. The difference is due to the time it takes to download the training data and to the size of the training container.

", "TrainingJob$TrainingEndTime": "

Indicates the time when the training job ends on training instances. You are billed for the time interval between the value of TrainingStartTime and this time. For successful jobs and stopped jobs, this is the time after model artifacts are uploaded. For failed jobs, this is the time when SageMaker detects a job failure.

", @@ -14845,6 +15407,16 @@ "refs": { } }, + "UpdateClusterRequest": { + "base": null, + "refs": { + } + }, + "UpdateClusterResponse": { + "base": null, + "refs": { + } + }, "UpdateCodeRepositoryInput": { "base": null, "refs": { @@ -14960,6 +15532,26 @@ "refs": { } }, + "UpdateInferenceComponentInput": { + "base": null, + "refs": { + } + }, + "UpdateInferenceComponentOutput": { + "base": null, + "refs": { + } + }, + "UpdateInferenceComponentRuntimeConfigInput": { + "base": null, + "refs": { + } + }, + "UpdateInferenceComponentRuntimeConfigOutput": { + "base": null, + "refs": { + } + }, "UpdateInferenceExperimentRequest": { "base": null, "refs": { @@ -15136,6 +15728,8 @@ "AutoMLContainerDefinition$ModelDataUrl": "

The location of the model artifacts. For more information, see ContainerDefinition.

", "ClarifyShapBaselineConfig$ShapBaselineUri": "

The uniform resource identifier (URI) of the S3 bucket where the SHAP baseline file is stored. The format of the SHAP baseline file should be the same format as the format of the training dataset. For example, if the training dataset is in CSV format, and each record in the training dataset has four features, and all features are numerical, then the baseline file should also have this same format. Each record should contain only the features. If you are using a virtual private cloud (VPC), the ShapBaselineUri should be accessible to the VPC. For more information about setting up endpoints with Amazon Virtual Private Cloud, see Give SageMaker access to Resources in your Amazon Virtual Private Cloud.

", "ContainerDefinition$ModelDataUrl": "

The S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix). The S3 path is required for SageMaker built-in algorithms, but not if you use your own algorithms. For more information on built-in algorithms, see Common Parameters.

The model artifacts must be in an S3 bucket that is in the same region as the model or endpoint you are creating.

If you provide a value for this parameter, SageMaker uses Amazon Web Services Security Token Service to download model artifacts from the S3 path you provide. Amazon Web Services STS is activated in your Amazon Web Services account by default. If you previously deactivated Amazon Web Services STS for a region, you need to reactivate Amazon Web Services STS for that region. For more information, see Activating and Deactivating Amazon Web Services STS in an Amazon Web Services Region in the Amazon Web Services Identity and Access Management User Guide.

If you use a built-in algorithm to create a model, SageMaker requires that you provide a S3 path to the model artifacts in ModelDataUrl.

", + "InferenceComponentContainerSpecification$ArtifactUrl": "

The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).

", + "InferenceComponentContainerSpecificationSummary$ArtifactUrl": "

The Amazon S3 path where the model artifacts are stored.

", "ModelPackageContainerDefinition$ModelDataUrl": "

The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).

The model artifacts must be in an S3 bucket that is in the same region as the model package.

", "SourceAlgorithm$ModelDataUrl": "

The Amazon S3 path where the model artifacts, which result from model training, are stored. This path must point to a single gzip compressed tar archive (.tar.gz suffix).

The model artifacts must be in an S3 bucket that is in the same Amazon Web Services region as the algorithm.

" } @@ -15246,7 +15840,7 @@ } }, "UserSettings": { - "base": "

A collection of settings that apply to users of Amazon SageMaker Studio. These settings are specified when the CreateUserProfile API is called, and as DefaultUserSettings when the CreateDomain API is called.

SecurityGroups is aggregated when specified in both calls. For all other settings in UserSettings, the values specified in CreateUserProfile take precedence over those specified in CreateDomain.

", + "base": "

A collection of settings that apply to users in a domain. These settings are specified when the CreateUserProfile API is called, and as DefaultUserSettings when the CreateDomain API is called.

SecurityGroups is aggregated when specified in both calls. For all other settings in UserSettings, the values specified in CreateUserProfile take precedence over those specified in CreateDomain.

", "refs": { "CreateDomainRequest$DefaultUserSettings": "

The default settings to use to create a user profile when UserSettings isn't specified in the call to the CreateUserProfile API.

SecurityGroups is aggregated when specified in both calls. For all other settings in UserSettings, the values specified in CreateUserProfile take precedence over those specified in CreateDomain.

", "CreateUserProfileRequest$UserSettings": "

A collection of settings.

", @@ -15285,7 +15879,11 @@ "VariantName": { "base": null, "refs": { + "CreateInferenceComponentInput$VariantName": "

The name of an existing production variant where you host the inference component.

", + "DescribeInferenceComponentOutput$VariantName": "

The name of the production variant that hosts the inference component.

", "DesiredWeightAndCapacity$VariantName": "

The name of the variant to update.

", + "InferenceComponentSummary$VariantName": "

The name of the production variant that hosts the inference component.

", + "ListInferenceComponentsInput$VariantNameEquals": "

A production variant name to filter the listed inference components. The response includes only those inference components that are hosted at the specified variant.

", "PendingProductionVariantSummary$VariantName": "

The name of the variant.

", "ProductionVariant$VariantName": "

The name of the production variant.

", "ProductionVariantSummary$VariantName": "

The name of the variant.

" @@ -15380,11 +15978,15 @@ } }, "VpcConfig": { - "base": "

Specifies a VPC that your training jobs and hosted models have access to. Control access to and from your training and model containers by configuring the VPC. For more information, see Protect Endpoints by Using an Amazon Virtual Private Cloud and Protect Training Jobs by Using an Amazon Virtual Private Cloud.

", + "base": "

Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, hosted models, and compute resources have access to. You can control access to and from your resources by configuring a VPC. For more information, see Give SageMaker Access to Resources in your Amazon VPC.

", "refs": { "AutoMLSecurityConfig$VpcConfig": "

The VPC configuration.

", + "CreateClusterRequest$VpcConfig": null, + "CreateEndpointConfigInput$VpcConfig": null, "CreateModelInput$VpcConfig": "

A VpcConfig object that specifies the VPC that you want your model to connect to. Control access to and from your model container by configuring the VPC. VpcConfig is used in hosting services and in batch transform. For more information, see Protect Endpoints by Using an Amazon Virtual Private Cloud and Protect Data in Batch Transform Jobs by Using an Amazon Virtual Private Cloud.

", "CreateTrainingJobRequest$VpcConfig": "

A VpcConfig object that specifies the VPC that you want your training job to connect to. Control access to and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.

", + "DescribeClusterResponse$VpcConfig": null, + "DescribeEndpointConfigOutput$VpcConfig": null, "DescribeModelOutput$VpcConfig": "

A VpcConfig object that specifies the VPC that this model has access to. For more information, see Protect Endpoints by Using an Amazon Virtual Private Cloud

", "DescribeTrainingJobResponse$VpcConfig": "

A VpcConfig object that specifies the VPC that this training job has access to. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.

", "HyperParameterTrainingJobDefinition$VpcConfig": "

The VpcConfig object that specifies the VPC that you want the training jobs that this hyperparameter tuning job launches to connect to. Control access to and from your training container by configuring the VPC. For more information, see Protect Training Jobs by Using an Amazon Virtual Private Cloud.

", @@ -15398,14 +16000,14 @@ "VpcId": { "base": null, "refs": { - "CreateDomainRequest$VpcId": "

The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.

", - "DescribeDomainResponse$VpcId": "

The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication.

" + "CreateDomainRequest$VpcId": "

The ID of the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.

", + "DescribeDomainResponse$VpcId": "

The ID of the Amazon Virtual Private Cloud (VPC) that the domain uses for communication.

" } }, "VpcSecurityGroupIds": { "base": null, "refs": { - "VpcConfig$SecurityGroupIds": "

The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.

" + "VpcConfig$SecurityGroupIds": "

The VPC security group IDs, in the form sg-xxxxxxxx. Specify the security groups for the VPC that is specified in the Subnets field.

" } }, "WaitIntervalInSeconds": { diff --git a/models/apis/sagemaker/2017-07-24/paginators-1.json b/models/apis/sagemaker/2017-07-24/paginators-1.json index 8605e895899..d77137e47b7 100644 --- a/models/apis/sagemaker/2017-07-24/paginators-1.json +++ b/models/apis/sagemaker/2017-07-24/paginators-1.json @@ -54,6 +54,18 @@ "limit_key": "MaxResults", "result_key": "Candidates" }, + "ListClusterNodes": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ClusterNodeSummaries" + }, + "ListClusters": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "ClusterSummaries" + }, "ListCodeRepositories": { "input_token": "NextToken", "output_token": "NextToken", @@ -162,6 +174,12 @@ "limit_key": "MaxResults", "result_key": "Images" }, + "ListInferenceComponents": { + "input_token": "NextToken", + "output_token": "NextToken", + "limit_key": "MaxResults", + "result_key": "InferenceComponents" + }, "ListInferenceExperiments": { "input_token": "NextToken", "output_token": "NextToken", diff --git a/models/apis/sts/2011-06-15/docs-2.json b/models/apis/sts/2011-06-15/docs-2.json index 5e3fdd9205b..5449998b410 100644 --- a/models/apis/sts/2011-06-15/docs-2.json +++ b/models/apis/sts/2011-06-15/docs-2.json @@ -186,7 +186,7 @@ "ProvidedContextsListType": { "base": null, "refs": { - "AssumeRoleRequest$ProvidedContexts": "

A list of previously acquired trusted context assertions in the format of a JSON array. The trusted context assertion is signed and encrypted by Amazon Web Services STS.

The following is an example of a ProvidedContext value that includes a single trusted context assertion and the ARN of the context provider from which the trusted context assertion was generated.

[{\"ProviderArn\":\"arn:aws:iam::aws:contextProvider/identitycenter\",\"ContextAssertion\":\"trusted-context-assertion\"}]

" + "AssumeRoleRequest$ProvidedContexts": "

A list of previously acquired trusted context assertions in the format of a JSON array. The trusted context assertion is signed and encrypted by Amazon Web Services STS.

The following is an example of a ProvidedContext value that includes a single trusted context assertion and the ARN of the context provider from which the trusted context assertion was generated.

[{\"ProviderArn\":\"arn:aws:iam::aws:contextProvider/IdentityCenter\",\"ContextAssertion\":\"trusted-context-assertion\"}]

" } }, "RegionDisabledException": { diff --git a/service/applicationautoscaling/api.go b/service/applicationautoscaling/api.go index 740757c5875..127030eba4a 100644 --- a/service/applicationautoscaling/api.go +++ b/service/applicationautoscaling/api.go @@ -64,8 +64,8 @@ func (c *ApplicationAutoScaling) DeleteScalingPolicyRequest(input *DeleteScaling // not delete the CloudWatch alarm associated with the scaling policy, even // if it no longer has an associated action. // -// For more information, see Delete a step scaling policy (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html#delete-step-scaling-policy) -// and Delete a target tracking scaling policy (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html#delete-target-tracking-policy) +// For more information, see Delete a step scaling policy (https://docs.aws.amazon.com/autoscaling/application/userguide/create-step-scaling-policy-cli.html#delete-step-scaling-policy) +// and Delete a target tracking scaling policy (https://docs.aws.amazon.com/autoscaling/application/userguide/create-target-tracking-policy-cli.html#delete-target-tracking-policy) // in the Application Auto Scaling User Guide. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -1912,6 +1912,9 @@ type DeleteScalingPolicyInput struct { // * SageMaker Serverless endpoint - The resource type is variant and the // unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // + // * SageMaker inference component - The resource type is inference-component + // and the unique identifier is the resource ID. Example: inference-component/my-inference-component. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -1982,6 +1985,9 @@ type DeleteScalingPolicyInput struct { // * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency // for a SageMaker Serverless endpoint. // + // * sagemaker:inference-component:DesiredCopyCount - The number of copies + // across an endpoint for a SageMaker inference component. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -2146,6 +2152,9 @@ type DeleteScheduledActionInput struct { // * SageMaker Serverless endpoint - The resource type is variant and the // unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // + // * SageMaker inference component - The resource type is inference-component + // and the unique identifier is the resource ID. Example: inference-component/my-inference-component. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -2216,6 +2225,9 @@ type DeleteScheduledActionInput struct { // * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency // for a SageMaker Serverless endpoint. // + // * sagemaker:inference-component:DesiredCopyCount - The number of copies + // across an endpoint for a SageMaker inference component. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -2385,6 +2397,9 @@ type DeregisterScalableTargetInput struct { // * SageMaker Serverless endpoint - The resource type is variant and the // unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // + // * SageMaker inference component - The resource type is inference-component + // and the unique identifier is the resource ID. Example: inference-component/my-inference-component. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -2455,6 +2470,9 @@ type DeregisterScalableTargetInput struct { // * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency // for a SageMaker Serverless endpoint. // + // * sagemaker:inference-component:DesiredCopyCount - The number of copies + // across an endpoint for a SageMaker inference component. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -2618,6 +2636,9 @@ type DescribeScalableTargetsInput struct { // // * SageMaker Serverless endpoint - The resource type is variant and the // unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. + // + // * SageMaker inference component - The resource type is inference-component + // and the unique identifier is the resource ID. Example: inference-component/my-inference-component. ResourceIds []*string `type:"list"` // The scalable dimension associated with the scalable target. This string consists @@ -2687,6 +2708,9 @@ type DescribeScalableTargetsInput struct { // // * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency // for a SageMaker Serverless endpoint. + // + // * sagemaker:inference-component:DesiredCopyCount - The number of copies + // across an endpoint for a SageMaker inference component. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The namespace of the Amazon Web Services service that provides the resource. @@ -2878,6 +2902,9 @@ type DescribeScalingActivitiesInput struct { // // * SageMaker Serverless endpoint - The resource type is variant and the // unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. + // + // * SageMaker inference component - The resource type is inference-component + // and the unique identifier is the resource ID. Example: inference-component/my-inference-component. ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -2947,6 +2974,9 @@ type DescribeScalingActivitiesInput struct { // // * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency // for a SageMaker Serverless endpoint. + // + // * sagemaker:inference-component:DesiredCopyCount - The number of copies + // across an endpoint for a SageMaker inference component. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The namespace of the Amazon Web Services service that provides the resource. @@ -3143,6 +3173,9 @@ type DescribeScalingPoliciesInput struct { // // * SageMaker Serverless endpoint - The resource type is variant and the // unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. + // + // * SageMaker inference component - The resource type is inference-component + // and the unique identifier is the resource ID. Example: inference-component/my-inference-component. ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -3212,6 +3245,9 @@ type DescribeScalingPoliciesInput struct { // // * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency // for a SageMaker Serverless endpoint. + // + // * sagemaker:inference-component:DesiredCopyCount - The number of copies + // across an endpoint for a SageMaker inference component. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The namespace of the Amazon Web Services service that provides the resource. @@ -3405,6 +3441,9 @@ type DescribeScheduledActionsInput struct { // // * SageMaker Serverless endpoint - The resource type is variant and the // unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. + // + // * SageMaker inference component - The resource type is inference-component + // and the unique identifier is the resource ID. Example: inference-component/my-inference-component. ResourceId *string `min:"1" type:"string"` // The scalable dimension. This string consists of the service namespace, resource @@ -3474,6 +3513,9 @@ type DescribeScheduledActionsInput struct { // // * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency // for a SageMaker Serverless endpoint. + // + // * sagemaker:inference-component:DesiredCopyCount - The number of copies + // across an endpoint for a SageMaker inference component. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The names of the scheduled actions to describe. @@ -4154,7 +4196,7 @@ func (s *ObjectNotFoundException) RequestID() string { // Only the Amazon Web Services that you're using send metrics to Amazon CloudWatch. // To determine whether a desired metric already exists by looking up its namespace // and dimension using the CloudWatch metrics dashboard in the console, follow -// the procedure in Building dashboards with CloudWatch (https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html) +// the procedure in Monitor your resources using CloudWatch (https://docs.aws.amazon.com/autoscaling/application/userguide/monitoring-cloudwatch.html) // in the Application Auto Scaling User Guide. type PredefinedMetricSpecification struct { _ struct{} `type:"structure"` @@ -4255,7 +4297,7 @@ type PutScalingPolicyInput struct { // // The following policy types are supported: // - // TargetTrackingScaling—Not supported for Amazon EMR + // TargetTrackingScaling—Not supported for Amazon EMR. // // StepScaling—Not supported for DynamoDB, Amazon Comprehend, Lambda, Amazon // Keyspaces, Amazon MSK, Amazon ElastiCache, or Neptune. @@ -4323,6 +4365,9 @@ type PutScalingPolicyInput struct { // * SageMaker Serverless endpoint - The resource type is variant and the // unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // + // * SageMaker inference component - The resource type is inference-component + // and the unique identifier is the resource ID. Example: inference-component/my-inference-component. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -4393,6 +4438,9 @@ type PutScalingPolicyInput struct { // * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency // for a SageMaker Serverless endpoint. // + // * sagemaker:inference-component:DesiredCopyCount - The number of copies + // across an endpoint for a SageMaker inference component. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -4621,6 +4669,9 @@ type PutScheduledActionInput struct { // * SageMaker Serverless endpoint - The resource type is variant and the // unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // + // * SageMaker inference component - The resource type is inference-component + // and the unique identifier is the resource ID. Example: inference-component/my-inference-component. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -4691,6 +4742,9 @@ type PutScheduledActionInput struct { // * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency // for a SageMaker Serverless endpoint. // + // * sagemaker:inference-component:DesiredCopyCount - The number of copies + // across an endpoint for a SageMaker inference component. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -4990,6 +5044,9 @@ type RegisterScalableTargetInput struct { // * SageMaker Serverless endpoint - The resource type is variant and the // unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // + // * SageMaker inference component - The resource type is inference-component + // and the unique identifier is the resource ID. Example: inference-component/my-inference-component. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -5069,6 +5126,9 @@ type RegisterScalableTargetInput struct { // * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency // for a SageMaker Serverless endpoint. // + // * sagemaker:inference-component:DesiredCopyCount - The number of copies + // across an endpoint for a SageMaker inference component. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -5380,6 +5440,9 @@ type ScalableTarget struct { // * SageMaker Serverless endpoint - The resource type is variant and the // unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // + // * SageMaker inference component - The resource type is inference-component + // and the unique identifier is the resource ID. Example: inference-component/my-inference-component. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -5456,6 +5519,9 @@ type ScalableTarget struct { // * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency // for a SageMaker Serverless endpoint. // + // * sagemaker:inference-component:DesiredCopyCount - The number of copies + // across an endpoint for a SageMaker inference component. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -5686,6 +5752,9 @@ type ScalingActivity struct { // * SageMaker Serverless endpoint - The resource type is variant and the // unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // + // * SageMaker inference component - The resource type is inference-component + // and the unique identifier is the resource ID. Example: inference-component/my-inference-component. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -5756,6 +5825,9 @@ type ScalingActivity struct { // * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency // for a SageMaker Serverless endpoint. // + // * sagemaker:inference-component:DesiredCopyCount - The number of copies + // across an endpoint for a SageMaker inference component. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -5966,6 +6038,9 @@ type ScalingPolicy struct { // * SageMaker Serverless endpoint - The resource type is variant and the // unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // + // * SageMaker inference component - The resource type is inference-component + // and the unique identifier is the resource ID. Example: inference-component/my-inference-component. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -6036,6 +6111,9 @@ type ScalingPolicy struct { // * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency // for a SageMaker Serverless endpoint. // + // * sagemaker:inference-component:DesiredCopyCount - The number of copies + // across an endpoint for a SageMaker inference component. + // // ScalableDimension is a required field ScalableDimension *string `type:"string" required:"true" enum:"ScalableDimension"` @@ -6200,6 +6278,9 @@ type ScheduledAction struct { // * SageMaker Serverless endpoint - The resource type is variant and the // unique identifier is the resource ID. Example: endpoint/my-end-point/variant/KMeansClustering. // + // * SageMaker inference component - The resource type is inference-component + // and the unique identifier is the resource ID. Example: inference-component/my-inference-component. + // // ResourceId is a required field ResourceId *string `min:"1" type:"string" required:"true"` @@ -6269,6 +6350,9 @@ type ScheduledAction struct { // // * sagemaker:variant:DesiredProvisionedConcurrency - The provisioned concurrency // for a SageMaker Serverless endpoint. + // + // * sagemaker:inference-component:DesiredCopyCount - The number of copies + // across an endpoint for a SageMaker inference component. ScalableDimension *string `type:"string" enum:"ScalableDimension"` // The new minimum and maximum capacity. You can set both values or just one. @@ -6536,7 +6620,7 @@ type StepScalingPolicyConfiguration struct { // The amount of time, in seconds, to wait for a previous scaling activity to // take effect. If not specified, the default value is 300. For more information, - // see Cooldown period (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-step-scaling-policies.html#step-scaling-cooldown) + // see Cooldown period (https://docs.aws.amazon.com/autoscaling/application/userguide/step-scaling-policy-overview.html#step-scaling-cooldown) // in the Application Auto Scaling User Guide. Cooldown *int64 `type:"integer"` @@ -7182,13 +7266,13 @@ type TargetTrackingScalingPolicyConfiguration struct { // The amount of time, in seconds, after a scale-in activity completes before // another scale-in activity can start. For more information and for default - // values, see Define cooldown periods (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html#target-tracking-cooldown) + // values, see Define cooldown periods (https://docs.aws.amazon.com/autoscaling/application/userguide/target-tracking-scaling-policy-overview.html#target-tracking-cooldown) // in the Application Auto Scaling User Guide. ScaleInCooldown *int64 `type:"integer"` // The amount of time, in seconds, to wait for a previous scale-out activity // to take effect. For more information and for default values, see Define cooldown - // periods (https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-target-tracking.html#target-tracking-cooldown) + // periods (https://docs.aws.amazon.com/autoscaling/application/userguide/target-tracking-scaling-policy-overview.html#target-tracking-cooldown) // in the Application Auto Scaling User Guide. ScaleOutCooldown *int64 `type:"integer"` @@ -7644,6 +7728,9 @@ const ( // MetricTypeElastiCacheDatabaseCapacityUsageCountedForEvictPercentage is a MetricType enum value MetricTypeElastiCacheDatabaseCapacityUsageCountedForEvictPercentage = "ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage" + + // MetricTypeSageMakerInferenceComponentInvocationsPerCopy is a MetricType enum value + MetricTypeSageMakerInferenceComponentInvocationsPerCopy = "SageMakerInferenceComponentInvocationsPerCopy" ) // MetricType_Values returns all elements of the MetricType enum @@ -7672,6 +7759,7 @@ func MetricType_Values() []string { MetricTypeNeptuneReaderAverageCpuutilization, MetricTypeSageMakerVariantProvisionedConcurrencyUtilization, MetricTypeElastiCacheDatabaseCapacityUsageCountedForEvictPercentage, + MetricTypeSageMakerInferenceComponentInvocationsPerCopy, } } @@ -7754,6 +7842,9 @@ const ( // ScalableDimensionSagemakerVariantDesiredProvisionedConcurrency is a ScalableDimension enum value ScalableDimensionSagemakerVariantDesiredProvisionedConcurrency = "sagemaker:variant:DesiredProvisionedConcurrency" + + // ScalableDimensionSagemakerInferenceComponentDesiredCopyCount is a ScalableDimension enum value + ScalableDimensionSagemakerInferenceComponentDesiredCopyCount = "sagemaker:inference-component:DesiredCopyCount" ) // ScalableDimension_Values returns all elements of the ScalableDimension enum @@ -7780,6 +7871,7 @@ func ScalableDimension_Values() []string { ScalableDimensionElasticacheReplicationGroupReplicas, ScalableDimensionNeptuneClusterReadReplicaCount, ScalableDimensionSagemakerVariantDesiredProvisionedConcurrency, + ScalableDimensionSagemakerInferenceComponentDesiredCopyCount, } } diff --git a/service/applicationautoscaling/doc.go b/service/applicationautoscaling/doc.go index 84736011284..ef3c9722a92 100644 --- a/service/applicationautoscaling/doc.go +++ b/service/applicationautoscaling/doc.go @@ -32,6 +32,8 @@ // // - Amazon SageMaker Serverless endpoint provisioned concurrency // +// - Amazon SageMaker inference components +// // - Spot Fleets (Amazon EC2) // // - Custom resources provided by your own applications or services diff --git a/service/cleanrooms/api.go b/service/cleanrooms/api.go index 5bd9e0d90a5..255e093cb85 100644 --- a/service/cleanrooms/api.go +++ b/service/cleanrooms/api.go @@ -384,6 +384,103 @@ func (c *CleanRooms) CreateCollaborationWithContext(ctx aws.Context, input *Crea return out, req.Send() } +const opCreateConfiguredAudienceModelAssociation = "CreateConfiguredAudienceModelAssociation" + +// CreateConfiguredAudienceModelAssociationRequest generates a "aws/request.Request" representing the +// client's request for the CreateConfiguredAudienceModelAssociation 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 CreateConfiguredAudienceModelAssociation for more information on using the CreateConfiguredAudienceModelAssociation +// 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 CreateConfiguredAudienceModelAssociationRequest method. +// req, resp := client.CreateConfiguredAudienceModelAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateConfiguredAudienceModelAssociation +func (c *CleanRooms) CreateConfiguredAudienceModelAssociationRequest(input *CreateConfiguredAudienceModelAssociationInput) (req *request.Request, output *CreateConfiguredAudienceModelAssociationOutput) { + op := &request.Operation{ + Name: opCreateConfiguredAudienceModelAssociation, + HTTPMethod: "POST", + HTTPPath: "/memberships/{membershipIdentifier}/configuredaudiencemodelassociations", + } + + if input == nil { + input = &CreateConfiguredAudienceModelAssociationInput{} + } + + output = &CreateConfiguredAudienceModelAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateConfiguredAudienceModelAssociation API operation for AWS Clean Rooms Service. +// +// Provides the details necessary to create a configured audience model association. +// +// 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 Clean Rooms Service's +// API operation CreateConfiguredAudienceModelAssociation for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// - ServiceQuotaExceededException +// Request denied because service quota has been exceeded. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreateConfiguredAudienceModelAssociation +func (c *CleanRooms) CreateConfiguredAudienceModelAssociation(input *CreateConfiguredAudienceModelAssociationInput) (*CreateConfiguredAudienceModelAssociationOutput, error) { + req, out := c.CreateConfiguredAudienceModelAssociationRequest(input) + return out, req.Send() +} + +// CreateConfiguredAudienceModelAssociationWithContext is the same as CreateConfiguredAudienceModelAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See CreateConfiguredAudienceModelAssociation 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 *CleanRooms) CreateConfiguredAudienceModelAssociationWithContext(ctx aws.Context, input *CreateConfiguredAudienceModelAssociationInput, opts ...request.Option) (*CreateConfiguredAudienceModelAssociationOutput, error) { + req, out := c.CreateConfiguredAudienceModelAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateConfiguredTable = "CreateConfiguredTable" // CreateConfiguredTableRequest generates a "aws/request.Request" representing the @@ -772,6 +869,103 @@ func (c *CleanRooms) CreateMembershipWithContext(ctx aws.Context, input *CreateM return out, req.Send() } +const opCreatePrivacyBudgetTemplate = "CreatePrivacyBudgetTemplate" + +// CreatePrivacyBudgetTemplateRequest generates a "aws/request.Request" representing the +// client's request for the CreatePrivacyBudgetTemplate 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 CreatePrivacyBudgetTemplate for more information on using the CreatePrivacyBudgetTemplate +// 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 CreatePrivacyBudgetTemplateRequest method. +// req, resp := client.CreatePrivacyBudgetTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreatePrivacyBudgetTemplate +func (c *CleanRooms) CreatePrivacyBudgetTemplateRequest(input *CreatePrivacyBudgetTemplateInput) (req *request.Request, output *CreatePrivacyBudgetTemplateOutput) { + op := &request.Operation{ + Name: opCreatePrivacyBudgetTemplate, + HTTPMethod: "POST", + HTTPPath: "/memberships/{membershipIdentifier}/privacybudgettemplates", + } + + if input == nil { + input = &CreatePrivacyBudgetTemplateInput{} + } + + output = &CreatePrivacyBudgetTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreatePrivacyBudgetTemplate API operation for AWS Clean Rooms Service. +// +// Creates a privacy budget template for a specified membership. Each membership +// can have only one privacy budget template, but it can be deleted and recreated. +// If you need to change the privacy budget template for a membership, use the +// UpdatePrivacyBudgetTemplate operation. +// +// 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 Clean Rooms Service's +// API operation CreatePrivacyBudgetTemplate for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/CreatePrivacyBudgetTemplate +func (c *CleanRooms) CreatePrivacyBudgetTemplate(input *CreatePrivacyBudgetTemplateInput) (*CreatePrivacyBudgetTemplateOutput, error) { + req, out := c.CreatePrivacyBudgetTemplateRequest(input) + return out, req.Send() +} + +// CreatePrivacyBudgetTemplateWithContext is the same as CreatePrivacyBudgetTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See CreatePrivacyBudgetTemplate 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 *CleanRooms) CreatePrivacyBudgetTemplateWithContext(ctx aws.Context, input *CreatePrivacyBudgetTemplateInput, opts ...request.Option) (*CreatePrivacyBudgetTemplateOutput, error) { + req, out := c.CreatePrivacyBudgetTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteAnalysisTemplate = "DeleteAnalysisTemplate" // DeleteAnalysisTemplateRequest generates a "aws/request.Request" representing the @@ -953,6 +1147,99 @@ func (c *CleanRooms) DeleteCollaborationWithContext(ctx aws.Context, input *Dele return out, req.Send() } +const opDeleteConfiguredAudienceModelAssociation = "DeleteConfiguredAudienceModelAssociation" + +// DeleteConfiguredAudienceModelAssociationRequest generates a "aws/request.Request" representing the +// client's request for the DeleteConfiguredAudienceModelAssociation 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 DeleteConfiguredAudienceModelAssociation for more information on using the DeleteConfiguredAudienceModelAssociation +// 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 DeleteConfiguredAudienceModelAssociationRequest method. +// req, resp := client.DeleteConfiguredAudienceModelAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteConfiguredAudienceModelAssociation +func (c *CleanRooms) DeleteConfiguredAudienceModelAssociationRequest(input *DeleteConfiguredAudienceModelAssociationInput) (req *request.Request, output *DeleteConfiguredAudienceModelAssociationOutput) { + op := &request.Operation{ + Name: opDeleteConfiguredAudienceModelAssociation, + HTTPMethod: "DELETE", + HTTPPath: "/memberships/{membershipIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", + } + + if input == nil { + input = &DeleteConfiguredAudienceModelAssociationInput{} + } + + output = &DeleteConfiguredAudienceModelAssociationOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteConfiguredAudienceModelAssociation API operation for AWS Clean Rooms Service. +// +// Provides the information necessary to delete a configured audience model +// association. +// +// 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 Clean Rooms Service's +// API operation DeleteConfiguredAudienceModelAssociation for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeleteConfiguredAudienceModelAssociation +func (c *CleanRooms) DeleteConfiguredAudienceModelAssociation(input *DeleteConfiguredAudienceModelAssociationInput) (*DeleteConfiguredAudienceModelAssociationOutput, error) { + req, out := c.DeleteConfiguredAudienceModelAssociationRequest(input) + return out, req.Send() +} + +// DeleteConfiguredAudienceModelAssociationWithContext is the same as DeleteConfiguredAudienceModelAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteConfiguredAudienceModelAssociation 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 *CleanRooms) DeleteConfiguredAudienceModelAssociationWithContext(ctx aws.Context, input *DeleteConfiguredAudienceModelAssociationInput, opts ...request.Option) (*DeleteConfiguredAudienceModelAssociationOutput, error) { + req, out := c.DeleteConfiguredAudienceModelAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteConfiguredTable = "DeleteConfiguredTable" // DeleteConfiguredTableRequest generates a "aws/request.Request" representing the @@ -1431,57 +1718,58 @@ func (c *CleanRooms) DeleteMembershipWithContext(ctx aws.Context, input *DeleteM return out, req.Send() } -const opGetAnalysisTemplate = "GetAnalysisTemplate" +const opDeletePrivacyBudgetTemplate = "DeletePrivacyBudgetTemplate" -// GetAnalysisTemplateRequest generates a "aws/request.Request" representing the -// client's request for the GetAnalysisTemplate operation. The "output" return +// DeletePrivacyBudgetTemplateRequest generates a "aws/request.Request" representing the +// client's request for the DeletePrivacyBudgetTemplate 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 GetAnalysisTemplate for more information on using the GetAnalysisTemplate +// See DeletePrivacyBudgetTemplate for more information on using the DeletePrivacyBudgetTemplate // 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 GetAnalysisTemplateRequest method. -// req, resp := client.GetAnalysisTemplateRequest(params) +// // Example sending a request using the DeletePrivacyBudgetTemplateRequest method. +// req, resp := client.DeletePrivacyBudgetTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetAnalysisTemplate -func (c *CleanRooms) GetAnalysisTemplateRequest(input *GetAnalysisTemplateInput) (req *request.Request, output *GetAnalysisTemplateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeletePrivacyBudgetTemplate +func (c *CleanRooms) DeletePrivacyBudgetTemplateRequest(input *DeletePrivacyBudgetTemplateInput) (req *request.Request, output *DeletePrivacyBudgetTemplateOutput) { op := &request.Operation{ - Name: opGetAnalysisTemplate, - HTTPMethod: "GET", - HTTPPath: "/memberships/{membershipIdentifier}/analysistemplates/{analysisTemplateIdentifier}", + Name: opDeletePrivacyBudgetTemplate, + HTTPMethod: "DELETE", + HTTPPath: "/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", } if input == nil { - input = &GetAnalysisTemplateInput{} + input = &DeletePrivacyBudgetTemplateInput{} } - output = &GetAnalysisTemplateOutput{} + output = &DeletePrivacyBudgetTemplateOutput{} req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// GetAnalysisTemplate API operation for AWS Clean Rooms Service. +// DeletePrivacyBudgetTemplate API operation for AWS Clean Rooms Service. // -// Retrieves an analysis template. +// Deletes a privacy budget template for a specified 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 AWS Clean Rooms Service's -// API operation GetAnalysisTemplate for usage and error information. +// API operation DeletePrivacyBudgetTemplate for usage and error information. // // Returned Error Types: // @@ -1500,54 +1788,145 @@ func (c *CleanRooms) GetAnalysisTemplateRequest(input *GetAnalysisTemplateInput) // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetAnalysisTemplate -func (c *CleanRooms) GetAnalysisTemplate(input *GetAnalysisTemplateInput) (*GetAnalysisTemplateOutput, error) { - req, out := c.GetAnalysisTemplateRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/DeletePrivacyBudgetTemplate +func (c *CleanRooms) DeletePrivacyBudgetTemplate(input *DeletePrivacyBudgetTemplateInput) (*DeletePrivacyBudgetTemplateOutput, error) { + req, out := c.DeletePrivacyBudgetTemplateRequest(input) return out, req.Send() } -// GetAnalysisTemplateWithContext is the same as GetAnalysisTemplate with the addition of +// DeletePrivacyBudgetTemplateWithContext is the same as DeletePrivacyBudgetTemplate with the addition of // the ability to pass a context and additional request options. // -// See GetAnalysisTemplate for details on how to use this API operation. +// See DeletePrivacyBudgetTemplate 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 *CleanRooms) GetAnalysisTemplateWithContext(ctx aws.Context, input *GetAnalysisTemplateInput, opts ...request.Option) (*GetAnalysisTemplateOutput, error) { - req, out := c.GetAnalysisTemplateRequest(input) +func (c *CleanRooms) DeletePrivacyBudgetTemplateWithContext(ctx aws.Context, input *DeletePrivacyBudgetTemplateInput, opts ...request.Option) (*DeletePrivacyBudgetTemplateOutput, error) { + req, out := c.DeletePrivacyBudgetTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetCollaboration = "GetCollaboration" +const opGetAnalysisTemplate = "GetAnalysisTemplate" -// GetCollaborationRequest generates a "aws/request.Request" representing the -// client's request for the GetCollaboration operation. The "output" return +// GetAnalysisTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetAnalysisTemplate 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 GetCollaboration for more information on using the GetCollaboration +// See GetAnalysisTemplate for more information on using the GetAnalysisTemplate // 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 GetCollaborationRequest method. -// req, resp := client.GetCollaborationRequest(params) +// // Example sending a request using the GetAnalysisTemplateRequest method. +// req, resp := client.GetAnalysisTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetCollaboration -func (c *CleanRooms) GetCollaborationRequest(input *GetCollaborationInput) (req *request.Request, output *GetCollaborationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetAnalysisTemplate +func (c *CleanRooms) GetAnalysisTemplateRequest(input *GetAnalysisTemplateInput) (req *request.Request, output *GetAnalysisTemplateOutput) { + op := &request.Operation{ + Name: opGetAnalysisTemplate, + HTTPMethod: "GET", + HTTPPath: "/memberships/{membershipIdentifier}/analysistemplates/{analysisTemplateIdentifier}", + } + + if input == nil { + input = &GetAnalysisTemplateInput{} + } + + output = &GetAnalysisTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetAnalysisTemplate API operation for AWS Clean Rooms Service. +// +// Retrieves an analysis template. +// +// 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 Clean Rooms Service's +// API operation GetAnalysisTemplate for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetAnalysisTemplate +func (c *CleanRooms) GetAnalysisTemplate(input *GetAnalysisTemplateInput) (*GetAnalysisTemplateOutput, error) { + req, out := c.GetAnalysisTemplateRequest(input) + return out, req.Send() +} + +// GetAnalysisTemplateWithContext is the same as GetAnalysisTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See GetAnalysisTemplate 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 *CleanRooms) GetAnalysisTemplateWithContext(ctx aws.Context, input *GetAnalysisTemplateInput, opts ...request.Option) (*GetAnalysisTemplateOutput, error) { + req, out := c.GetAnalysisTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetCollaboration = "GetCollaboration" + +// GetCollaborationRequest generates a "aws/request.Request" representing the +// client's request for the GetCollaboration 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 GetCollaboration for more information on using the GetCollaboration +// 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 GetCollaborationRequest method. +// req, resp := client.GetCollaborationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetCollaboration +func (c *CleanRooms) GetCollaborationRequest(input *GetCollaborationInput) (req *request.Request, output *GetCollaborationOutput) { op := &request.Operation{ Name: opGetCollaboration, HTTPMethod: "GET", @@ -1701,57 +2080,57 @@ func (c *CleanRooms) GetCollaborationAnalysisTemplateWithContext(ctx aws.Context return out, req.Send() } -const opGetConfiguredTable = "GetConfiguredTable" +const opGetCollaborationConfiguredAudienceModelAssociation = "GetCollaborationConfiguredAudienceModelAssociation" -// GetConfiguredTableRequest generates a "aws/request.Request" representing the -// client's request for the GetConfiguredTable operation. The "output" return +// GetCollaborationConfiguredAudienceModelAssociationRequest generates a "aws/request.Request" representing the +// client's request for the GetCollaborationConfiguredAudienceModelAssociation 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 GetConfiguredTable for more information on using the GetConfiguredTable +// See GetCollaborationConfiguredAudienceModelAssociation for more information on using the GetCollaborationConfiguredAudienceModelAssociation // 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 GetConfiguredTableRequest method. -// req, resp := client.GetConfiguredTableRequest(params) +// // Example sending a request using the GetCollaborationConfiguredAudienceModelAssociationRequest method. +// req, resp := client.GetCollaborationConfiguredAudienceModelAssociationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTable -func (c *CleanRooms) GetConfiguredTableRequest(input *GetConfiguredTableInput) (req *request.Request, output *GetConfiguredTableOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetCollaborationConfiguredAudienceModelAssociation +func (c *CleanRooms) GetCollaborationConfiguredAudienceModelAssociationRequest(input *GetCollaborationConfiguredAudienceModelAssociationInput) (req *request.Request, output *GetCollaborationConfiguredAudienceModelAssociationOutput) { op := &request.Operation{ - Name: opGetConfiguredTable, + Name: opGetCollaborationConfiguredAudienceModelAssociation, HTTPMethod: "GET", - HTTPPath: "/configuredTables/{configuredTableIdentifier}", + HTTPPath: "/collaborations/{collaborationIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", } if input == nil { - input = &GetConfiguredTableInput{} + input = &GetCollaborationConfiguredAudienceModelAssociationInput{} } - output = &GetConfiguredTableOutput{} + output = &GetCollaborationConfiguredAudienceModelAssociationOutput{} req = c.newRequest(op, input, output) return } -// GetConfiguredTable API operation for AWS Clean Rooms Service. +// GetCollaborationConfiguredAudienceModelAssociation API operation for AWS Clean Rooms Service. // -// Retrieves a configured table. +// Retrieves a configured audience model association within a collaboration. // // 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 Clean Rooms Service's -// API operation GetConfiguredTable for usage and error information. +// API operation GetCollaborationConfiguredAudienceModelAssociation for usage and error information. // // Returned Error Types: // @@ -1770,79 +2149,79 @@ func (c *CleanRooms) GetConfiguredTableRequest(input *GetConfiguredTableInput) ( // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTable -func (c *CleanRooms) GetConfiguredTable(input *GetConfiguredTableInput) (*GetConfiguredTableOutput, error) { - req, out := c.GetConfiguredTableRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetCollaborationConfiguredAudienceModelAssociation +func (c *CleanRooms) GetCollaborationConfiguredAudienceModelAssociation(input *GetCollaborationConfiguredAudienceModelAssociationInput) (*GetCollaborationConfiguredAudienceModelAssociationOutput, error) { + req, out := c.GetCollaborationConfiguredAudienceModelAssociationRequest(input) return out, req.Send() } -// GetConfiguredTableWithContext is the same as GetConfiguredTable with the addition of +// GetCollaborationConfiguredAudienceModelAssociationWithContext is the same as GetCollaborationConfiguredAudienceModelAssociation with the addition of // the ability to pass a context and additional request options. // -// See GetConfiguredTable for details on how to use this API operation. +// See GetCollaborationConfiguredAudienceModelAssociation 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 *CleanRooms) GetConfiguredTableWithContext(ctx aws.Context, input *GetConfiguredTableInput, opts ...request.Option) (*GetConfiguredTableOutput, error) { - req, out := c.GetConfiguredTableRequest(input) +func (c *CleanRooms) GetCollaborationConfiguredAudienceModelAssociationWithContext(ctx aws.Context, input *GetCollaborationConfiguredAudienceModelAssociationInput, opts ...request.Option) (*GetCollaborationConfiguredAudienceModelAssociationOutput, error) { + req, out := c.GetCollaborationConfiguredAudienceModelAssociationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetConfiguredTableAnalysisRule = "GetConfiguredTableAnalysisRule" +const opGetCollaborationPrivacyBudgetTemplate = "GetCollaborationPrivacyBudgetTemplate" -// GetConfiguredTableAnalysisRuleRequest generates a "aws/request.Request" representing the -// client's request for the GetConfiguredTableAnalysisRule operation. The "output" return +// GetCollaborationPrivacyBudgetTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetCollaborationPrivacyBudgetTemplate 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 GetConfiguredTableAnalysisRule for more information on using the GetConfiguredTableAnalysisRule +// See GetCollaborationPrivacyBudgetTemplate for more information on using the GetCollaborationPrivacyBudgetTemplate // 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 GetConfiguredTableAnalysisRuleRequest method. -// req, resp := client.GetConfiguredTableAnalysisRuleRequest(params) +// // Example sending a request using the GetCollaborationPrivacyBudgetTemplateRequest method. +// req, resp := client.GetCollaborationPrivacyBudgetTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTableAnalysisRule -func (c *CleanRooms) GetConfiguredTableAnalysisRuleRequest(input *GetConfiguredTableAnalysisRuleInput) (req *request.Request, output *GetConfiguredTableAnalysisRuleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetCollaborationPrivacyBudgetTemplate +func (c *CleanRooms) GetCollaborationPrivacyBudgetTemplateRequest(input *GetCollaborationPrivacyBudgetTemplateInput) (req *request.Request, output *GetCollaborationPrivacyBudgetTemplateOutput) { op := &request.Operation{ - Name: opGetConfiguredTableAnalysisRule, + Name: opGetCollaborationPrivacyBudgetTemplate, HTTPMethod: "GET", - HTTPPath: "/configuredTables/{configuredTableIdentifier}/analysisRule/{analysisRuleType}", + HTTPPath: "/collaborations/{collaborationIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", } if input == nil { - input = &GetConfiguredTableAnalysisRuleInput{} + input = &GetCollaborationPrivacyBudgetTemplateInput{} } - output = &GetConfiguredTableAnalysisRuleOutput{} + output = &GetCollaborationPrivacyBudgetTemplateOutput{} req = c.newRequest(op, input, output) return } -// GetConfiguredTableAnalysisRule API operation for AWS Clean Rooms Service. +// GetCollaborationPrivacyBudgetTemplate API operation for AWS Clean Rooms Service. // -// Retrieves a configured table analysis rule. +// Returns details about a specified privacy budget template. // // 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 Clean Rooms Service's -// API operation GetConfiguredTableAnalysisRule for usage and error information. +// API operation GetCollaborationPrivacyBudgetTemplate for usage and error information. // // Returned Error Types: // @@ -1861,79 +2240,79 @@ func (c *CleanRooms) GetConfiguredTableAnalysisRuleRequest(input *GetConfiguredT // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTableAnalysisRule -func (c *CleanRooms) GetConfiguredTableAnalysisRule(input *GetConfiguredTableAnalysisRuleInput) (*GetConfiguredTableAnalysisRuleOutput, error) { - req, out := c.GetConfiguredTableAnalysisRuleRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetCollaborationPrivacyBudgetTemplate +func (c *CleanRooms) GetCollaborationPrivacyBudgetTemplate(input *GetCollaborationPrivacyBudgetTemplateInput) (*GetCollaborationPrivacyBudgetTemplateOutput, error) { + req, out := c.GetCollaborationPrivacyBudgetTemplateRequest(input) return out, req.Send() } -// GetConfiguredTableAnalysisRuleWithContext is the same as GetConfiguredTableAnalysisRule with the addition of +// GetCollaborationPrivacyBudgetTemplateWithContext is the same as GetCollaborationPrivacyBudgetTemplate with the addition of // the ability to pass a context and additional request options. // -// See GetConfiguredTableAnalysisRule for details on how to use this API operation. +// See GetCollaborationPrivacyBudgetTemplate 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 *CleanRooms) GetConfiguredTableAnalysisRuleWithContext(ctx aws.Context, input *GetConfiguredTableAnalysisRuleInput, opts ...request.Option) (*GetConfiguredTableAnalysisRuleOutput, error) { - req, out := c.GetConfiguredTableAnalysisRuleRequest(input) +func (c *CleanRooms) GetCollaborationPrivacyBudgetTemplateWithContext(ctx aws.Context, input *GetCollaborationPrivacyBudgetTemplateInput, opts ...request.Option) (*GetCollaborationPrivacyBudgetTemplateOutput, error) { + req, out := c.GetCollaborationPrivacyBudgetTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetConfiguredTableAssociation = "GetConfiguredTableAssociation" +const opGetConfiguredAudienceModelAssociation = "GetConfiguredAudienceModelAssociation" -// GetConfiguredTableAssociationRequest generates a "aws/request.Request" representing the -// client's request for the GetConfiguredTableAssociation operation. The "output" return +// GetConfiguredAudienceModelAssociationRequest generates a "aws/request.Request" representing the +// client's request for the GetConfiguredAudienceModelAssociation 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 GetConfiguredTableAssociation for more information on using the GetConfiguredTableAssociation +// See GetConfiguredAudienceModelAssociation for more information on using the GetConfiguredAudienceModelAssociation // 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 GetConfiguredTableAssociationRequest method. -// req, resp := client.GetConfiguredTableAssociationRequest(params) +// // Example sending a request using the GetConfiguredAudienceModelAssociationRequest method. +// req, resp := client.GetConfiguredAudienceModelAssociationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTableAssociation -func (c *CleanRooms) GetConfiguredTableAssociationRequest(input *GetConfiguredTableAssociationInput) (req *request.Request, output *GetConfiguredTableAssociationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredAudienceModelAssociation +func (c *CleanRooms) GetConfiguredAudienceModelAssociationRequest(input *GetConfiguredAudienceModelAssociationInput) (req *request.Request, output *GetConfiguredAudienceModelAssociationOutput) { op := &request.Operation{ - Name: opGetConfiguredTableAssociation, + Name: opGetConfiguredAudienceModelAssociation, HTTPMethod: "GET", - HTTPPath: "/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}", + HTTPPath: "/memberships/{membershipIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", } if input == nil { - input = &GetConfiguredTableAssociationInput{} + input = &GetConfiguredAudienceModelAssociationInput{} } - output = &GetConfiguredTableAssociationOutput{} + output = &GetConfiguredAudienceModelAssociationOutput{} req = c.newRequest(op, input, output) return } -// GetConfiguredTableAssociation API operation for AWS Clean Rooms Service. +// GetConfiguredAudienceModelAssociation API operation for AWS Clean Rooms Service. // -// Retrieves a configured table association. +// Returns information about a configured audience model association. // // 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 Clean Rooms Service's -// API operation GetConfiguredTableAssociation for usage and error information. +// API operation GetConfiguredAudienceModelAssociation for usage and error information. // // Returned Error Types: // @@ -1952,79 +2331,79 @@ func (c *CleanRooms) GetConfiguredTableAssociationRequest(input *GetConfiguredTa // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTableAssociation -func (c *CleanRooms) GetConfiguredTableAssociation(input *GetConfiguredTableAssociationInput) (*GetConfiguredTableAssociationOutput, error) { - req, out := c.GetConfiguredTableAssociationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredAudienceModelAssociation +func (c *CleanRooms) GetConfiguredAudienceModelAssociation(input *GetConfiguredAudienceModelAssociationInput) (*GetConfiguredAudienceModelAssociationOutput, error) { + req, out := c.GetConfiguredAudienceModelAssociationRequest(input) return out, req.Send() } -// GetConfiguredTableAssociationWithContext is the same as GetConfiguredTableAssociation with the addition of +// GetConfiguredAudienceModelAssociationWithContext is the same as GetConfiguredAudienceModelAssociation with the addition of // the ability to pass a context and additional request options. // -// See GetConfiguredTableAssociation for details on how to use this API operation. +// See GetConfiguredAudienceModelAssociation 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 *CleanRooms) GetConfiguredTableAssociationWithContext(ctx aws.Context, input *GetConfiguredTableAssociationInput, opts ...request.Option) (*GetConfiguredTableAssociationOutput, error) { - req, out := c.GetConfiguredTableAssociationRequest(input) +func (c *CleanRooms) GetConfiguredAudienceModelAssociationWithContext(ctx aws.Context, input *GetConfiguredAudienceModelAssociationInput, opts ...request.Option) (*GetConfiguredAudienceModelAssociationOutput, error) { + req, out := c.GetConfiguredAudienceModelAssociationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetMembership = "GetMembership" +const opGetConfiguredTable = "GetConfiguredTable" -// GetMembershipRequest generates a "aws/request.Request" representing the -// client's request for the GetMembership operation. The "output" return +// GetConfiguredTableRequest generates a "aws/request.Request" representing the +// client's request for the GetConfiguredTable 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 GetMembership for more information on using the GetMembership +// See GetConfiguredTable for more information on using the GetConfiguredTable // 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 GetMembershipRequest method. -// req, resp := client.GetMembershipRequest(params) +// // Example sending a request using the GetConfiguredTableRequest method. +// req, resp := client.GetConfiguredTableRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetMembership -func (c *CleanRooms) GetMembershipRequest(input *GetMembershipInput) (req *request.Request, output *GetMembershipOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTable +func (c *CleanRooms) GetConfiguredTableRequest(input *GetConfiguredTableInput) (req *request.Request, output *GetConfiguredTableOutput) { op := &request.Operation{ - Name: opGetMembership, + Name: opGetConfiguredTable, HTTPMethod: "GET", - HTTPPath: "/memberships/{membershipIdentifier}", + HTTPPath: "/configuredTables/{configuredTableIdentifier}", } if input == nil { - input = &GetMembershipInput{} + input = &GetConfiguredTableInput{} } - output = &GetMembershipOutput{} + output = &GetConfiguredTableOutput{} req = c.newRequest(op, input, output) return } -// GetMembership API operation for AWS Clean Rooms Service. +// GetConfiguredTable API operation for AWS Clean Rooms Service. // -// Retrieves a specified membership for an identifier. +// Retrieves a configured table. // // 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 Clean Rooms Service's -// API operation GetMembership for usage and error information. +// API operation GetConfiguredTable for usage and error information. // // Returned Error Types: // @@ -2043,79 +2422,79 @@ func (c *CleanRooms) GetMembershipRequest(input *GetMembershipInput) (req *reque // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetMembership -func (c *CleanRooms) GetMembership(input *GetMembershipInput) (*GetMembershipOutput, error) { - req, out := c.GetMembershipRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTable +func (c *CleanRooms) GetConfiguredTable(input *GetConfiguredTableInput) (*GetConfiguredTableOutput, error) { + req, out := c.GetConfiguredTableRequest(input) return out, req.Send() } -// GetMembershipWithContext is the same as GetMembership with the addition of +// GetConfiguredTableWithContext is the same as GetConfiguredTable with the addition of // the ability to pass a context and additional request options. // -// See GetMembership for details on how to use this API operation. +// See GetConfiguredTable 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 *CleanRooms) GetMembershipWithContext(ctx aws.Context, input *GetMembershipInput, opts ...request.Option) (*GetMembershipOutput, error) { - req, out := c.GetMembershipRequest(input) +func (c *CleanRooms) GetConfiguredTableWithContext(ctx aws.Context, input *GetConfiguredTableInput, opts ...request.Option) (*GetConfiguredTableOutput, error) { + req, out := c.GetConfiguredTableRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetProtectedQuery = "GetProtectedQuery" +const opGetConfiguredTableAnalysisRule = "GetConfiguredTableAnalysisRule" -// GetProtectedQueryRequest generates a "aws/request.Request" representing the -// client's request for the GetProtectedQuery operation. The "output" return +// GetConfiguredTableAnalysisRuleRequest generates a "aws/request.Request" representing the +// client's request for the GetConfiguredTableAnalysisRule 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 GetProtectedQuery for more information on using the GetProtectedQuery +// See GetConfiguredTableAnalysisRule for more information on using the GetConfiguredTableAnalysisRule // 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 GetProtectedQueryRequest method. -// req, resp := client.GetProtectedQueryRequest(params) +// // Example sending a request using the GetConfiguredTableAnalysisRuleRequest method. +// req, resp := client.GetConfiguredTableAnalysisRuleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetProtectedQuery -func (c *CleanRooms) GetProtectedQueryRequest(input *GetProtectedQueryInput) (req *request.Request, output *GetProtectedQueryOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTableAnalysisRule +func (c *CleanRooms) GetConfiguredTableAnalysisRuleRequest(input *GetConfiguredTableAnalysisRuleInput) (req *request.Request, output *GetConfiguredTableAnalysisRuleOutput) { op := &request.Operation{ - Name: opGetProtectedQuery, + Name: opGetConfiguredTableAnalysisRule, HTTPMethod: "GET", - HTTPPath: "/memberships/{membershipIdentifier}/protectedQueries/{protectedQueryIdentifier}", + HTTPPath: "/configuredTables/{configuredTableIdentifier}/analysisRule/{analysisRuleType}", } if input == nil { - input = &GetProtectedQueryInput{} + input = &GetConfiguredTableAnalysisRuleInput{} } - output = &GetProtectedQueryOutput{} + output = &GetConfiguredTableAnalysisRuleOutput{} req = c.newRequest(op, input, output) return } -// GetProtectedQuery API operation for AWS Clean Rooms Service. +// GetConfiguredTableAnalysisRule API operation for AWS Clean Rooms Service. // -// Returns query processing metadata. +// Retrieves a configured table analysis rule. // // 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 Clean Rooms Service's -// API operation GetProtectedQuery for usage and error information. +// API operation GetConfiguredTableAnalysisRule for usage and error information. // // Returned Error Types: // @@ -2134,79 +2513,79 @@ func (c *CleanRooms) GetProtectedQueryRequest(input *GetProtectedQueryInput) (re // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetProtectedQuery -func (c *CleanRooms) GetProtectedQuery(input *GetProtectedQueryInput) (*GetProtectedQueryOutput, error) { - req, out := c.GetProtectedQueryRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTableAnalysisRule +func (c *CleanRooms) GetConfiguredTableAnalysisRule(input *GetConfiguredTableAnalysisRuleInput) (*GetConfiguredTableAnalysisRuleOutput, error) { + req, out := c.GetConfiguredTableAnalysisRuleRequest(input) return out, req.Send() } -// GetProtectedQueryWithContext is the same as GetProtectedQuery with the addition of +// GetConfiguredTableAnalysisRuleWithContext is the same as GetConfiguredTableAnalysisRule with the addition of // the ability to pass a context and additional request options. // -// See GetProtectedQuery for details on how to use this API operation. +// See GetConfiguredTableAnalysisRule 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 *CleanRooms) GetProtectedQueryWithContext(ctx aws.Context, input *GetProtectedQueryInput, opts ...request.Option) (*GetProtectedQueryOutput, error) { - req, out := c.GetProtectedQueryRequest(input) +func (c *CleanRooms) GetConfiguredTableAnalysisRuleWithContext(ctx aws.Context, input *GetConfiguredTableAnalysisRuleInput, opts ...request.Option) (*GetConfiguredTableAnalysisRuleOutput, error) { + req, out := c.GetConfiguredTableAnalysisRuleRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSchema = "GetSchema" +const opGetConfiguredTableAssociation = "GetConfiguredTableAssociation" -// GetSchemaRequest generates a "aws/request.Request" representing the -// client's request for the GetSchema operation. The "output" return +// GetConfiguredTableAssociationRequest generates a "aws/request.Request" representing the +// client's request for the GetConfiguredTableAssociation 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 GetSchema for more information on using the GetSchema +// See GetConfiguredTableAssociation for more information on using the GetConfiguredTableAssociation // 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 GetSchemaRequest method. -// req, resp := client.GetSchemaRequest(params) +// // Example sending a request using the GetConfiguredTableAssociationRequest method. +// req, resp := client.GetConfiguredTableAssociationRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchema -func (c *CleanRooms) GetSchemaRequest(input *GetSchemaInput) (req *request.Request, output *GetSchemaOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTableAssociation +func (c *CleanRooms) GetConfiguredTableAssociationRequest(input *GetConfiguredTableAssociationInput) (req *request.Request, output *GetConfiguredTableAssociationOutput) { op := &request.Operation{ - Name: opGetSchema, + Name: opGetConfiguredTableAssociation, HTTPMethod: "GET", - HTTPPath: "/collaborations/{collaborationIdentifier}/schemas/{name}", + HTTPPath: "/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}", } if input == nil { - input = &GetSchemaInput{} + input = &GetConfiguredTableAssociationInput{} } - output = &GetSchemaOutput{} + output = &GetConfiguredTableAssociationOutput{} req = c.newRequest(op, input, output) return } -// GetSchema API operation for AWS Clean Rooms Service. +// GetConfiguredTableAssociation API operation for AWS Clean Rooms Service. // -// Retrieves the schema for a relation within a collaboration. +// Retrieves a configured table association. // // 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 Clean Rooms Service's -// API operation GetSchema for usage and error information. +// API operation GetConfiguredTableAssociation for usage and error information. // // Returned Error Types: // @@ -2225,79 +2604,79 @@ func (c *CleanRooms) GetSchemaRequest(input *GetSchemaInput) (req *request.Reque // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchema -func (c *CleanRooms) GetSchema(input *GetSchemaInput) (*GetSchemaOutput, error) { - req, out := c.GetSchemaRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetConfiguredTableAssociation +func (c *CleanRooms) GetConfiguredTableAssociation(input *GetConfiguredTableAssociationInput) (*GetConfiguredTableAssociationOutput, error) { + req, out := c.GetConfiguredTableAssociationRequest(input) return out, req.Send() } -// GetSchemaWithContext is the same as GetSchema with the addition of +// GetConfiguredTableAssociationWithContext is the same as GetConfiguredTableAssociation with the addition of // the ability to pass a context and additional request options. // -// See GetSchema for details on how to use this API operation. +// See GetConfiguredTableAssociation 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 *CleanRooms) GetSchemaWithContext(ctx aws.Context, input *GetSchemaInput, opts ...request.Option) (*GetSchemaOutput, error) { - req, out := c.GetSchemaRequest(input) +func (c *CleanRooms) GetConfiguredTableAssociationWithContext(ctx aws.Context, input *GetConfiguredTableAssociationInput, opts ...request.Option) (*GetConfiguredTableAssociationOutput, error) { + req, out := c.GetConfiguredTableAssociationRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opGetSchemaAnalysisRule = "GetSchemaAnalysisRule" +const opGetMembership = "GetMembership" -// GetSchemaAnalysisRuleRequest generates a "aws/request.Request" representing the -// client's request for the GetSchemaAnalysisRule operation. The "output" return +// GetMembershipRequest generates a "aws/request.Request" representing the +// client's request for the GetMembership 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 GetSchemaAnalysisRule for more information on using the GetSchemaAnalysisRule +// See GetMembership for more information on using the GetMembership // 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 GetSchemaAnalysisRuleRequest method. -// req, resp := client.GetSchemaAnalysisRuleRequest(params) +// // Example sending a request using the GetMembershipRequest method. +// req, resp := client.GetMembershipRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchemaAnalysisRule -func (c *CleanRooms) GetSchemaAnalysisRuleRequest(input *GetSchemaAnalysisRuleInput) (req *request.Request, output *GetSchemaAnalysisRuleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetMembership +func (c *CleanRooms) GetMembershipRequest(input *GetMembershipInput) (req *request.Request, output *GetMembershipOutput) { op := &request.Operation{ - Name: opGetSchemaAnalysisRule, + Name: opGetMembership, HTTPMethod: "GET", - HTTPPath: "/collaborations/{collaborationIdentifier}/schemas/{name}/analysisRule/{type}", + HTTPPath: "/memberships/{membershipIdentifier}", } if input == nil { - input = &GetSchemaAnalysisRuleInput{} + input = &GetMembershipInput{} } - output = &GetSchemaAnalysisRuleOutput{} + output = &GetMembershipOutput{} req = c.newRequest(op, input, output) return } -// GetSchemaAnalysisRule API operation for AWS Clean Rooms Service. +// GetMembership API operation for AWS Clean Rooms Service. // -// Retrieves a schema analysis rule. +// Retrieves a specified membership for an identifier. // // 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 Clean Rooms Service's -// API operation GetSchemaAnalysisRule for usage and error information. +// API operation GetMembership for usage and error information. // // Returned Error Types: // @@ -2316,85 +2695,79 @@ func (c *CleanRooms) GetSchemaAnalysisRuleRequest(input *GetSchemaAnalysisRuleIn // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchemaAnalysisRule -func (c *CleanRooms) GetSchemaAnalysisRule(input *GetSchemaAnalysisRuleInput) (*GetSchemaAnalysisRuleOutput, error) { - req, out := c.GetSchemaAnalysisRuleRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetMembership +func (c *CleanRooms) GetMembership(input *GetMembershipInput) (*GetMembershipOutput, error) { + req, out := c.GetMembershipRequest(input) return out, req.Send() } -// GetSchemaAnalysisRuleWithContext is the same as GetSchemaAnalysisRule with the addition of +// GetMembershipWithContext is the same as GetMembership with the addition of // the ability to pass a context and additional request options. // -// See GetSchemaAnalysisRule for details on how to use this API operation. +// See GetMembership 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 *CleanRooms) GetSchemaAnalysisRuleWithContext(ctx aws.Context, input *GetSchemaAnalysisRuleInput, opts ...request.Option) (*GetSchemaAnalysisRuleOutput, error) { - req, out := c.GetSchemaAnalysisRuleRequest(input) +func (c *CleanRooms) GetMembershipWithContext(ctx aws.Context, input *GetMembershipInput, opts ...request.Option) (*GetMembershipOutput, error) { + req, out := c.GetMembershipRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opListAnalysisTemplates = "ListAnalysisTemplates" +const opGetPrivacyBudgetTemplate = "GetPrivacyBudgetTemplate" -// ListAnalysisTemplatesRequest generates a "aws/request.Request" representing the -// client's request for the ListAnalysisTemplates operation. The "output" return +// GetPrivacyBudgetTemplateRequest generates a "aws/request.Request" representing the +// client's request for the GetPrivacyBudgetTemplate 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 ListAnalysisTemplates for more information on using the ListAnalysisTemplates +// See GetPrivacyBudgetTemplate for more information on using the GetPrivacyBudgetTemplate // 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 ListAnalysisTemplatesRequest method. -// req, resp := client.ListAnalysisTemplatesRequest(params) +// // Example sending a request using the GetPrivacyBudgetTemplateRequest method. +// req, resp := client.GetPrivacyBudgetTemplateRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListAnalysisTemplates -func (c *CleanRooms) ListAnalysisTemplatesRequest(input *ListAnalysisTemplatesInput) (req *request.Request, output *ListAnalysisTemplatesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetPrivacyBudgetTemplate +func (c *CleanRooms) GetPrivacyBudgetTemplateRequest(input *GetPrivacyBudgetTemplateInput) (req *request.Request, output *GetPrivacyBudgetTemplateOutput) { op := &request.Operation{ - Name: opListAnalysisTemplates, + Name: opGetPrivacyBudgetTemplate, HTTPMethod: "GET", - HTTPPath: "/memberships/{membershipIdentifier}/analysistemplates", - Paginator: &request.Paginator{ - InputTokens: []string{"nextToken"}, - OutputTokens: []string{"nextToken"}, - LimitToken: "maxResults", - TruncationToken: "", - }, + HTTPPath: "/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", } if input == nil { - input = &ListAnalysisTemplatesInput{} + input = &GetPrivacyBudgetTemplateInput{} } - output = &ListAnalysisTemplatesOutput{} + output = &GetPrivacyBudgetTemplateOutput{} req = c.newRequest(op, input, output) return } -// ListAnalysisTemplates API operation for AWS Clean Rooms Service. +// GetPrivacyBudgetTemplate API operation for AWS Clean Rooms Service. // -// Lists analysis templates that the caller owns. +// Returns details for a specified privacy budget template. // // 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 Clean Rooms Service's -// API operation ListAnalysisTemplates for usage and error information. +// API operation GetPrivacyBudgetTemplate for usage and error information. // // Returned Error Types: // @@ -2413,136 +2786,79 @@ func (c *CleanRooms) ListAnalysisTemplatesRequest(input *ListAnalysisTemplatesIn // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListAnalysisTemplates -func (c *CleanRooms) ListAnalysisTemplates(input *ListAnalysisTemplatesInput) (*ListAnalysisTemplatesOutput, error) { - req, out := c.ListAnalysisTemplatesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetPrivacyBudgetTemplate +func (c *CleanRooms) GetPrivacyBudgetTemplate(input *GetPrivacyBudgetTemplateInput) (*GetPrivacyBudgetTemplateOutput, error) { + req, out := c.GetPrivacyBudgetTemplateRequest(input) return out, req.Send() } -// ListAnalysisTemplatesWithContext is the same as ListAnalysisTemplates with the addition of +// GetPrivacyBudgetTemplateWithContext is the same as GetPrivacyBudgetTemplate with the addition of // the ability to pass a context and additional request options. // -// See ListAnalysisTemplates for details on how to use this API operation. +// See GetPrivacyBudgetTemplate 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 *CleanRooms) ListAnalysisTemplatesWithContext(ctx aws.Context, input *ListAnalysisTemplatesInput, opts ...request.Option) (*ListAnalysisTemplatesOutput, error) { - req, out := c.ListAnalysisTemplatesRequest(input) +func (c *CleanRooms) GetPrivacyBudgetTemplateWithContext(ctx aws.Context, input *GetPrivacyBudgetTemplateInput, opts ...request.Option) (*GetPrivacyBudgetTemplateOutput, error) { + req, out := c.GetPrivacyBudgetTemplateRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListAnalysisTemplatesPages iterates over the pages of a ListAnalysisTemplates operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListAnalysisTemplates 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 ListAnalysisTemplates operation. -// pageNum := 0 -// err := client.ListAnalysisTemplatesPages(params, -// func(page *cleanrooms.ListAnalysisTemplatesOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -func (c *CleanRooms) ListAnalysisTemplatesPages(input *ListAnalysisTemplatesInput, fn func(*ListAnalysisTemplatesOutput, bool) bool) error { - return c.ListAnalysisTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListAnalysisTemplatesPagesWithContext same as ListAnalysisTemplatesPages 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 *CleanRooms) ListAnalysisTemplatesPagesWithContext(ctx aws.Context, input *ListAnalysisTemplatesInput, fn func(*ListAnalysisTemplatesOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListAnalysisTemplatesInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListAnalysisTemplatesRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListAnalysisTemplatesOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListCollaborationAnalysisTemplates = "ListCollaborationAnalysisTemplates" +const opGetProtectedQuery = "GetProtectedQuery" -// ListCollaborationAnalysisTemplatesRequest generates a "aws/request.Request" representing the -// client's request for the ListCollaborationAnalysisTemplates operation. The "output" return +// GetProtectedQueryRequest generates a "aws/request.Request" representing the +// client's request for the GetProtectedQuery 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 ListCollaborationAnalysisTemplates for more information on using the ListCollaborationAnalysisTemplates +// See GetProtectedQuery for more information on using the GetProtectedQuery // 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 ListCollaborationAnalysisTemplatesRequest method. -// req, resp := client.ListCollaborationAnalysisTemplatesRequest(params) +// // Example sending a request using the GetProtectedQueryRequest method. +// req, resp := client.GetProtectedQueryRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationAnalysisTemplates -func (c *CleanRooms) ListCollaborationAnalysisTemplatesRequest(input *ListCollaborationAnalysisTemplatesInput) (req *request.Request, output *ListCollaborationAnalysisTemplatesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetProtectedQuery +func (c *CleanRooms) GetProtectedQueryRequest(input *GetProtectedQueryInput) (req *request.Request, output *GetProtectedQueryOutput) { op := &request.Operation{ - Name: opListCollaborationAnalysisTemplates, + Name: opGetProtectedQuery, HTTPMethod: "GET", - HTTPPath: "/collaborations/{collaborationIdentifier}/analysistemplates", - Paginator: &request.Paginator{ - InputTokens: []string{"nextToken"}, - OutputTokens: []string{"nextToken"}, - LimitToken: "maxResults", - TruncationToken: "", - }, + HTTPPath: "/memberships/{membershipIdentifier}/protectedQueries/{protectedQueryIdentifier}", } if input == nil { - input = &ListCollaborationAnalysisTemplatesInput{} + input = &GetProtectedQueryInput{} } - output = &ListCollaborationAnalysisTemplatesOutput{} + output = &GetProtectedQueryOutput{} req = c.newRequest(op, input, output) return } -// ListCollaborationAnalysisTemplates API operation for AWS Clean Rooms Service. +// GetProtectedQuery API operation for AWS Clean Rooms Service. // -// Lists analysis templates within a collaboration. +// Returns query processing metadata. // // 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 Clean Rooms Service's -// API operation ListCollaborationAnalysisTemplates for usage and error information. +// API operation GetProtectedQuery for usage and error information. // // Returned Error Types: // @@ -2561,139 +2877,176 @@ func (c *CleanRooms) ListCollaborationAnalysisTemplatesRequest(input *ListCollab // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationAnalysisTemplates -func (c *CleanRooms) ListCollaborationAnalysisTemplates(input *ListCollaborationAnalysisTemplatesInput) (*ListCollaborationAnalysisTemplatesOutput, error) { - req, out := c.ListCollaborationAnalysisTemplatesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetProtectedQuery +func (c *CleanRooms) GetProtectedQuery(input *GetProtectedQueryInput) (*GetProtectedQueryOutput, error) { + req, out := c.GetProtectedQueryRequest(input) return out, req.Send() } -// ListCollaborationAnalysisTemplatesWithContext is the same as ListCollaborationAnalysisTemplates with the addition of +// GetProtectedQueryWithContext is the same as GetProtectedQuery with the addition of // the ability to pass a context and additional request options. // -// See ListCollaborationAnalysisTemplates for details on how to use this API operation. +// See GetProtectedQuery 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 *CleanRooms) ListCollaborationAnalysisTemplatesWithContext(ctx aws.Context, input *ListCollaborationAnalysisTemplatesInput, opts ...request.Option) (*ListCollaborationAnalysisTemplatesOutput, error) { - req, out := c.ListCollaborationAnalysisTemplatesRequest(input) +func (c *CleanRooms) GetProtectedQueryWithContext(ctx aws.Context, input *GetProtectedQueryInput, opts ...request.Option) (*GetProtectedQueryOutput, error) { + req, out := c.GetProtectedQueryRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListCollaborationAnalysisTemplatesPages iterates over the pages of a ListCollaborationAnalysisTemplates operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. +const opGetSchema = "GetSchema" + +// GetSchemaRequest generates a "aws/request.Request" representing the +// client's request for the GetSchema operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. // -// See ListCollaborationAnalysisTemplates method for more information on how to use this operation. +// 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. // -// Note: This operation can generate multiple requests to a service. +// See GetSchema for more information on using the GetSchema +// API call, and error handling. // -// // Example iterating over at most 3 pages of a ListCollaborationAnalysisTemplates operation. -// pageNum := 0 -// err := client.ListCollaborationAnalysisTemplatesPages(params, -// func(page *cleanrooms.ListCollaborationAnalysisTemplatesOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -func (c *CleanRooms) ListCollaborationAnalysisTemplatesPages(input *ListCollaborationAnalysisTemplatesInput, fn func(*ListCollaborationAnalysisTemplatesOutput, bool) bool) error { - return c.ListCollaborationAnalysisTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListCollaborationAnalysisTemplatesPagesWithContext same as ListCollaborationAnalysisTemplatesPages except -// it takes a Context and allows setting request options on the pages. +// 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. // -// 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 *CleanRooms) ListCollaborationAnalysisTemplatesPagesWithContext(ctx aws.Context, input *ListCollaborationAnalysisTemplatesInput, fn func(*ListCollaborationAnalysisTemplatesOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListCollaborationAnalysisTemplatesInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListCollaborationAnalysisTemplatesRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, +// // Example sending a request using the GetSchemaRequest method. +// req, resp := client.GetSchemaRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchema +func (c *CleanRooms) GetSchemaRequest(input *GetSchemaInput) (req *request.Request, output *GetSchemaOutput) { + op := &request.Operation{ + Name: opGetSchema, + HTTPMethod: "GET", + HTTPPath: "/collaborations/{collaborationIdentifier}/schemas/{name}", } - for p.Next() { - if !fn(p.Page().(*ListCollaborationAnalysisTemplatesOutput), !p.HasNextPage()) { - break - } + if input == nil { + input = &GetSchemaInput{} } - return p.Err() + output = &GetSchemaOutput{} + req = c.newRequest(op, input, output) + return } -const opListCollaborations = "ListCollaborations" +// GetSchema API operation for AWS Clean Rooms Service. +// +// Retrieves the schema for a relation within a collaboration. +// +// 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 Clean Rooms Service's +// API operation GetSchema for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchema +func (c *CleanRooms) GetSchema(input *GetSchemaInput) (*GetSchemaOutput, error) { + req, out := c.GetSchemaRequest(input) + return out, req.Send() +} -// ListCollaborationsRequest generates a "aws/request.Request" representing the -// client's request for the ListCollaborations operation. The "output" return +// GetSchemaWithContext is the same as GetSchema with the addition of +// the ability to pass a context and additional request options. +// +// See GetSchema 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 *CleanRooms) GetSchemaWithContext(ctx aws.Context, input *GetSchemaInput, opts ...request.Option) (*GetSchemaOutput, error) { + req, out := c.GetSchemaRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetSchemaAnalysisRule = "GetSchemaAnalysisRule" + +// GetSchemaAnalysisRuleRequest generates a "aws/request.Request" representing the +// client's request for the GetSchemaAnalysisRule 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 ListCollaborations for more information on using the ListCollaborations +// See GetSchemaAnalysisRule for more information on using the GetSchemaAnalysisRule // 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 ListCollaborationsRequest method. -// req, resp := client.ListCollaborationsRequest(params) +// // Example sending a request using the GetSchemaAnalysisRuleRequest method. +// req, resp := client.GetSchemaAnalysisRuleRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborations -func (c *CleanRooms) ListCollaborationsRequest(input *ListCollaborationsInput) (req *request.Request, output *ListCollaborationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchemaAnalysisRule +func (c *CleanRooms) GetSchemaAnalysisRuleRequest(input *GetSchemaAnalysisRuleInput) (req *request.Request, output *GetSchemaAnalysisRuleOutput) { op := &request.Operation{ - Name: opListCollaborations, + Name: opGetSchemaAnalysisRule, HTTPMethod: "GET", - HTTPPath: "/collaborations", - Paginator: &request.Paginator{ - InputTokens: []string{"nextToken"}, - OutputTokens: []string{"nextToken"}, - LimitToken: "maxResults", - TruncationToken: "", - }, + HTTPPath: "/collaborations/{collaborationIdentifier}/schemas/{name}/analysisRule/{type}", } if input == nil { - input = &ListCollaborationsInput{} + input = &GetSchemaAnalysisRuleInput{} } - output = &ListCollaborationsOutput{} + output = &GetSchemaAnalysisRuleOutput{} req = c.newRequest(op, input, output) return } -// ListCollaborations API operation for AWS Clean Rooms Service. +// GetSchemaAnalysisRule API operation for AWS Clean Rooms Service. // -// Lists collaborations the caller owns, is active in, or has been invited to. +// Retrieves a schema analysis rule. // // 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 Clean Rooms Service's -// API operation ListCollaborations for usage and error information. +// API operation GetSchemaAnalysisRule for usage and error information. // // Returned Error Types: // +// - ResourceNotFoundException +// Request references a resource which does not exist. +// // - InternalServerException // Unexpected error during processing of request. // @@ -2706,109 +3059,58 @@ func (c *CleanRooms) ListCollaborationsRequest(input *ListCollaborationsInput) ( // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborations -func (c *CleanRooms) ListCollaborations(input *ListCollaborationsInput) (*ListCollaborationsOutput, error) { - req, out := c.ListCollaborationsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/GetSchemaAnalysisRule +func (c *CleanRooms) GetSchemaAnalysisRule(input *GetSchemaAnalysisRuleInput) (*GetSchemaAnalysisRuleOutput, error) { + req, out := c.GetSchemaAnalysisRuleRequest(input) return out, req.Send() } -// ListCollaborationsWithContext is the same as ListCollaborations with the addition of +// GetSchemaAnalysisRuleWithContext is the same as GetSchemaAnalysisRule with the addition of // the ability to pass a context and additional request options. // -// See ListCollaborations for details on how to use this API operation. +// See GetSchemaAnalysisRule 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 *CleanRooms) ListCollaborationsWithContext(ctx aws.Context, input *ListCollaborationsInput, opts ...request.Option) (*ListCollaborationsOutput, error) { - req, out := c.ListCollaborationsRequest(input) +func (c *CleanRooms) GetSchemaAnalysisRuleWithContext(ctx aws.Context, input *GetSchemaAnalysisRuleInput, opts ...request.Option) (*GetSchemaAnalysisRuleOutput, error) { + req, out := c.GetSchemaAnalysisRuleRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListCollaborationsPages iterates over the pages of a ListCollaborations operation, -// calling the "fn" function with the response data for each page. To stop -// iterating, return false from the fn function. -// -// See ListCollaborations 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 ListCollaborations operation. -// pageNum := 0 -// err := client.ListCollaborationsPages(params, -// func(page *cleanrooms.ListCollaborationsOutput, lastPage bool) bool { -// pageNum++ -// fmt.Println(page) -// return pageNum <= 3 -// }) -func (c *CleanRooms) ListCollaborationsPages(input *ListCollaborationsInput, fn func(*ListCollaborationsOutput, bool) bool) error { - return c.ListCollaborationsPagesWithContext(aws.BackgroundContext(), input, fn) -} - -// ListCollaborationsPagesWithContext same as ListCollaborationsPages 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 *CleanRooms) ListCollaborationsPagesWithContext(ctx aws.Context, input *ListCollaborationsInput, fn func(*ListCollaborationsOutput, bool) bool, opts ...request.Option) error { - p := request.Pagination{ - NewRequest: func() (*request.Request, error) { - var inCpy *ListCollaborationsInput - if input != nil { - tmp := *input - inCpy = &tmp - } - req, _ := c.ListCollaborationsRequest(inCpy) - req.SetContext(ctx) - req.ApplyOptions(opts...) - return req, nil - }, - } - - for p.Next() { - if !fn(p.Page().(*ListCollaborationsOutput), !p.HasNextPage()) { - break - } - } - - return p.Err() -} - -const opListConfiguredTableAssociations = "ListConfiguredTableAssociations" +const opListAnalysisTemplates = "ListAnalysisTemplates" -// ListConfiguredTableAssociationsRequest generates a "aws/request.Request" representing the -// client's request for the ListConfiguredTableAssociations operation. The "output" return +// ListAnalysisTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListAnalysisTemplates 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 ListConfiguredTableAssociations for more information on using the ListConfiguredTableAssociations +// See ListAnalysisTemplates for more information on using the ListAnalysisTemplates // 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 ListConfiguredTableAssociationsRequest method. -// req, resp := client.ListConfiguredTableAssociationsRequest(params) +// // Example sending a request using the ListAnalysisTemplatesRequest method. +// req, resp := client.ListAnalysisTemplatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListConfiguredTableAssociations -func (c *CleanRooms) ListConfiguredTableAssociationsRequest(input *ListConfiguredTableAssociationsInput) (req *request.Request, output *ListConfiguredTableAssociationsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListAnalysisTemplates +func (c *CleanRooms) ListAnalysisTemplatesRequest(input *ListAnalysisTemplatesInput) (req *request.Request, output *ListAnalysisTemplatesOutput) { op := &request.Operation{ - Name: opListConfiguredTableAssociations, + Name: opListAnalysisTemplates, HTTPMethod: "GET", - HTTPPath: "/memberships/{membershipIdentifier}/configuredTableAssociations", + HTTPPath: "/memberships/{membershipIdentifier}/analysistemplates", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -2818,24 +3120,24 @@ func (c *CleanRooms) ListConfiguredTableAssociationsRequest(input *ListConfigure } if input == nil { - input = &ListConfiguredTableAssociationsInput{} + input = &ListAnalysisTemplatesInput{} } - output = &ListConfiguredTableAssociationsOutput{} + output = &ListAnalysisTemplatesOutput{} req = c.newRequest(op, input, output) return } -// ListConfiguredTableAssociations API operation for AWS Clean Rooms Service. +// ListAnalysisTemplates API operation for AWS Clean Rooms Service. // -// Lists configured table associations for a membership. +// Lists analysis templates that the caller owns. // // 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 Clean Rooms Service's -// API operation ListConfiguredTableAssociations for usage and error information. +// API operation ListAnalysisTemplates for usage and error information. // // Returned Error Types: // @@ -2854,64 +3156,64 @@ func (c *CleanRooms) ListConfiguredTableAssociationsRequest(input *ListConfigure // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListConfiguredTableAssociations -func (c *CleanRooms) ListConfiguredTableAssociations(input *ListConfiguredTableAssociationsInput) (*ListConfiguredTableAssociationsOutput, error) { - req, out := c.ListConfiguredTableAssociationsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListAnalysisTemplates +func (c *CleanRooms) ListAnalysisTemplates(input *ListAnalysisTemplatesInput) (*ListAnalysisTemplatesOutput, error) { + req, out := c.ListAnalysisTemplatesRequest(input) return out, req.Send() } -// ListConfiguredTableAssociationsWithContext is the same as ListConfiguredTableAssociations with the addition of +// ListAnalysisTemplatesWithContext is the same as ListAnalysisTemplates with the addition of // the ability to pass a context and additional request options. // -// See ListConfiguredTableAssociations for details on how to use this API operation. +// See ListAnalysisTemplates 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 *CleanRooms) ListConfiguredTableAssociationsWithContext(ctx aws.Context, input *ListConfiguredTableAssociationsInput, opts ...request.Option) (*ListConfiguredTableAssociationsOutput, error) { - req, out := c.ListConfiguredTableAssociationsRequest(input) +func (c *CleanRooms) ListAnalysisTemplatesWithContext(ctx aws.Context, input *ListAnalysisTemplatesInput, opts ...request.Option) (*ListAnalysisTemplatesOutput, error) { + req, out := c.ListAnalysisTemplatesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListConfiguredTableAssociationsPages iterates over the pages of a ListConfiguredTableAssociations operation, +// ListAnalysisTemplatesPages iterates over the pages of a ListAnalysisTemplates operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListConfiguredTableAssociations method for more information on how to use this operation. +// See ListAnalysisTemplates 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 ListConfiguredTableAssociations operation. +// // Example iterating over at most 3 pages of a ListAnalysisTemplates operation. // pageNum := 0 -// err := client.ListConfiguredTableAssociationsPages(params, -// func(page *cleanrooms.ListConfiguredTableAssociationsOutput, lastPage bool) bool { +// err := client.ListAnalysisTemplatesPages(params, +// func(page *cleanrooms.ListAnalysisTemplatesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CleanRooms) ListConfiguredTableAssociationsPages(input *ListConfiguredTableAssociationsInput, fn func(*ListConfiguredTableAssociationsOutput, bool) bool) error { - return c.ListConfiguredTableAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CleanRooms) ListAnalysisTemplatesPages(input *ListAnalysisTemplatesInput, fn func(*ListAnalysisTemplatesOutput, bool) bool) error { + return c.ListAnalysisTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListConfiguredTableAssociationsPagesWithContext same as ListConfiguredTableAssociationsPages except +// ListAnalysisTemplatesPagesWithContext same as ListAnalysisTemplatesPages 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 *CleanRooms) ListConfiguredTableAssociationsPagesWithContext(ctx aws.Context, input *ListConfiguredTableAssociationsInput, fn func(*ListConfiguredTableAssociationsOutput, bool) bool, opts ...request.Option) error { +func (c *CleanRooms) ListAnalysisTemplatesPagesWithContext(ctx aws.Context, input *ListAnalysisTemplatesInput, fn func(*ListAnalysisTemplatesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListConfiguredTableAssociationsInput + var inCpy *ListAnalysisTemplatesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListConfiguredTableAssociationsRequest(inCpy) + req, _ := c.ListAnalysisTemplatesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -2919,7 +3221,7 @@ func (c *CleanRooms) ListConfiguredTableAssociationsPagesWithContext(ctx aws.Con } for p.Next() { - if !fn(p.Page().(*ListConfiguredTableAssociationsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListAnalysisTemplatesOutput), !p.HasNextPage()) { break } } @@ -2927,36 +3229,36 @@ func (c *CleanRooms) ListConfiguredTableAssociationsPagesWithContext(ctx aws.Con return p.Err() } -const opListConfiguredTables = "ListConfiguredTables" +const opListCollaborationAnalysisTemplates = "ListCollaborationAnalysisTemplates" -// ListConfiguredTablesRequest generates a "aws/request.Request" representing the -// client's request for the ListConfiguredTables operation. The "output" return +// ListCollaborationAnalysisTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListCollaborationAnalysisTemplates 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 ListConfiguredTables for more information on using the ListConfiguredTables +// See ListCollaborationAnalysisTemplates for more information on using the ListCollaborationAnalysisTemplates // 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 ListConfiguredTablesRequest method. -// req, resp := client.ListConfiguredTablesRequest(params) +// // Example sending a request using the ListCollaborationAnalysisTemplatesRequest method. +// req, resp := client.ListCollaborationAnalysisTemplatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListConfiguredTables -func (c *CleanRooms) ListConfiguredTablesRequest(input *ListConfiguredTablesInput) (req *request.Request, output *ListConfiguredTablesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationAnalysisTemplates +func (c *CleanRooms) ListCollaborationAnalysisTemplatesRequest(input *ListCollaborationAnalysisTemplatesInput) (req *request.Request, output *ListCollaborationAnalysisTemplatesOutput) { op := &request.Operation{ - Name: opListConfiguredTables, + Name: opListCollaborationAnalysisTemplates, HTTPMethod: "GET", - HTTPPath: "/configuredTables", + HTTPPath: "/collaborations/{collaborationIdentifier}/analysistemplates", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -2966,27 +3268,30 @@ func (c *CleanRooms) ListConfiguredTablesRequest(input *ListConfiguredTablesInpu } if input == nil { - input = &ListConfiguredTablesInput{} + input = &ListCollaborationAnalysisTemplatesInput{} } - output = &ListConfiguredTablesOutput{} + output = &ListCollaborationAnalysisTemplatesOutput{} req = c.newRequest(op, input, output) return } -// ListConfiguredTables API operation for AWS Clean Rooms Service. +// ListCollaborationAnalysisTemplates API operation for AWS Clean Rooms Service. // -// Lists configured tables. +// Lists analysis templates within a collaboration. // // 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 Clean Rooms Service's -// API operation ListConfiguredTables for usage and error information. +// API operation ListCollaborationAnalysisTemplates for usage and error information. // // Returned Error Types: // +// - ResourceNotFoundException +// Request references a resource which does not exist. +// // - InternalServerException // Unexpected error during processing of request. // @@ -2999,64 +3304,64 @@ func (c *CleanRooms) ListConfiguredTablesRequest(input *ListConfiguredTablesInpu // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListConfiguredTables -func (c *CleanRooms) ListConfiguredTables(input *ListConfiguredTablesInput) (*ListConfiguredTablesOutput, error) { - req, out := c.ListConfiguredTablesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationAnalysisTemplates +func (c *CleanRooms) ListCollaborationAnalysisTemplates(input *ListCollaborationAnalysisTemplatesInput) (*ListCollaborationAnalysisTemplatesOutput, error) { + req, out := c.ListCollaborationAnalysisTemplatesRequest(input) return out, req.Send() } -// ListConfiguredTablesWithContext is the same as ListConfiguredTables with the addition of +// ListCollaborationAnalysisTemplatesWithContext is the same as ListCollaborationAnalysisTemplates with the addition of // the ability to pass a context and additional request options. // -// See ListConfiguredTables for details on how to use this API operation. +// See ListCollaborationAnalysisTemplates 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 *CleanRooms) ListConfiguredTablesWithContext(ctx aws.Context, input *ListConfiguredTablesInput, opts ...request.Option) (*ListConfiguredTablesOutput, error) { - req, out := c.ListConfiguredTablesRequest(input) +func (c *CleanRooms) ListCollaborationAnalysisTemplatesWithContext(ctx aws.Context, input *ListCollaborationAnalysisTemplatesInput, opts ...request.Option) (*ListCollaborationAnalysisTemplatesOutput, error) { + req, out := c.ListCollaborationAnalysisTemplatesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListConfiguredTablesPages iterates over the pages of a ListConfiguredTables operation, +// ListCollaborationAnalysisTemplatesPages iterates over the pages of a ListCollaborationAnalysisTemplates operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListConfiguredTables method for more information on how to use this operation. +// See ListCollaborationAnalysisTemplates 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 ListConfiguredTables operation. +// // Example iterating over at most 3 pages of a ListCollaborationAnalysisTemplates operation. // pageNum := 0 -// err := client.ListConfiguredTablesPages(params, -// func(page *cleanrooms.ListConfiguredTablesOutput, lastPage bool) bool { +// err := client.ListCollaborationAnalysisTemplatesPages(params, +// func(page *cleanrooms.ListCollaborationAnalysisTemplatesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CleanRooms) ListConfiguredTablesPages(input *ListConfiguredTablesInput, fn func(*ListConfiguredTablesOutput, bool) bool) error { - return c.ListConfiguredTablesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CleanRooms) ListCollaborationAnalysisTemplatesPages(input *ListCollaborationAnalysisTemplatesInput, fn func(*ListCollaborationAnalysisTemplatesOutput, bool) bool) error { + return c.ListCollaborationAnalysisTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListConfiguredTablesPagesWithContext same as ListConfiguredTablesPages except +// ListCollaborationAnalysisTemplatesPagesWithContext same as ListCollaborationAnalysisTemplatesPages 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 *CleanRooms) ListConfiguredTablesPagesWithContext(ctx aws.Context, input *ListConfiguredTablesInput, fn func(*ListConfiguredTablesOutput, bool) bool, opts ...request.Option) error { +func (c *CleanRooms) ListCollaborationAnalysisTemplatesPagesWithContext(ctx aws.Context, input *ListCollaborationAnalysisTemplatesInput, fn func(*ListCollaborationAnalysisTemplatesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListConfiguredTablesInput + var inCpy *ListCollaborationAnalysisTemplatesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListConfiguredTablesRequest(inCpy) + req, _ := c.ListCollaborationAnalysisTemplatesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3064,7 +3369,7 @@ func (c *CleanRooms) ListConfiguredTablesPagesWithContext(ctx aws.Context, input } for p.Next() { - if !fn(p.Page().(*ListConfiguredTablesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCollaborationAnalysisTemplatesOutput), !p.HasNextPage()) { break } } @@ -3072,36 +3377,36 @@ func (c *CleanRooms) ListConfiguredTablesPagesWithContext(ctx aws.Context, input return p.Err() } -const opListMembers = "ListMembers" +const opListCollaborationConfiguredAudienceModelAssociations = "ListCollaborationConfiguredAudienceModelAssociations" -// ListMembersRequest generates a "aws/request.Request" representing the -// client's request for the ListMembers operation. The "output" return +// ListCollaborationConfiguredAudienceModelAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the ListCollaborationConfiguredAudienceModelAssociations 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 ListMembers for more information on using the ListMembers +// See ListCollaborationConfiguredAudienceModelAssociations for more information on using the ListCollaborationConfiguredAudienceModelAssociations // 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 ListMembersRequest method. -// req, resp := client.ListMembersRequest(params) +// // Example sending a request using the ListCollaborationConfiguredAudienceModelAssociationsRequest method. +// req, resp := client.ListCollaborationConfiguredAudienceModelAssociationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMembers -func (c *CleanRooms) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationConfiguredAudienceModelAssociations +func (c *CleanRooms) ListCollaborationConfiguredAudienceModelAssociationsRequest(input *ListCollaborationConfiguredAudienceModelAssociationsInput) (req *request.Request, output *ListCollaborationConfiguredAudienceModelAssociationsOutput) { op := &request.Operation{ - Name: opListMembers, + Name: opListCollaborationConfiguredAudienceModelAssociations, HTTPMethod: "GET", - HTTPPath: "/collaborations/{collaborationIdentifier}/members", + HTTPPath: "/collaborations/{collaborationIdentifier}/configuredaudiencemodelassociations", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -3111,24 +3416,24 @@ func (c *CleanRooms) ListMembersRequest(input *ListMembersInput) (req *request.R } if input == nil { - input = &ListMembersInput{} + input = &ListCollaborationConfiguredAudienceModelAssociationsInput{} } - output = &ListMembersOutput{} + output = &ListCollaborationConfiguredAudienceModelAssociationsOutput{} req = c.newRequest(op, input, output) return } -// ListMembers API operation for AWS Clean Rooms Service. +// ListCollaborationConfiguredAudienceModelAssociations API operation for AWS Clean Rooms Service. // -// Lists all members within a collaboration. +// Lists configured audience model associations within a collaboration. // // 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 Clean Rooms Service's -// API operation ListMembers for usage and error information. +// API operation ListCollaborationConfiguredAudienceModelAssociations for usage and error information. // // Returned Error Types: // @@ -3147,64 +3452,64 @@ func (c *CleanRooms) ListMembersRequest(input *ListMembersInput) (req *request.R // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMembers -func (c *CleanRooms) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) { - req, out := c.ListMembersRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationConfiguredAudienceModelAssociations +func (c *CleanRooms) ListCollaborationConfiguredAudienceModelAssociations(input *ListCollaborationConfiguredAudienceModelAssociationsInput) (*ListCollaborationConfiguredAudienceModelAssociationsOutput, error) { + req, out := c.ListCollaborationConfiguredAudienceModelAssociationsRequest(input) return out, req.Send() } -// ListMembersWithContext is the same as ListMembers with the addition of +// ListCollaborationConfiguredAudienceModelAssociationsWithContext is the same as ListCollaborationConfiguredAudienceModelAssociations with the addition of // the ability to pass a context and additional request options. // -// See ListMembers for details on how to use this API operation. +// See ListCollaborationConfiguredAudienceModelAssociations 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 *CleanRooms) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) { - req, out := c.ListMembersRequest(input) +func (c *CleanRooms) ListCollaborationConfiguredAudienceModelAssociationsWithContext(ctx aws.Context, input *ListCollaborationConfiguredAudienceModelAssociationsInput, opts ...request.Option) (*ListCollaborationConfiguredAudienceModelAssociationsOutput, error) { + req, out := c.ListCollaborationConfiguredAudienceModelAssociationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListMembersPages iterates over the pages of a ListMembers operation, +// ListCollaborationConfiguredAudienceModelAssociationsPages iterates over the pages of a ListCollaborationConfiguredAudienceModelAssociations operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListMembers method for more information on how to use this operation. +// See ListCollaborationConfiguredAudienceModelAssociations 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 ListMembers operation. +// // Example iterating over at most 3 pages of a ListCollaborationConfiguredAudienceModelAssociations operation. // pageNum := 0 -// err := client.ListMembersPages(params, -// func(page *cleanrooms.ListMembersOutput, lastPage bool) bool { +// err := client.ListCollaborationConfiguredAudienceModelAssociationsPages(params, +// func(page *cleanrooms.ListCollaborationConfiguredAudienceModelAssociationsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CleanRooms) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error { - return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CleanRooms) ListCollaborationConfiguredAudienceModelAssociationsPages(input *ListCollaborationConfiguredAudienceModelAssociationsInput, fn func(*ListCollaborationConfiguredAudienceModelAssociationsOutput, bool) bool) error { + return c.ListCollaborationConfiguredAudienceModelAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListMembersPagesWithContext same as ListMembersPages except +// ListCollaborationConfiguredAudienceModelAssociationsPagesWithContext same as ListCollaborationConfiguredAudienceModelAssociationsPages 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 *CleanRooms) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error { +func (c *CleanRooms) ListCollaborationConfiguredAudienceModelAssociationsPagesWithContext(ctx aws.Context, input *ListCollaborationConfiguredAudienceModelAssociationsInput, fn func(*ListCollaborationConfiguredAudienceModelAssociationsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListMembersInput + var inCpy *ListCollaborationConfiguredAudienceModelAssociationsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListMembersRequest(inCpy) + req, _ := c.ListCollaborationConfiguredAudienceModelAssociationsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3212,7 +3517,7 @@ func (c *CleanRooms) ListMembersPagesWithContext(ctx aws.Context, input *ListMem } for p.Next() { - if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCollaborationConfiguredAudienceModelAssociationsOutput), !p.HasNextPage()) { break } } @@ -3220,36 +3525,36 @@ func (c *CleanRooms) ListMembersPagesWithContext(ctx aws.Context, input *ListMem return p.Err() } -const opListMemberships = "ListMemberships" +const opListCollaborationPrivacyBudgetTemplates = "ListCollaborationPrivacyBudgetTemplates" -// ListMembershipsRequest generates a "aws/request.Request" representing the -// client's request for the ListMemberships operation. The "output" return +// ListCollaborationPrivacyBudgetTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListCollaborationPrivacyBudgetTemplates 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 ListMemberships for more information on using the ListMemberships +// See ListCollaborationPrivacyBudgetTemplates for more information on using the ListCollaborationPrivacyBudgetTemplates // 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 ListMembershipsRequest method. -// req, resp := client.ListMembershipsRequest(params) +// // Example sending a request using the ListCollaborationPrivacyBudgetTemplatesRequest method. +// req, resp := client.ListCollaborationPrivacyBudgetTemplatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMemberships -func (c *CleanRooms) ListMembershipsRequest(input *ListMembershipsInput) (req *request.Request, output *ListMembershipsOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationPrivacyBudgetTemplates +func (c *CleanRooms) ListCollaborationPrivacyBudgetTemplatesRequest(input *ListCollaborationPrivacyBudgetTemplatesInput) (req *request.Request, output *ListCollaborationPrivacyBudgetTemplatesOutput) { op := &request.Operation{ - Name: opListMemberships, + Name: opListCollaborationPrivacyBudgetTemplates, HTTPMethod: "GET", - HTTPPath: "/memberships", + HTTPPath: "/collaborations/{collaborationIdentifier}/privacybudgettemplates", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -3259,27 +3564,31 @@ func (c *CleanRooms) ListMembershipsRequest(input *ListMembershipsInput) (req *r } if input == nil { - input = &ListMembershipsInput{} + input = &ListCollaborationPrivacyBudgetTemplatesInput{} } - output = &ListMembershipsOutput{} + output = &ListCollaborationPrivacyBudgetTemplatesOutput{} req = c.newRequest(op, input, output) return } -// ListMemberships API operation for AWS Clean Rooms Service. +// ListCollaborationPrivacyBudgetTemplates API operation for AWS Clean Rooms Service. // -// Lists all memberships resources within the caller's account. +// Returns an array that summarizes each privacy budget template in a specified +// collaboration. // // 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 Clean Rooms Service's -// API operation ListMemberships for usage and error information. +// API operation ListCollaborationPrivacyBudgetTemplates for usage and error information. // // Returned Error Types: // +// - ResourceNotFoundException +// Request references a resource which does not exist. +// // - InternalServerException // Unexpected error during processing of request. // @@ -3292,64 +3601,64 @@ func (c *CleanRooms) ListMembershipsRequest(input *ListMembershipsInput) (req *r // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMemberships -func (c *CleanRooms) ListMemberships(input *ListMembershipsInput) (*ListMembershipsOutput, error) { - req, out := c.ListMembershipsRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationPrivacyBudgetTemplates +func (c *CleanRooms) ListCollaborationPrivacyBudgetTemplates(input *ListCollaborationPrivacyBudgetTemplatesInput) (*ListCollaborationPrivacyBudgetTemplatesOutput, error) { + req, out := c.ListCollaborationPrivacyBudgetTemplatesRequest(input) return out, req.Send() } -// ListMembershipsWithContext is the same as ListMemberships with the addition of +// ListCollaborationPrivacyBudgetTemplatesWithContext is the same as ListCollaborationPrivacyBudgetTemplates with the addition of // the ability to pass a context and additional request options. // -// See ListMemberships for details on how to use this API operation. +// See ListCollaborationPrivacyBudgetTemplates 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 *CleanRooms) ListMembershipsWithContext(ctx aws.Context, input *ListMembershipsInput, opts ...request.Option) (*ListMembershipsOutput, error) { - req, out := c.ListMembershipsRequest(input) +func (c *CleanRooms) ListCollaborationPrivacyBudgetTemplatesWithContext(ctx aws.Context, input *ListCollaborationPrivacyBudgetTemplatesInput, opts ...request.Option) (*ListCollaborationPrivacyBudgetTemplatesOutput, error) { + req, out := c.ListCollaborationPrivacyBudgetTemplatesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListMembershipsPages iterates over the pages of a ListMemberships operation, +// ListCollaborationPrivacyBudgetTemplatesPages iterates over the pages of a ListCollaborationPrivacyBudgetTemplates operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListMemberships method for more information on how to use this operation. +// See ListCollaborationPrivacyBudgetTemplates 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 ListMemberships operation. +// // Example iterating over at most 3 pages of a ListCollaborationPrivacyBudgetTemplates operation. // pageNum := 0 -// err := client.ListMembershipsPages(params, -// func(page *cleanrooms.ListMembershipsOutput, lastPage bool) bool { +// err := client.ListCollaborationPrivacyBudgetTemplatesPages(params, +// func(page *cleanrooms.ListCollaborationPrivacyBudgetTemplatesOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CleanRooms) ListMembershipsPages(input *ListMembershipsInput, fn func(*ListMembershipsOutput, bool) bool) error { - return c.ListMembershipsPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CleanRooms) ListCollaborationPrivacyBudgetTemplatesPages(input *ListCollaborationPrivacyBudgetTemplatesInput, fn func(*ListCollaborationPrivacyBudgetTemplatesOutput, bool) bool) error { + return c.ListCollaborationPrivacyBudgetTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListMembershipsPagesWithContext same as ListMembershipsPages except +// ListCollaborationPrivacyBudgetTemplatesPagesWithContext same as ListCollaborationPrivacyBudgetTemplatesPages 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 *CleanRooms) ListMembershipsPagesWithContext(ctx aws.Context, input *ListMembershipsInput, fn func(*ListMembershipsOutput, bool) bool, opts ...request.Option) error { +func (c *CleanRooms) ListCollaborationPrivacyBudgetTemplatesPagesWithContext(ctx aws.Context, input *ListCollaborationPrivacyBudgetTemplatesInput, fn func(*ListCollaborationPrivacyBudgetTemplatesOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListMembershipsInput + var inCpy *ListCollaborationPrivacyBudgetTemplatesInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListMembershipsRequest(inCpy) + req, _ := c.ListCollaborationPrivacyBudgetTemplatesRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3357,7 +3666,7 @@ func (c *CleanRooms) ListMembershipsPagesWithContext(ctx aws.Context, input *Lis } for p.Next() { - if !fn(p.Page().(*ListMembershipsOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCollaborationPrivacyBudgetTemplatesOutput), !p.HasNextPage()) { break } } @@ -3365,36 +3674,36 @@ func (c *CleanRooms) ListMembershipsPagesWithContext(ctx aws.Context, input *Lis return p.Err() } -const opListProtectedQueries = "ListProtectedQueries" +const opListCollaborationPrivacyBudgets = "ListCollaborationPrivacyBudgets" -// ListProtectedQueriesRequest generates a "aws/request.Request" representing the -// client's request for the ListProtectedQueries operation. The "output" return +// ListCollaborationPrivacyBudgetsRequest generates a "aws/request.Request" representing the +// client's request for the ListCollaborationPrivacyBudgets 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 ListProtectedQueries for more information on using the ListProtectedQueries +// See ListCollaborationPrivacyBudgets for more information on using the ListCollaborationPrivacyBudgets // 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 ListProtectedQueriesRequest method. -// req, resp := client.ListProtectedQueriesRequest(params) +// // Example sending a request using the ListCollaborationPrivacyBudgetsRequest method. +// req, resp := client.ListCollaborationPrivacyBudgetsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListProtectedQueries -func (c *CleanRooms) ListProtectedQueriesRequest(input *ListProtectedQueriesInput) (req *request.Request, output *ListProtectedQueriesOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationPrivacyBudgets +func (c *CleanRooms) ListCollaborationPrivacyBudgetsRequest(input *ListCollaborationPrivacyBudgetsInput) (req *request.Request, output *ListCollaborationPrivacyBudgetsOutput) { op := &request.Operation{ - Name: opListProtectedQueries, + Name: opListCollaborationPrivacyBudgets, HTTPMethod: "GET", - HTTPPath: "/memberships/{membershipIdentifier}/protectedQueries", + HTTPPath: "/collaborations/{collaborationIdentifier}/privacybudgets", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -3404,24 +3713,26 @@ func (c *CleanRooms) ListProtectedQueriesRequest(input *ListProtectedQueriesInpu } if input == nil { - input = &ListProtectedQueriesInput{} + input = &ListCollaborationPrivacyBudgetsInput{} } - output = &ListProtectedQueriesOutput{} + output = &ListCollaborationPrivacyBudgetsOutput{} req = c.newRequest(op, input, output) return } -// ListProtectedQueries API operation for AWS Clean Rooms Service. +// ListCollaborationPrivacyBudgets API operation for AWS Clean Rooms Service. // -// Lists protected queries, sorted by the most recent query. +// Returns an array that summarizes each privacy budget in a specified collaboration. +// The summary includes the collaboration ARN, creation time, creating account, +// and privacy budget details. // // 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 Clean Rooms Service's -// API operation ListProtectedQueries for usage and error information. +// API operation ListCollaborationPrivacyBudgets for usage and error information. // // Returned Error Types: // @@ -3440,64 +3751,64 @@ func (c *CleanRooms) ListProtectedQueriesRequest(input *ListProtectedQueriesInpu // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListProtectedQueries -func (c *CleanRooms) ListProtectedQueries(input *ListProtectedQueriesInput) (*ListProtectedQueriesOutput, error) { - req, out := c.ListProtectedQueriesRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborationPrivacyBudgets +func (c *CleanRooms) ListCollaborationPrivacyBudgets(input *ListCollaborationPrivacyBudgetsInput) (*ListCollaborationPrivacyBudgetsOutput, error) { + req, out := c.ListCollaborationPrivacyBudgetsRequest(input) return out, req.Send() } -// ListProtectedQueriesWithContext is the same as ListProtectedQueries with the addition of +// ListCollaborationPrivacyBudgetsWithContext is the same as ListCollaborationPrivacyBudgets with the addition of // the ability to pass a context and additional request options. // -// See ListProtectedQueries for details on how to use this API operation. +// See ListCollaborationPrivacyBudgets 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 *CleanRooms) ListProtectedQueriesWithContext(ctx aws.Context, input *ListProtectedQueriesInput, opts ...request.Option) (*ListProtectedQueriesOutput, error) { - req, out := c.ListProtectedQueriesRequest(input) +func (c *CleanRooms) ListCollaborationPrivacyBudgetsWithContext(ctx aws.Context, input *ListCollaborationPrivacyBudgetsInput, opts ...request.Option) (*ListCollaborationPrivacyBudgetsOutput, error) { + req, out := c.ListCollaborationPrivacyBudgetsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListProtectedQueriesPages iterates over the pages of a ListProtectedQueries operation, +// ListCollaborationPrivacyBudgetsPages iterates over the pages of a ListCollaborationPrivacyBudgets operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListProtectedQueries method for more information on how to use this operation. +// See ListCollaborationPrivacyBudgets 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 ListProtectedQueries operation. +// // Example iterating over at most 3 pages of a ListCollaborationPrivacyBudgets operation. // pageNum := 0 -// err := client.ListProtectedQueriesPages(params, -// func(page *cleanrooms.ListProtectedQueriesOutput, lastPage bool) bool { +// err := client.ListCollaborationPrivacyBudgetsPages(params, +// func(page *cleanrooms.ListCollaborationPrivacyBudgetsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CleanRooms) ListProtectedQueriesPages(input *ListProtectedQueriesInput, fn func(*ListProtectedQueriesOutput, bool) bool) error { - return c.ListProtectedQueriesPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CleanRooms) ListCollaborationPrivacyBudgetsPages(input *ListCollaborationPrivacyBudgetsInput, fn func(*ListCollaborationPrivacyBudgetsOutput, bool) bool) error { + return c.ListCollaborationPrivacyBudgetsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListProtectedQueriesPagesWithContext same as ListProtectedQueriesPages except +// ListCollaborationPrivacyBudgetsPagesWithContext same as ListCollaborationPrivacyBudgetsPages 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 *CleanRooms) ListProtectedQueriesPagesWithContext(ctx aws.Context, input *ListProtectedQueriesInput, fn func(*ListProtectedQueriesOutput, bool) bool, opts ...request.Option) error { +func (c *CleanRooms) ListCollaborationPrivacyBudgetsPagesWithContext(ctx aws.Context, input *ListCollaborationPrivacyBudgetsInput, fn func(*ListCollaborationPrivacyBudgetsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListProtectedQueriesInput + var inCpy *ListCollaborationPrivacyBudgetsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListProtectedQueriesRequest(inCpy) + req, _ := c.ListCollaborationPrivacyBudgetsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3505,7 +3816,7 @@ func (c *CleanRooms) ListProtectedQueriesPagesWithContext(ctx aws.Context, input } for p.Next() { - if !fn(p.Page().(*ListProtectedQueriesOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCollaborationPrivacyBudgetsOutput), !p.HasNextPage()) { break } } @@ -3513,36 +3824,36 @@ func (c *CleanRooms) ListProtectedQueriesPagesWithContext(ctx aws.Context, input return p.Err() } -const opListSchemas = "ListSchemas" +const opListCollaborations = "ListCollaborations" -// ListSchemasRequest generates a "aws/request.Request" representing the -// client's request for the ListSchemas operation. The "output" return +// ListCollaborationsRequest generates a "aws/request.Request" representing the +// client's request for the ListCollaborations 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 ListSchemas for more information on using the ListSchemas +// See ListCollaborations for more information on using the ListCollaborations // 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 ListSchemasRequest method. -// req, resp := client.ListSchemasRequest(params) +// // Example sending a request using the ListCollaborationsRequest method. +// req, resp := client.ListCollaborationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListSchemas -func (c *CleanRooms) ListSchemasRequest(input *ListSchemasInput) (req *request.Request, output *ListSchemasOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborations +func (c *CleanRooms) ListCollaborationsRequest(input *ListCollaborationsInput) (req *request.Request, output *ListCollaborationsOutput) { op := &request.Operation{ - Name: opListSchemas, + Name: opListCollaborations, HTTPMethod: "GET", - HTTPPath: "/collaborations/{collaborationIdentifier}/schemas", + HTTPPath: "/collaborations", Paginator: &request.Paginator{ InputTokens: []string{"nextToken"}, OutputTokens: []string{"nextToken"}, @@ -3552,30 +3863,27 @@ func (c *CleanRooms) ListSchemasRequest(input *ListSchemasInput) (req *request.R } if input == nil { - input = &ListSchemasInput{} + input = &ListCollaborationsInput{} } - output = &ListSchemasOutput{} + output = &ListCollaborationsOutput{} req = c.newRequest(op, input, output) return } -// ListSchemas API operation for AWS Clean Rooms Service. +// ListCollaborations API operation for AWS Clean Rooms Service. // -// Lists the schemas for relations within a collaboration. +// Lists collaborations the caller owns, is active in, or has been invited to. // // 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 Clean Rooms Service's -// API operation ListSchemas for usage and error information. +// API operation ListCollaborations for usage and error information. // // Returned Error Types: // -// - ResourceNotFoundException -// Request references a resource which does not exist. -// // - InternalServerException // Unexpected error during processing of request. // @@ -3588,64 +3896,64 @@ func (c *CleanRooms) ListSchemasRequest(input *ListSchemasInput) (req *request.R // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListSchemas -func (c *CleanRooms) ListSchemas(input *ListSchemasInput) (*ListSchemasOutput, error) { - req, out := c.ListSchemasRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListCollaborations +func (c *CleanRooms) ListCollaborations(input *ListCollaborationsInput) (*ListCollaborationsOutput, error) { + req, out := c.ListCollaborationsRequest(input) return out, req.Send() } -// ListSchemasWithContext is the same as ListSchemas with the addition of +// ListCollaborationsWithContext is the same as ListCollaborations with the addition of // the ability to pass a context and additional request options. // -// See ListSchemas for details on how to use this API operation. +// See ListCollaborations 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 *CleanRooms) ListSchemasWithContext(ctx aws.Context, input *ListSchemasInput, opts ...request.Option) (*ListSchemasOutput, error) { - req, out := c.ListSchemasRequest(input) +func (c *CleanRooms) ListCollaborationsWithContext(ctx aws.Context, input *ListCollaborationsInput, opts ...request.Option) (*ListCollaborationsOutput, error) { + req, out := c.ListCollaborationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -// ListSchemasPages iterates over the pages of a ListSchemas operation, +// ListCollaborationsPages iterates over the pages of a ListCollaborations operation, // calling the "fn" function with the response data for each page. To stop // iterating, return false from the fn function. // -// See ListSchemas method for more information on how to use this operation. +// See ListCollaborations 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 ListSchemas operation. +// // Example iterating over at most 3 pages of a ListCollaborations operation. // pageNum := 0 -// err := client.ListSchemasPages(params, -// func(page *cleanrooms.ListSchemasOutput, lastPage bool) bool { +// err := client.ListCollaborationsPages(params, +// func(page *cleanrooms.ListCollaborationsOutput, lastPage bool) bool { // pageNum++ // fmt.Println(page) // return pageNum <= 3 // }) -func (c *CleanRooms) ListSchemasPages(input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool) error { - return c.ListSchemasPagesWithContext(aws.BackgroundContext(), input, fn) +func (c *CleanRooms) ListCollaborationsPages(input *ListCollaborationsInput, fn func(*ListCollaborationsOutput, bool) bool) error { + return c.ListCollaborationsPagesWithContext(aws.BackgroundContext(), input, fn) } -// ListSchemasPagesWithContext same as ListSchemasPages except +// ListCollaborationsPagesWithContext same as ListCollaborationsPages 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 *CleanRooms) ListSchemasPagesWithContext(ctx aws.Context, input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool, opts ...request.Option) error { +func (c *CleanRooms) ListCollaborationsPagesWithContext(ctx aws.Context, input *ListCollaborationsInput, fn func(*ListCollaborationsOutput, bool) bool, opts ...request.Option) error { p := request.Pagination{ NewRequest: func() (*request.Request, error) { - var inCpy *ListSchemasInput + var inCpy *ListCollaborationsInput if input != nil { tmp := *input inCpy = &tmp } - req, _ := c.ListSchemasRequest(inCpy) + req, _ := c.ListCollaborationsRequest(inCpy) req.SetContext(ctx) req.ApplyOptions(opts...) return req, nil @@ -3653,7 +3961,7 @@ func (c *CleanRooms) ListSchemasPagesWithContext(ctx aws.Context, input *ListSch } for p.Next() { - if !fn(p.Page().(*ListSchemasOutput), !p.HasNextPage()) { + if !fn(p.Page().(*ListCollaborationsOutput), !p.HasNextPage()) { break } } @@ -3661,145 +3969,214 @@ func (c *CleanRooms) ListSchemasPagesWithContext(ctx aws.Context, input *ListSch return p.Err() } -const opListTagsForResource = "ListTagsForResource" +const opListConfiguredAudienceModelAssociations = "ListConfiguredAudienceModelAssociations" -// ListTagsForResourceRequest generates a "aws/request.Request" representing the -// client's request for the ListTagsForResource operation. The "output" return +// ListConfiguredAudienceModelAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the ListConfiguredAudienceModelAssociations 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 +// See ListConfiguredAudienceModelAssociations for more information on using the ListConfiguredAudienceModelAssociations // 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) +// // Example sending a request using the ListConfiguredAudienceModelAssociationsRequest method. +// req, resp := client.ListConfiguredAudienceModelAssociationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListTagsForResource -func (c *CleanRooms) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListConfiguredAudienceModelAssociations +func (c *CleanRooms) ListConfiguredAudienceModelAssociationsRequest(input *ListConfiguredAudienceModelAssociationsInput) (req *request.Request, output *ListConfiguredAudienceModelAssociationsOutput) { op := &request.Operation{ - Name: opListTagsForResource, + Name: opListConfiguredAudienceModelAssociations, HTTPMethod: "GET", - HTTPPath: "/tags/{resourceArn}", + HTTPPath: "/memberships/{membershipIdentifier}/configuredaudiencemodelassociations", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &ListTagsForResourceInput{} + input = &ListConfiguredAudienceModelAssociationsInput{} } - output = &ListTagsForResourceOutput{} + output = &ListConfiguredAudienceModelAssociationsOutput{} req = c.newRequest(op, input, output) return } -// ListTagsForResource API operation for AWS Clean Rooms Service. +// ListConfiguredAudienceModelAssociations API operation for AWS Clean Rooms Service. // -// Lists all of the tags that have been added to a resource. +// Lists information about requested configured audience model associations. // // 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 Clean Rooms Service's -// API operation ListTagsForResource for usage and error information. +// API operation ListConfiguredAudienceModelAssociations for usage and error information. // // Returned Error Types: // // - ResourceNotFoundException // Request references a resource which does not exist. // +// - InternalServerException +// Unexpected error during processing of request. +// // - ValidationException // The input fails to satisfy the specified constraints. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListTagsForResource -func (c *CleanRooms) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListConfiguredAudienceModelAssociations +func (c *CleanRooms) ListConfiguredAudienceModelAssociations(input *ListConfiguredAudienceModelAssociationsInput) (*ListConfiguredAudienceModelAssociationsOutput, error) { + req, out := c.ListConfiguredAudienceModelAssociationsRequest(input) return out, req.Send() } -// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of +// ListConfiguredAudienceModelAssociationsWithContext is the same as ListConfiguredAudienceModelAssociations 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. +// See ListConfiguredAudienceModelAssociations 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 *CleanRooms) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { - req, out := c.ListTagsForResourceRequest(input) +func (c *CleanRooms) ListConfiguredAudienceModelAssociationsWithContext(ctx aws.Context, input *ListConfiguredAudienceModelAssociationsInput, opts ...request.Option) (*ListConfiguredAudienceModelAssociationsOutput, error) { + req, out := c.ListConfiguredAudienceModelAssociationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opStartProtectedQuery = "StartProtectedQuery" +// ListConfiguredAudienceModelAssociationsPages iterates over the pages of a ListConfiguredAudienceModelAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListConfiguredAudienceModelAssociations 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 ListConfiguredAudienceModelAssociations operation. +// pageNum := 0 +// err := client.ListConfiguredAudienceModelAssociationsPages(params, +// func(page *cleanrooms.ListConfiguredAudienceModelAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRooms) ListConfiguredAudienceModelAssociationsPages(input *ListConfiguredAudienceModelAssociationsInput, fn func(*ListConfiguredAudienceModelAssociationsOutput, bool) bool) error { + return c.ListConfiguredAudienceModelAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// StartProtectedQueryRequest generates a "aws/request.Request" representing the -// client's request for the StartProtectedQuery operation. The "output" return +// ListConfiguredAudienceModelAssociationsPagesWithContext same as ListConfiguredAudienceModelAssociationsPages 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 *CleanRooms) ListConfiguredAudienceModelAssociationsPagesWithContext(ctx aws.Context, input *ListConfiguredAudienceModelAssociationsInput, fn func(*ListConfiguredAudienceModelAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListConfiguredAudienceModelAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListConfiguredAudienceModelAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListConfiguredAudienceModelAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListConfiguredTableAssociations = "ListConfiguredTableAssociations" + +// ListConfiguredTableAssociationsRequest generates a "aws/request.Request" representing the +// client's request for the ListConfiguredTableAssociations 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 StartProtectedQuery for more information on using the StartProtectedQuery +// See ListConfiguredTableAssociations for more information on using the ListConfiguredTableAssociations // 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 StartProtectedQueryRequest method. -// req, resp := client.StartProtectedQueryRequest(params) +// // Example sending a request using the ListConfiguredTableAssociationsRequest method. +// req, resp := client.ListConfiguredTableAssociationsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/StartProtectedQuery -func (c *CleanRooms) StartProtectedQueryRequest(input *StartProtectedQueryInput) (req *request.Request, output *StartProtectedQueryOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListConfiguredTableAssociations +func (c *CleanRooms) ListConfiguredTableAssociationsRequest(input *ListConfiguredTableAssociationsInput) (req *request.Request, output *ListConfiguredTableAssociationsOutput) { op := &request.Operation{ - Name: opStartProtectedQuery, - HTTPMethod: "POST", - HTTPPath: "/memberships/{membershipIdentifier}/protectedQueries", + Name: opListConfiguredTableAssociations, + HTTPMethod: "GET", + HTTPPath: "/memberships/{membershipIdentifier}/configuredTableAssociations", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &StartProtectedQueryInput{} + input = &ListConfiguredTableAssociationsInput{} } - output = &StartProtectedQueryOutput{} + output = &ListConfiguredTableAssociationsOutput{} req = c.newRequest(op, input, output) return } -// StartProtectedQuery API operation for AWS Clean Rooms Service. +// ListConfiguredTableAssociations API operation for AWS Clean Rooms Service. // -// Creates a protected query that is started by Clean Rooms. +// Lists configured table associations for a 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 AWS Clean Rooms Service's -// API operation StartProtectedQuery for usage and error information. +// API operation ListConfiguredTableAssociations for usage and error information. // // Returned Error Types: // -// - ServiceQuotaExceededException -// Request denied because service quota has been exceeded. -// // - ResourceNotFoundException // Request references a resource which does not exist. // @@ -3815,245 +4192,281 @@ func (c *CleanRooms) StartProtectedQueryRequest(input *StartProtectedQueryInput) // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/StartProtectedQuery -func (c *CleanRooms) StartProtectedQuery(input *StartProtectedQueryInput) (*StartProtectedQueryOutput, error) { - req, out := c.StartProtectedQueryRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListConfiguredTableAssociations +func (c *CleanRooms) ListConfiguredTableAssociations(input *ListConfiguredTableAssociationsInput) (*ListConfiguredTableAssociationsOutput, error) { + req, out := c.ListConfiguredTableAssociationsRequest(input) return out, req.Send() } -// StartProtectedQueryWithContext is the same as StartProtectedQuery with the addition of +// ListConfiguredTableAssociationsWithContext is the same as ListConfiguredTableAssociations with the addition of // the ability to pass a context and additional request options. // -// See StartProtectedQuery for details on how to use this API operation. +// See ListConfiguredTableAssociations 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 *CleanRooms) StartProtectedQueryWithContext(ctx aws.Context, input *StartProtectedQueryInput, opts ...request.Option) (*StartProtectedQueryOutput, error) { - req, out := c.StartProtectedQueryRequest(input) +func (c *CleanRooms) ListConfiguredTableAssociationsWithContext(ctx aws.Context, input *ListConfiguredTableAssociationsInput, opts ...request.Option) (*ListConfiguredTableAssociationsOutput, error) { + req, out := c.ListConfiguredTableAssociationsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opTagResource = "TagResource" +// ListConfiguredTableAssociationsPages iterates over the pages of a ListConfiguredTableAssociations operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListConfiguredTableAssociations 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 ListConfiguredTableAssociations operation. +// pageNum := 0 +// err := client.ListConfiguredTableAssociationsPages(params, +// func(page *cleanrooms.ListConfiguredTableAssociationsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRooms) ListConfiguredTableAssociationsPages(input *ListConfiguredTableAssociationsInput, fn func(*ListConfiguredTableAssociationsOutput, bool) bool) error { + return c.ListConfiguredTableAssociationsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// TagResourceRequest generates a "aws/request.Request" representing the -// client's request for the TagResource operation. The "output" return +// ListConfiguredTableAssociationsPagesWithContext same as ListConfiguredTableAssociationsPages 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 *CleanRooms) ListConfiguredTableAssociationsPagesWithContext(ctx aws.Context, input *ListConfiguredTableAssociationsInput, fn func(*ListConfiguredTableAssociationsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListConfiguredTableAssociationsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListConfiguredTableAssociationsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListConfiguredTableAssociationsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListConfiguredTables = "ListConfiguredTables" + +// ListConfiguredTablesRequest generates a "aws/request.Request" representing the +// client's request for the ListConfiguredTables 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 +// See ListConfiguredTables for more information on using the ListConfiguredTables // 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) +// // Example sending a request using the ListConfiguredTablesRequest method. +// req, resp := client.ListConfiguredTablesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/TagResource -func (c *CleanRooms) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListConfiguredTables +func (c *CleanRooms) ListConfiguredTablesRequest(input *ListConfiguredTablesInput) (req *request.Request, output *ListConfiguredTablesOutput) { op := &request.Operation{ - Name: opTagResource, - HTTPMethod: "POST", - HTTPPath: "/tags/{resourceArn}", + Name: opListConfiguredTables, + HTTPMethod: "GET", + HTTPPath: "/configuredTables", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &TagResourceInput{} + input = &ListConfiguredTablesInput{} } - output = &TagResourceOutput{} + output = &ListConfiguredTablesOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// TagResource API operation for AWS Clean Rooms Service. +// ListConfiguredTables API operation for AWS Clean Rooms Service. // -// Tags a resource. +// Lists configured tables. // // 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 Clean Rooms Service's -// API operation TagResource for usage and error information. +// API operation ListConfiguredTables for usage and error information. // // Returned Error Types: // -// - ResourceNotFoundException -// Request references a resource which does not exist. +// - InternalServerException +// Unexpected error during processing of request. // // - ValidationException // The input fails to satisfy the specified constraints. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/TagResource -func (c *CleanRooms) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListConfiguredTables +func (c *CleanRooms) ListConfiguredTables(input *ListConfiguredTablesInput) (*ListConfiguredTablesOutput, error) { + req, out := c.ListConfiguredTablesRequest(input) return out, req.Send() } -// TagResourceWithContext is the same as TagResource with the addition of +// ListConfiguredTablesWithContext is the same as ListConfiguredTables 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. +// See ListConfiguredTables 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 *CleanRooms) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { - req, out := c.TagResourceRequest(input) +func (c *CleanRooms) ListConfiguredTablesWithContext(ctx aws.Context, input *ListConfiguredTablesInput, opts ...request.Option) (*ListConfiguredTablesOutput, error) { + req, out := c.ListConfiguredTablesRequest(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. +// ListConfiguredTablesPages iterates over the pages of a ListConfiguredTables operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// // Example sending a request using the UntagResourceRequest method. -// req, resp := client.UntagResourceRequest(params) +// See ListConfiguredTables method for more information on how to use this operation. // -// err := req.Send() -// if err == nil { // resp is now filled -// fmt.Println(resp) -// } +// Note: This operation can generate multiple requests to a service. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UntagResource -func (c *CleanRooms) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { - op := &request.Operation{ - Name: opUntagResource, - HTTPMethod: "DELETE", - HTTPPath: "/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 AWS Clean Rooms Service. -// -// Removes a tag or list of tags from 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 AWS Clean Rooms Service's -// API operation UntagResource for usage and error information. -// -// Returned Error Types: -// -// - ResourceNotFoundException -// Request references a resource which does not exist. -// -// - ValidationException -// The input fails to satisfy the specified constraints. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UntagResource -func (c *CleanRooms) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { - req, out := c.UntagResourceRequest(input) - return out, req.Send() +// // Example iterating over at most 3 pages of a ListConfiguredTables operation. +// pageNum := 0 +// err := client.ListConfiguredTablesPages(params, +// func(page *cleanrooms.ListConfiguredTablesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRooms) ListConfiguredTablesPages(input *ListConfiguredTablesInput, fn func(*ListConfiguredTablesOutput, bool) bool) error { + return c.ListConfiguredTablesPagesWithContext(aws.BackgroundContext(), input, fn) } -// 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. +// ListConfiguredTablesPagesWithContext same as ListConfiguredTablesPages 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 *CleanRooms) 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() +func (c *CleanRooms) ListConfiguredTablesPagesWithContext(ctx aws.Context, input *ListConfiguredTablesInput, fn func(*ListConfiguredTablesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListConfiguredTablesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListConfiguredTablesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListConfiguredTablesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() } -const opUpdateAnalysisTemplate = "UpdateAnalysisTemplate" +const opListMembers = "ListMembers" -// UpdateAnalysisTemplateRequest generates a "aws/request.Request" representing the -// client's request for the UpdateAnalysisTemplate operation. The "output" return +// ListMembersRequest generates a "aws/request.Request" representing the +// client's request for the ListMembers 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 UpdateAnalysisTemplate for more information on using the UpdateAnalysisTemplate +// See ListMembers for more information on using the ListMembers // 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 UpdateAnalysisTemplateRequest method. -// req, resp := client.UpdateAnalysisTemplateRequest(params) +// // Example sending a request using the ListMembersRequest method. +// req, resp := client.ListMembersRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateAnalysisTemplate -func (c *CleanRooms) UpdateAnalysisTemplateRequest(input *UpdateAnalysisTemplateInput) (req *request.Request, output *UpdateAnalysisTemplateOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMembers +func (c *CleanRooms) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) { op := &request.Operation{ - Name: opUpdateAnalysisTemplate, - HTTPMethod: "PATCH", - HTTPPath: "/memberships/{membershipIdentifier}/analysistemplates/{analysisTemplateIdentifier}", + Name: opListMembers, + HTTPMethod: "GET", + HTTPPath: "/collaborations/{collaborationIdentifier}/members", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateAnalysisTemplateInput{} + input = &ListMembersInput{} } - output = &UpdateAnalysisTemplateOutput{} + output = &ListMembersOutput{} req = c.newRequest(op, input, output) return } -// UpdateAnalysisTemplate API operation for AWS Clean Rooms Service. +// ListMembers API operation for AWS Clean Rooms Service. // -// Updates the analysis template metadata. +// Lists all members within a collaboration. // // 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 Clean Rooms Service's -// API operation UpdateAnalysisTemplate for usage and error information. +// API operation ListMembers for usage and error information. // // Returned Error Types: // @@ -4072,80 +4485,136 @@ func (c *CleanRooms) UpdateAnalysisTemplateRequest(input *UpdateAnalysisTemplate // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateAnalysisTemplate -func (c *CleanRooms) UpdateAnalysisTemplate(input *UpdateAnalysisTemplateInput) (*UpdateAnalysisTemplateOutput, error) { - req, out := c.UpdateAnalysisTemplateRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMembers +func (c *CleanRooms) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) { + req, out := c.ListMembersRequest(input) return out, req.Send() } -// UpdateAnalysisTemplateWithContext is the same as UpdateAnalysisTemplate with the addition of +// ListMembersWithContext is the same as ListMembers with the addition of // the ability to pass a context and additional request options. // -// See UpdateAnalysisTemplate for details on how to use this API operation. +// See ListMembers 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 *CleanRooms) UpdateAnalysisTemplateWithContext(ctx aws.Context, input *UpdateAnalysisTemplateInput, opts ...request.Option) (*UpdateAnalysisTemplateOutput, error) { - req, out := c.UpdateAnalysisTemplateRequest(input) +func (c *CleanRooms) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) { + req, out := c.ListMembersRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateCollaboration = "UpdateCollaboration" +// ListMembersPages iterates over the pages of a ListMembers operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListMembers 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 ListMembers operation. +// pageNum := 0 +// err := client.ListMembersPages(params, +// func(page *cleanrooms.ListMembersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRooms) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error { + return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateCollaborationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateCollaboration operation. The "output" return +// ListMembersPagesWithContext same as ListMembersPages 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 *CleanRooms) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListMembersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListMembersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListMemberships = "ListMemberships" + +// ListMembershipsRequest generates a "aws/request.Request" representing the +// client's request for the ListMemberships 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 UpdateCollaboration for more information on using the UpdateCollaboration +// See ListMemberships for more information on using the ListMemberships // 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 UpdateCollaborationRequest method. -// req, resp := client.UpdateCollaborationRequest(params) +// // Example sending a request using the ListMembershipsRequest method. +// req, resp := client.ListMembershipsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateCollaboration -func (c *CleanRooms) UpdateCollaborationRequest(input *UpdateCollaborationInput) (req *request.Request, output *UpdateCollaborationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMemberships +func (c *CleanRooms) ListMembershipsRequest(input *ListMembershipsInput) (req *request.Request, output *ListMembershipsOutput) { op := &request.Operation{ - Name: opUpdateCollaboration, - HTTPMethod: "PATCH", - HTTPPath: "/collaborations/{collaborationIdentifier}", + Name: opListMemberships, + HTTPMethod: "GET", + HTTPPath: "/memberships", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateCollaborationInput{} + input = &ListMembershipsInput{} } - output = &UpdateCollaborationOutput{} + output = &ListMembershipsOutput{} req = c.newRequest(op, input, output) return } -// UpdateCollaboration API operation for AWS Clean Rooms Service. +// ListMemberships API operation for AWS Clean Rooms Service. // -// Updates collaboration metadata and can only be called by the collaboration -// owner. +// Lists all memberships resources within the caller's account. // // 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 Clean Rooms Service's -// API operation UpdateCollaboration for usage and error information. +// API operation ListMemberships for usage and error information. // // Returned Error Types: // @@ -4161,85 +4630,140 @@ func (c *CleanRooms) UpdateCollaborationRequest(input *UpdateCollaborationInput) // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateCollaboration -func (c *CleanRooms) UpdateCollaboration(input *UpdateCollaborationInput) (*UpdateCollaborationOutput, error) { - req, out := c.UpdateCollaborationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListMemberships +func (c *CleanRooms) ListMemberships(input *ListMembershipsInput) (*ListMembershipsOutput, error) { + req, out := c.ListMembershipsRequest(input) return out, req.Send() } -// UpdateCollaborationWithContext is the same as UpdateCollaboration with the addition of +// ListMembershipsWithContext is the same as ListMemberships with the addition of // the ability to pass a context and additional request options. // -// See UpdateCollaboration for details on how to use this API operation. +// See ListMemberships 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 *CleanRooms) UpdateCollaborationWithContext(ctx aws.Context, input *UpdateCollaborationInput, opts ...request.Option) (*UpdateCollaborationOutput, error) { - req, out := c.UpdateCollaborationRequest(input) +func (c *CleanRooms) ListMembershipsWithContext(ctx aws.Context, input *ListMembershipsInput, opts ...request.Option) (*ListMembershipsOutput, error) { + req, out := c.ListMembershipsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateConfiguredTable = "UpdateConfiguredTable" - -// UpdateConfiguredTableRequest generates a "aws/request.Request" representing the -// client's request for the UpdateConfiguredTable 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. +// ListMembershipsPages iterates over the pages of a ListMemberships operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. // -// See UpdateConfiguredTable for more information on using the UpdateConfiguredTable -// API call, and error handling. +// See ListMemberships method for more information on how to use this operation. // -// 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. +// Note: This operation can generate multiple requests to a service. // -// // Example sending a request using the UpdateConfiguredTableRequest method. -// req, resp := client.UpdateConfiguredTableRequest(params) +// // Example iterating over at most 3 pages of a ListMemberships operation. +// pageNum := 0 +// err := client.ListMembershipsPages(params, +// func(page *cleanrooms.ListMembershipsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRooms) ListMembershipsPages(input *ListMembershipsInput, fn func(*ListMembershipsOutput, bool) bool) error { + return c.ListMembershipsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListMembershipsPagesWithContext same as ListMembershipsPages 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 *CleanRooms) ListMembershipsPagesWithContext(ctx aws.Context, input *ListMembershipsInput, fn func(*ListMembershipsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListMembershipsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListMembershipsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListMembershipsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListPrivacyBudgetTemplates = "ListPrivacyBudgetTemplates" + +// ListPrivacyBudgetTemplatesRequest generates a "aws/request.Request" representing the +// client's request for the ListPrivacyBudgetTemplates 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 ListPrivacyBudgetTemplates for more information on using the ListPrivacyBudgetTemplates +// 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 ListPrivacyBudgetTemplatesRequest method. +// req, resp := client.ListPrivacyBudgetTemplatesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTable -func (c *CleanRooms) UpdateConfiguredTableRequest(input *UpdateConfiguredTableInput) (req *request.Request, output *UpdateConfiguredTableOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListPrivacyBudgetTemplates +func (c *CleanRooms) ListPrivacyBudgetTemplatesRequest(input *ListPrivacyBudgetTemplatesInput) (req *request.Request, output *ListPrivacyBudgetTemplatesOutput) { op := &request.Operation{ - Name: opUpdateConfiguredTable, - HTTPMethod: "PATCH", - HTTPPath: "/configuredTables/{configuredTableIdentifier}", + Name: opListPrivacyBudgetTemplates, + HTTPMethod: "GET", + HTTPPath: "/memberships/{membershipIdentifier}/privacybudgettemplates", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateConfiguredTableInput{} + input = &ListPrivacyBudgetTemplatesInput{} } - output = &UpdateConfiguredTableOutput{} + output = &ListPrivacyBudgetTemplatesOutput{} req = c.newRequest(op, input, output) return } -// UpdateConfiguredTable API operation for AWS Clean Rooms Service. +// ListPrivacyBudgetTemplates API operation for AWS Clean Rooms Service. // -// Updates a configured table. +// Returns detailed information about the privacy budget templates in a specified +// 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 AWS Clean Rooms Service's -// API operation UpdateConfiguredTable for usage and error information. +// API operation ListPrivacyBudgetTemplates for usage and error information. // // Returned Error Types: // -// - ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// // - ResourceNotFoundException // Request references a resource which does not exist. // @@ -4255,85 +4779,139 @@ func (c *CleanRooms) UpdateConfiguredTableRequest(input *UpdateConfiguredTableIn // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTable -func (c *CleanRooms) UpdateConfiguredTable(input *UpdateConfiguredTableInput) (*UpdateConfiguredTableOutput, error) { - req, out := c.UpdateConfiguredTableRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListPrivacyBudgetTemplates +func (c *CleanRooms) ListPrivacyBudgetTemplates(input *ListPrivacyBudgetTemplatesInput) (*ListPrivacyBudgetTemplatesOutput, error) { + req, out := c.ListPrivacyBudgetTemplatesRequest(input) return out, req.Send() } -// UpdateConfiguredTableWithContext is the same as UpdateConfiguredTable with the addition of +// ListPrivacyBudgetTemplatesWithContext is the same as ListPrivacyBudgetTemplates with the addition of // the ability to pass a context and additional request options. // -// See UpdateConfiguredTable for details on how to use this API operation. +// See ListPrivacyBudgetTemplates 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 *CleanRooms) UpdateConfiguredTableWithContext(ctx aws.Context, input *UpdateConfiguredTableInput, opts ...request.Option) (*UpdateConfiguredTableOutput, error) { - req, out := c.UpdateConfiguredTableRequest(input) +func (c *CleanRooms) ListPrivacyBudgetTemplatesWithContext(ctx aws.Context, input *ListPrivacyBudgetTemplatesInput, opts ...request.Option) (*ListPrivacyBudgetTemplatesOutput, error) { + req, out := c.ListPrivacyBudgetTemplatesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateConfiguredTableAnalysisRule = "UpdateConfiguredTableAnalysisRule" +// ListPrivacyBudgetTemplatesPages iterates over the pages of a ListPrivacyBudgetTemplates operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPrivacyBudgetTemplates 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 ListPrivacyBudgetTemplates operation. +// pageNum := 0 +// err := client.ListPrivacyBudgetTemplatesPages(params, +// func(page *cleanrooms.ListPrivacyBudgetTemplatesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRooms) ListPrivacyBudgetTemplatesPages(input *ListPrivacyBudgetTemplatesInput, fn func(*ListPrivacyBudgetTemplatesOutput, bool) bool) error { + return c.ListPrivacyBudgetTemplatesPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateConfiguredTableAnalysisRuleRequest generates a "aws/request.Request" representing the -// client's request for the UpdateConfiguredTableAnalysisRule operation. The "output" return +// ListPrivacyBudgetTemplatesPagesWithContext same as ListPrivacyBudgetTemplatesPages 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 *CleanRooms) ListPrivacyBudgetTemplatesPagesWithContext(ctx aws.Context, input *ListPrivacyBudgetTemplatesInput, fn func(*ListPrivacyBudgetTemplatesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPrivacyBudgetTemplatesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPrivacyBudgetTemplatesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPrivacyBudgetTemplatesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListPrivacyBudgets = "ListPrivacyBudgets" + +// ListPrivacyBudgetsRequest generates a "aws/request.Request" representing the +// client's request for the ListPrivacyBudgets 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 UpdateConfiguredTableAnalysisRule for more information on using the UpdateConfiguredTableAnalysisRule +// See ListPrivacyBudgets for more information on using the ListPrivacyBudgets // 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 UpdateConfiguredTableAnalysisRuleRequest method. -// req, resp := client.UpdateConfiguredTableAnalysisRuleRequest(params) +// // Example sending a request using the ListPrivacyBudgetsRequest method. +// req, resp := client.ListPrivacyBudgetsRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAnalysisRule -func (c *CleanRooms) UpdateConfiguredTableAnalysisRuleRequest(input *UpdateConfiguredTableAnalysisRuleInput) (req *request.Request, output *UpdateConfiguredTableAnalysisRuleOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListPrivacyBudgets +func (c *CleanRooms) ListPrivacyBudgetsRequest(input *ListPrivacyBudgetsInput) (req *request.Request, output *ListPrivacyBudgetsOutput) { op := &request.Operation{ - Name: opUpdateConfiguredTableAnalysisRule, - HTTPMethod: "PATCH", - HTTPPath: "/configuredTables/{configuredTableIdentifier}/analysisRule/{analysisRuleType}", + Name: opListPrivacyBudgets, + HTTPMethod: "GET", + HTTPPath: "/memberships/{membershipIdentifier}/privacybudgets", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateConfiguredTableAnalysisRuleInput{} + input = &ListPrivacyBudgetsInput{} } - output = &UpdateConfiguredTableAnalysisRuleOutput{} + output = &ListPrivacyBudgetsOutput{} req = c.newRequest(op, input, output) return } -// UpdateConfiguredTableAnalysisRule API operation for AWS Clean Rooms Service. +// ListPrivacyBudgets API operation for AWS Clean Rooms Service. // -// Updates a configured table analysis rule. +// Returns detailed information about the privacy budgets in a specified 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 AWS Clean Rooms Service's -// API operation UpdateConfiguredTableAnalysisRule for usage and error information. +// API operation ListPrivacyBudgets for usage and error information. // // Returned Error Types: // -// - ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// // - ResourceNotFoundException // Request references a resource which does not exist. // @@ -4349,85 +4927,139 @@ func (c *CleanRooms) UpdateConfiguredTableAnalysisRuleRequest(input *UpdateConfi // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAnalysisRule -func (c *CleanRooms) UpdateConfiguredTableAnalysisRule(input *UpdateConfiguredTableAnalysisRuleInput) (*UpdateConfiguredTableAnalysisRuleOutput, error) { - req, out := c.UpdateConfiguredTableAnalysisRuleRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListPrivacyBudgets +func (c *CleanRooms) ListPrivacyBudgets(input *ListPrivacyBudgetsInput) (*ListPrivacyBudgetsOutput, error) { + req, out := c.ListPrivacyBudgetsRequest(input) return out, req.Send() } -// UpdateConfiguredTableAnalysisRuleWithContext is the same as UpdateConfiguredTableAnalysisRule with the addition of +// ListPrivacyBudgetsWithContext is the same as ListPrivacyBudgets with the addition of // the ability to pass a context and additional request options. // -// See UpdateConfiguredTableAnalysisRule for details on how to use this API operation. +// See ListPrivacyBudgets 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 *CleanRooms) UpdateConfiguredTableAnalysisRuleWithContext(ctx aws.Context, input *UpdateConfiguredTableAnalysisRuleInput, opts ...request.Option) (*UpdateConfiguredTableAnalysisRuleOutput, error) { - req, out := c.UpdateConfiguredTableAnalysisRuleRequest(input) +func (c *CleanRooms) ListPrivacyBudgetsWithContext(ctx aws.Context, input *ListPrivacyBudgetsInput, opts ...request.Option) (*ListPrivacyBudgetsOutput, error) { + req, out := c.ListPrivacyBudgetsRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateConfiguredTableAssociation = "UpdateConfiguredTableAssociation" +// ListPrivacyBudgetsPages iterates over the pages of a ListPrivacyBudgets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListPrivacyBudgets 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 ListPrivacyBudgets operation. +// pageNum := 0 +// err := client.ListPrivacyBudgetsPages(params, +// func(page *cleanrooms.ListPrivacyBudgetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRooms) ListPrivacyBudgetsPages(input *ListPrivacyBudgetsInput, fn func(*ListPrivacyBudgetsOutput, bool) bool) error { + return c.ListPrivacyBudgetsPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateConfiguredTableAssociationRequest generates a "aws/request.Request" representing the -// client's request for the UpdateConfiguredTableAssociation operation. The "output" return +// ListPrivacyBudgetsPagesWithContext same as ListPrivacyBudgetsPages 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 *CleanRooms) ListPrivacyBudgetsPagesWithContext(ctx aws.Context, input *ListPrivacyBudgetsInput, fn func(*ListPrivacyBudgetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListPrivacyBudgetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListPrivacyBudgetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListPrivacyBudgetsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListProtectedQueries = "ListProtectedQueries" + +// ListProtectedQueriesRequest generates a "aws/request.Request" representing the +// client's request for the ListProtectedQueries 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 UpdateConfiguredTableAssociation for more information on using the UpdateConfiguredTableAssociation +// See ListProtectedQueries for more information on using the ListProtectedQueries // 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 UpdateConfiguredTableAssociationRequest method. -// req, resp := client.UpdateConfiguredTableAssociationRequest(params) +// // Example sending a request using the ListProtectedQueriesRequest method. +// req, resp := client.ListProtectedQueriesRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAssociation -func (c *CleanRooms) UpdateConfiguredTableAssociationRequest(input *UpdateConfiguredTableAssociationInput) (req *request.Request, output *UpdateConfiguredTableAssociationOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListProtectedQueries +func (c *CleanRooms) ListProtectedQueriesRequest(input *ListProtectedQueriesInput) (req *request.Request, output *ListProtectedQueriesOutput) { op := &request.Operation{ - Name: opUpdateConfiguredTableAssociation, - HTTPMethod: "PATCH", - HTTPPath: "/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}", + Name: opListProtectedQueries, + HTTPMethod: "GET", + HTTPPath: "/memberships/{membershipIdentifier}/protectedQueries", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateConfiguredTableAssociationInput{} + input = &ListProtectedQueriesInput{} } - output = &UpdateConfiguredTableAssociationOutput{} + output = &ListProtectedQueriesOutput{} req = c.newRequest(op, input, output) return } -// UpdateConfiguredTableAssociation API operation for AWS Clean Rooms Service. +// ListProtectedQueries API operation for AWS Clean Rooms Service. // -// Updates a configured table association. +// Lists protected queries, sorted by the most recent query. // // 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 Clean Rooms Service's -// API operation UpdateConfiguredTableAssociation for usage and error information. +// API operation ListProtectedQueries for usage and error information. // // Returned Error Types: // -// - ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// // - ResourceNotFoundException // Request references a resource which does not exist. // @@ -4443,85 +5075,139 @@ func (c *CleanRooms) UpdateConfiguredTableAssociationRequest(input *UpdateConfig // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAssociation -func (c *CleanRooms) UpdateConfiguredTableAssociation(input *UpdateConfiguredTableAssociationInput) (*UpdateConfiguredTableAssociationOutput, error) { - req, out := c.UpdateConfiguredTableAssociationRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListProtectedQueries +func (c *CleanRooms) ListProtectedQueries(input *ListProtectedQueriesInput) (*ListProtectedQueriesOutput, error) { + req, out := c.ListProtectedQueriesRequest(input) return out, req.Send() } -// UpdateConfiguredTableAssociationWithContext is the same as UpdateConfiguredTableAssociation with the addition of +// ListProtectedQueriesWithContext is the same as ListProtectedQueries with the addition of // the ability to pass a context and additional request options. // -// See UpdateConfiguredTableAssociation for details on how to use this API operation. +// See ListProtectedQueries 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 *CleanRooms) UpdateConfiguredTableAssociationWithContext(ctx aws.Context, input *UpdateConfiguredTableAssociationInput, opts ...request.Option) (*UpdateConfiguredTableAssociationOutput, error) { - req, out := c.UpdateConfiguredTableAssociationRequest(input) +func (c *CleanRooms) ListProtectedQueriesWithContext(ctx aws.Context, input *ListProtectedQueriesInput, opts ...request.Option) (*ListProtectedQueriesOutput, error) { + req, out := c.ListProtectedQueriesRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateMembership = "UpdateMembership" - -// UpdateMembershipRequest generates a "aws/request.Request" representing the -// client's request for the UpdateMembership operation. The "output" return -// value will be populated with the request's response once the request completes -// successfully. -// +// ListProtectedQueriesPages iterates over the pages of a ListProtectedQueries operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListProtectedQueries 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 ListProtectedQueries operation. +// pageNum := 0 +// err := client.ListProtectedQueriesPages(params, +// func(page *cleanrooms.ListProtectedQueriesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRooms) ListProtectedQueriesPages(input *ListProtectedQueriesInput, fn func(*ListProtectedQueriesOutput, bool) bool) error { + return c.ListProtectedQueriesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListProtectedQueriesPagesWithContext same as ListProtectedQueriesPages 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 *CleanRooms) ListProtectedQueriesPagesWithContext(ctx aws.Context, input *ListProtectedQueriesInput, fn func(*ListProtectedQueriesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListProtectedQueriesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListProtectedQueriesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListProtectedQueriesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListSchemas = "ListSchemas" + +// ListSchemasRequest generates a "aws/request.Request" representing the +// client's request for the ListSchemas 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 UpdateMembership for more information on using the UpdateMembership +// See ListSchemas for more information on using the ListSchemas // 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 UpdateMembershipRequest method. -// req, resp := client.UpdateMembershipRequest(params) +// // Example sending a request using the ListSchemasRequest method. +// req, resp := client.ListSchemasRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateMembership -func (c *CleanRooms) UpdateMembershipRequest(input *UpdateMembershipInput) (req *request.Request, output *UpdateMembershipOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListSchemas +func (c *CleanRooms) ListSchemasRequest(input *ListSchemasInput) (req *request.Request, output *ListSchemasOutput) { op := &request.Operation{ - Name: opUpdateMembership, - HTTPMethod: "PATCH", - HTTPPath: "/memberships/{membershipIdentifier}", + Name: opListSchemas, + HTTPMethod: "GET", + HTTPPath: "/collaborations/{collaborationIdentifier}/schemas", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, } if input == nil { - input = &UpdateMembershipInput{} + input = &ListSchemasInput{} } - output = &UpdateMembershipOutput{} + output = &ListSchemasOutput{} req = c.newRequest(op, input, output) return } -// UpdateMembership API operation for AWS Clean Rooms Service. +// ListSchemas API operation for AWS Clean Rooms Service. // -// Updates a membership. +// Lists the schemas for relations within a collaboration. // // 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 Clean Rooms Service's -// API operation UpdateMembership for usage and error information. +// API operation ListSchemas for usage and error information. // // Returned Error Types: // -// - ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// // - ResourceNotFoundException // Request references a resource which does not exist. // @@ -4537,202 +5223,5071 @@ func (c *CleanRooms) UpdateMembershipRequest(input *UpdateMembershipInput) (req // - AccessDeniedException // Caller does not have sufficient access to perform this action. // -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateMembership -func (c *CleanRooms) UpdateMembership(input *UpdateMembershipInput) (*UpdateMembershipOutput, error) { - req, out := c.UpdateMembershipRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListSchemas +func (c *CleanRooms) ListSchemas(input *ListSchemasInput) (*ListSchemasOutput, error) { + req, out := c.ListSchemasRequest(input) return out, req.Send() } -// UpdateMembershipWithContext is the same as UpdateMembership with the addition of +// ListSchemasWithContext is the same as ListSchemas with the addition of // the ability to pass a context and additional request options. // -// See UpdateMembership for details on how to use this API operation. +// See ListSchemas 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 *CleanRooms) UpdateMembershipWithContext(ctx aws.Context, input *UpdateMembershipInput, opts ...request.Option) (*UpdateMembershipOutput, error) { - req, out := c.UpdateMembershipRequest(input) +func (c *CleanRooms) ListSchemasWithContext(ctx aws.Context, input *ListSchemasInput, opts ...request.Option) (*ListSchemasOutput, error) { + req, out := c.ListSchemasRequest(input) req.SetContext(ctx) req.ApplyOptions(opts...) return out, req.Send() } -const opUpdateProtectedQuery = "UpdateProtectedQuery" +// ListSchemasPages iterates over the pages of a ListSchemas operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListSchemas 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 ListSchemas operation. +// pageNum := 0 +// err := client.ListSchemasPages(params, +// func(page *cleanrooms.ListSchemasOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRooms) ListSchemasPages(input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool) error { + return c.ListSchemasPagesWithContext(aws.BackgroundContext(), input, fn) +} -// UpdateProtectedQueryRequest generates a "aws/request.Request" representing the -// client's request for the UpdateProtectedQuery operation. The "output" return +// ListSchemasPagesWithContext same as ListSchemasPages 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 *CleanRooms) ListSchemasPagesWithContext(ctx aws.Context, input *ListSchemasInput, fn func(*ListSchemasOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListSchemasInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListSchemasRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListSchemasOutput), !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 UpdateProtectedQuery for more information on using the UpdateProtectedQuery +// 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 UpdateProtectedQueryRequest method. -// req, resp := client.UpdateProtectedQueryRequest(params) +// // 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/cleanrooms-2022-02-17/UpdateProtectedQuery -func (c *CleanRooms) UpdateProtectedQueryRequest(input *UpdateProtectedQueryInput) (req *request.Request, output *UpdateProtectedQueryOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListTagsForResource +func (c *CleanRooms) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { op := &request.Operation{ - Name: opUpdateProtectedQuery, - HTTPMethod: "PATCH", - HTTPPath: "/memberships/{membershipIdentifier}/protectedQueries/{protectedQueryIdentifier}", + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceArn}", } if input == nil { - input = &UpdateProtectedQueryInput{} + input = &ListTagsForResourceInput{} } - output = &UpdateProtectedQueryOutput{} + output = &ListTagsForResourceOutput{} req = c.newRequest(op, input, output) return } -// UpdateProtectedQuery API operation for AWS Clean Rooms Service. +// ListTagsForResource API operation for AWS Clean Rooms Service. // -// Updates the processing of a currently running query. +// Lists all of the tags that have been added to 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 AWS Clean Rooms Service's -// API operation UpdateProtectedQuery for usage and error information. +// API operation ListTagsForResource for usage and error information. // // Returned Error Types: // -// - ConflictException -// Updating or deleting a resource can cause an inconsistent state. -// // - ResourceNotFoundException // Request references a resource which does not exist. // -// - InternalServerException -// Unexpected error during processing of request. -// // - ValidationException // The input fails to satisfy the specified constraints. // -// - ThrottlingException -// Request was denied due to request throttling. -// -// - AccessDeniedException -// Caller does not have sufficient access to perform this action. -// -// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateProtectedQuery -func (c *CleanRooms) UpdateProtectedQuery(input *UpdateProtectedQueryInput) (*UpdateProtectedQueryOutput, error) { - req, out := c.UpdateProtectedQueryRequest(input) +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/ListTagsForResource +func (c *CleanRooms) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { + req, out := c.ListTagsForResourceRequest(input) return out, req.Send() } -// UpdateProtectedQueryWithContext is the same as UpdateProtectedQuery with the addition of +// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of // the ability to pass a context and additional request options. // -// See UpdateProtectedQuery for details on how to use this API operation. +// 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 *CleanRooms) UpdateProtectedQueryWithContext(ctx aws.Context, input *UpdateProtectedQueryInput, opts ...request.Option) (*UpdateProtectedQueryOutput, error) { - req, out := c.UpdateProtectedQueryRequest(input) +func (c *CleanRooms) 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() } -// Caller does not have sufficient access to perform this action. -type AccessDeniedException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +const opPreviewPrivacyImpact = "PreviewPrivacyImpact" - Message_ *string `locationName:"message" type:"string"` +// PreviewPrivacyImpactRequest generates a "aws/request.Request" representing the +// client's request for the PreviewPrivacyImpact 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 PreviewPrivacyImpact for more information on using the PreviewPrivacyImpact +// 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 PreviewPrivacyImpactRequest method. +// req, resp := client.PreviewPrivacyImpactRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/PreviewPrivacyImpact +func (c *CleanRooms) PreviewPrivacyImpactRequest(input *PreviewPrivacyImpactInput) (req *request.Request, output *PreviewPrivacyImpactOutput) { + op := &request.Operation{ + Name: opPreviewPrivacyImpact, + HTTPMethod: "POST", + HTTPPath: "/memberships/{membershipIdentifier}/previewprivacyimpact", + } - // A reason code for the exception. - Reason *string `locationName:"reason" type:"string" enum:"AccessDeniedExceptionReason"` -} + if input == nil { + input = &PreviewPrivacyImpactInput{} + } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AccessDeniedException) String() string { - return awsutil.Prettify(s) + output = &PreviewPrivacyImpactOutput{} + req = c.newRequest(op, input, output) + return } -// GoString returns the string representation. +// PreviewPrivacyImpact API operation for AWS Clean Rooms Service. +// +// An estimate of the number of aggregation functions that the member who can +// query can run given epsilon and noise parameters. +// +// 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 Clean Rooms Service's +// API operation PreviewPrivacyImpact for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/PreviewPrivacyImpact +func (c *CleanRooms) PreviewPrivacyImpact(input *PreviewPrivacyImpactInput) (*PreviewPrivacyImpactOutput, error) { + req, out := c.PreviewPrivacyImpactRequest(input) + return out, req.Send() +} + +// PreviewPrivacyImpactWithContext is the same as PreviewPrivacyImpact with the addition of +// the ability to pass a context and additional request options. +// +// See PreviewPrivacyImpact 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 *CleanRooms) PreviewPrivacyImpactWithContext(ctx aws.Context, input *PreviewPrivacyImpactInput, opts ...request.Option) (*PreviewPrivacyImpactOutput, error) { + req, out := c.PreviewPrivacyImpactRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartProtectedQuery = "StartProtectedQuery" + +// StartProtectedQueryRequest generates a "aws/request.Request" representing the +// client's request for the StartProtectedQuery 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 StartProtectedQuery for more information on using the StartProtectedQuery +// 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 StartProtectedQueryRequest method. +// req, resp := client.StartProtectedQueryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/StartProtectedQuery +func (c *CleanRooms) StartProtectedQueryRequest(input *StartProtectedQueryInput) (req *request.Request, output *StartProtectedQueryOutput) { + op := &request.Operation{ + Name: opStartProtectedQuery, + HTTPMethod: "POST", + HTTPPath: "/memberships/{membershipIdentifier}/protectedQueries", + } + + if input == nil { + input = &StartProtectedQueryInput{} + } + + output = &StartProtectedQueryOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartProtectedQuery API operation for AWS Clean Rooms Service. +// +// Creates a protected query that is started by Clean Rooms. +// +// 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 Clean Rooms Service's +// API operation StartProtectedQuery for usage and error information. +// +// Returned Error Types: +// +// - ServiceQuotaExceededException +// Request denied because service quota has been exceeded. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/StartProtectedQuery +func (c *CleanRooms) StartProtectedQuery(input *StartProtectedQueryInput) (*StartProtectedQueryOutput, error) { + req, out := c.StartProtectedQueryRequest(input) + return out, req.Send() +} + +// StartProtectedQueryWithContext is the same as StartProtectedQuery with the addition of +// the ability to pass a context and additional request options. +// +// See StartProtectedQuery 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 *CleanRooms) StartProtectedQueryWithContext(ctx aws.Context, input *StartProtectedQueryInput, opts ...request.Option) (*StartProtectedQueryOutput, error) { + req, out := c.StartProtectedQueryRequest(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/cleanrooms-2022-02-17/TagResource +func (c *CleanRooms) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/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 AWS Clean Rooms Service. +// +// Tags 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 AWS Clean Rooms Service's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/TagResource +func (c *CleanRooms) 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 *CleanRooms) 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/cleanrooms-2022-02-17/UntagResource +func (c *CleanRooms) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/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 AWS Clean Rooms Service. +// +// Removes a tag or list of tags from 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 AWS Clean Rooms Service's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UntagResource +func (c *CleanRooms) 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 *CleanRooms) 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 opUpdateAnalysisTemplate = "UpdateAnalysisTemplate" + +// UpdateAnalysisTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdateAnalysisTemplate 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 UpdateAnalysisTemplate for more information on using the UpdateAnalysisTemplate +// 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 UpdateAnalysisTemplateRequest method. +// req, resp := client.UpdateAnalysisTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateAnalysisTemplate +func (c *CleanRooms) UpdateAnalysisTemplateRequest(input *UpdateAnalysisTemplateInput) (req *request.Request, output *UpdateAnalysisTemplateOutput) { + op := &request.Operation{ + Name: opUpdateAnalysisTemplate, + HTTPMethod: "PATCH", + HTTPPath: "/memberships/{membershipIdentifier}/analysistemplates/{analysisTemplateIdentifier}", + } + + if input == nil { + input = &UpdateAnalysisTemplateInput{} + } + + output = &UpdateAnalysisTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateAnalysisTemplate API operation for AWS Clean Rooms Service. +// +// Updates the analysis template metadata. +// +// 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 Clean Rooms Service's +// API operation UpdateAnalysisTemplate for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateAnalysisTemplate +func (c *CleanRooms) UpdateAnalysisTemplate(input *UpdateAnalysisTemplateInput) (*UpdateAnalysisTemplateOutput, error) { + req, out := c.UpdateAnalysisTemplateRequest(input) + return out, req.Send() +} + +// UpdateAnalysisTemplateWithContext is the same as UpdateAnalysisTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateAnalysisTemplate 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 *CleanRooms) UpdateAnalysisTemplateWithContext(ctx aws.Context, input *UpdateAnalysisTemplateInput, opts ...request.Option) (*UpdateAnalysisTemplateOutput, error) { + req, out := c.UpdateAnalysisTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateCollaboration = "UpdateCollaboration" + +// UpdateCollaborationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCollaboration 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 UpdateCollaboration for more information on using the UpdateCollaboration +// 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 UpdateCollaborationRequest method. +// req, resp := client.UpdateCollaborationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateCollaboration +func (c *CleanRooms) UpdateCollaborationRequest(input *UpdateCollaborationInput) (req *request.Request, output *UpdateCollaborationOutput) { + op := &request.Operation{ + Name: opUpdateCollaboration, + HTTPMethod: "PATCH", + HTTPPath: "/collaborations/{collaborationIdentifier}", + } + + if input == nil { + input = &UpdateCollaborationInput{} + } + + output = &UpdateCollaborationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCollaboration API operation for AWS Clean Rooms Service. +// +// Updates collaboration metadata and can only be called by the collaboration +// owner. +// +// 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 Clean Rooms Service's +// API operation UpdateCollaboration for usage and error information. +// +// Returned Error Types: +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateCollaboration +func (c *CleanRooms) UpdateCollaboration(input *UpdateCollaborationInput) (*UpdateCollaborationOutput, error) { + req, out := c.UpdateCollaborationRequest(input) + return out, req.Send() +} + +// UpdateCollaborationWithContext is the same as UpdateCollaboration with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCollaboration 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 *CleanRooms) UpdateCollaborationWithContext(ctx aws.Context, input *UpdateCollaborationInput, opts ...request.Option) (*UpdateCollaborationOutput, error) { + req, out := c.UpdateCollaborationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateConfiguredAudienceModelAssociation = "UpdateConfiguredAudienceModelAssociation" + +// UpdateConfiguredAudienceModelAssociationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConfiguredAudienceModelAssociation 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 UpdateConfiguredAudienceModelAssociation for more information on using the UpdateConfiguredAudienceModelAssociation +// 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 UpdateConfiguredAudienceModelAssociationRequest method. +// req, resp := client.UpdateConfiguredAudienceModelAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredAudienceModelAssociation +func (c *CleanRooms) UpdateConfiguredAudienceModelAssociationRequest(input *UpdateConfiguredAudienceModelAssociationInput) (req *request.Request, output *UpdateConfiguredAudienceModelAssociationOutput) { + op := &request.Operation{ + Name: opUpdateConfiguredAudienceModelAssociation, + HTTPMethod: "PATCH", + HTTPPath: "/memberships/{membershipIdentifier}/configuredaudiencemodelassociations/{configuredAudienceModelAssociationIdentifier}", + } + + if input == nil { + input = &UpdateConfiguredAudienceModelAssociationInput{} + } + + output = &UpdateConfiguredAudienceModelAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateConfiguredAudienceModelAssociation API operation for AWS Clean Rooms Service. +// +// Provides the details necessary to update a configured audience model association. +// +// 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 Clean Rooms Service's +// API operation UpdateConfiguredAudienceModelAssociation for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredAudienceModelAssociation +func (c *CleanRooms) UpdateConfiguredAudienceModelAssociation(input *UpdateConfiguredAudienceModelAssociationInput) (*UpdateConfiguredAudienceModelAssociationOutput, error) { + req, out := c.UpdateConfiguredAudienceModelAssociationRequest(input) + return out, req.Send() +} + +// UpdateConfiguredAudienceModelAssociationWithContext is the same as UpdateConfiguredAudienceModelAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateConfiguredAudienceModelAssociation 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 *CleanRooms) UpdateConfiguredAudienceModelAssociationWithContext(ctx aws.Context, input *UpdateConfiguredAudienceModelAssociationInput, opts ...request.Option) (*UpdateConfiguredAudienceModelAssociationOutput, error) { + req, out := c.UpdateConfiguredAudienceModelAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateConfiguredTable = "UpdateConfiguredTable" + +// UpdateConfiguredTableRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConfiguredTable 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 UpdateConfiguredTable for more information on using the UpdateConfiguredTable +// 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 UpdateConfiguredTableRequest method. +// req, resp := client.UpdateConfiguredTableRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTable +func (c *CleanRooms) UpdateConfiguredTableRequest(input *UpdateConfiguredTableInput) (req *request.Request, output *UpdateConfiguredTableOutput) { + op := &request.Operation{ + Name: opUpdateConfiguredTable, + HTTPMethod: "PATCH", + HTTPPath: "/configuredTables/{configuredTableIdentifier}", + } + + if input == nil { + input = &UpdateConfiguredTableInput{} + } + + output = &UpdateConfiguredTableOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateConfiguredTable API operation for AWS Clean Rooms Service. +// +// Updates a configured table. +// +// 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 Clean Rooms Service's +// API operation UpdateConfiguredTable for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTable +func (c *CleanRooms) UpdateConfiguredTable(input *UpdateConfiguredTableInput) (*UpdateConfiguredTableOutput, error) { + req, out := c.UpdateConfiguredTableRequest(input) + return out, req.Send() +} + +// UpdateConfiguredTableWithContext is the same as UpdateConfiguredTable with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateConfiguredTable 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 *CleanRooms) UpdateConfiguredTableWithContext(ctx aws.Context, input *UpdateConfiguredTableInput, opts ...request.Option) (*UpdateConfiguredTableOutput, error) { + req, out := c.UpdateConfiguredTableRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateConfiguredTableAnalysisRule = "UpdateConfiguredTableAnalysisRule" + +// UpdateConfiguredTableAnalysisRuleRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConfiguredTableAnalysisRule 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 UpdateConfiguredTableAnalysisRule for more information on using the UpdateConfiguredTableAnalysisRule +// 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 UpdateConfiguredTableAnalysisRuleRequest method. +// req, resp := client.UpdateConfiguredTableAnalysisRuleRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAnalysisRule +func (c *CleanRooms) UpdateConfiguredTableAnalysisRuleRequest(input *UpdateConfiguredTableAnalysisRuleInput) (req *request.Request, output *UpdateConfiguredTableAnalysisRuleOutput) { + op := &request.Operation{ + Name: opUpdateConfiguredTableAnalysisRule, + HTTPMethod: "PATCH", + HTTPPath: "/configuredTables/{configuredTableIdentifier}/analysisRule/{analysisRuleType}", + } + + if input == nil { + input = &UpdateConfiguredTableAnalysisRuleInput{} + } + + output = &UpdateConfiguredTableAnalysisRuleOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateConfiguredTableAnalysisRule API operation for AWS Clean Rooms Service. +// +// Updates a configured table analysis rule. +// +// 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 Clean Rooms Service's +// API operation UpdateConfiguredTableAnalysisRule for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAnalysisRule +func (c *CleanRooms) UpdateConfiguredTableAnalysisRule(input *UpdateConfiguredTableAnalysisRuleInput) (*UpdateConfiguredTableAnalysisRuleOutput, error) { + req, out := c.UpdateConfiguredTableAnalysisRuleRequest(input) + return out, req.Send() +} + +// UpdateConfiguredTableAnalysisRuleWithContext is the same as UpdateConfiguredTableAnalysisRule with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateConfiguredTableAnalysisRule 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 *CleanRooms) UpdateConfiguredTableAnalysisRuleWithContext(ctx aws.Context, input *UpdateConfiguredTableAnalysisRuleInput, opts ...request.Option) (*UpdateConfiguredTableAnalysisRuleOutput, error) { + req, out := c.UpdateConfiguredTableAnalysisRuleRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateConfiguredTableAssociation = "UpdateConfiguredTableAssociation" + +// UpdateConfiguredTableAssociationRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConfiguredTableAssociation 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 UpdateConfiguredTableAssociation for more information on using the UpdateConfiguredTableAssociation +// 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 UpdateConfiguredTableAssociationRequest method. +// req, resp := client.UpdateConfiguredTableAssociationRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAssociation +func (c *CleanRooms) UpdateConfiguredTableAssociationRequest(input *UpdateConfiguredTableAssociationInput) (req *request.Request, output *UpdateConfiguredTableAssociationOutput) { + op := &request.Operation{ + Name: opUpdateConfiguredTableAssociation, + HTTPMethod: "PATCH", + HTTPPath: "/memberships/{membershipIdentifier}/configuredTableAssociations/{configuredTableAssociationIdentifier}", + } + + if input == nil { + input = &UpdateConfiguredTableAssociationInput{} + } + + output = &UpdateConfiguredTableAssociationOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateConfiguredTableAssociation API operation for AWS Clean Rooms Service. +// +// Updates a configured table association. +// +// 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 Clean Rooms Service's +// API operation UpdateConfiguredTableAssociation for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateConfiguredTableAssociation +func (c *CleanRooms) UpdateConfiguredTableAssociation(input *UpdateConfiguredTableAssociationInput) (*UpdateConfiguredTableAssociationOutput, error) { + req, out := c.UpdateConfiguredTableAssociationRequest(input) + return out, req.Send() +} + +// UpdateConfiguredTableAssociationWithContext is the same as UpdateConfiguredTableAssociation with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateConfiguredTableAssociation 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 *CleanRooms) UpdateConfiguredTableAssociationWithContext(ctx aws.Context, input *UpdateConfiguredTableAssociationInput, opts ...request.Option) (*UpdateConfiguredTableAssociationOutput, error) { + req, out := c.UpdateConfiguredTableAssociationRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateMembership = "UpdateMembership" + +// UpdateMembershipRequest generates a "aws/request.Request" representing the +// client's request for the UpdateMembership 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 UpdateMembership for more information on using the UpdateMembership +// 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 UpdateMembershipRequest method. +// req, resp := client.UpdateMembershipRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateMembership +func (c *CleanRooms) UpdateMembershipRequest(input *UpdateMembershipInput) (req *request.Request, output *UpdateMembershipOutput) { + op := &request.Operation{ + Name: opUpdateMembership, + HTTPMethod: "PATCH", + HTTPPath: "/memberships/{membershipIdentifier}", + } + + if input == nil { + input = &UpdateMembershipInput{} + } + + output = &UpdateMembershipOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateMembership API operation for AWS Clean Rooms Service. +// +// Updates a 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 AWS Clean Rooms Service's +// API operation UpdateMembership for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateMembership +func (c *CleanRooms) UpdateMembership(input *UpdateMembershipInput) (*UpdateMembershipOutput, error) { + req, out := c.UpdateMembershipRequest(input) + return out, req.Send() +} + +// UpdateMembershipWithContext is the same as UpdateMembership with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateMembership 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 *CleanRooms) UpdateMembershipWithContext(ctx aws.Context, input *UpdateMembershipInput, opts ...request.Option) (*UpdateMembershipOutput, error) { + req, out := c.UpdateMembershipRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdatePrivacyBudgetTemplate = "UpdatePrivacyBudgetTemplate" + +// UpdatePrivacyBudgetTemplateRequest generates a "aws/request.Request" representing the +// client's request for the UpdatePrivacyBudgetTemplate 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 UpdatePrivacyBudgetTemplate for more information on using the UpdatePrivacyBudgetTemplate +// 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 UpdatePrivacyBudgetTemplateRequest method. +// req, resp := client.UpdatePrivacyBudgetTemplateRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdatePrivacyBudgetTemplate +func (c *CleanRooms) UpdatePrivacyBudgetTemplateRequest(input *UpdatePrivacyBudgetTemplateInput) (req *request.Request, output *UpdatePrivacyBudgetTemplateOutput) { + op := &request.Operation{ + Name: opUpdatePrivacyBudgetTemplate, + HTTPMethod: "PATCH", + HTTPPath: "/memberships/{membershipIdentifier}/privacybudgettemplates/{privacyBudgetTemplateIdentifier}", + } + + if input == nil { + input = &UpdatePrivacyBudgetTemplateInput{} + } + + output = &UpdatePrivacyBudgetTemplateOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdatePrivacyBudgetTemplate API operation for AWS Clean Rooms Service. +// +// Updates the privacy budget template for the specified 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 AWS Clean Rooms Service's +// API operation UpdatePrivacyBudgetTemplate for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdatePrivacyBudgetTemplate +func (c *CleanRooms) UpdatePrivacyBudgetTemplate(input *UpdatePrivacyBudgetTemplateInput) (*UpdatePrivacyBudgetTemplateOutput, error) { + req, out := c.UpdatePrivacyBudgetTemplateRequest(input) + return out, req.Send() +} + +// UpdatePrivacyBudgetTemplateWithContext is the same as UpdatePrivacyBudgetTemplate with the addition of +// the ability to pass a context and additional request options. +// +// See UpdatePrivacyBudgetTemplate 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 *CleanRooms) UpdatePrivacyBudgetTemplateWithContext(ctx aws.Context, input *UpdatePrivacyBudgetTemplateInput, opts ...request.Option) (*UpdatePrivacyBudgetTemplateOutput, error) { + req, out := c.UpdatePrivacyBudgetTemplateRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateProtectedQuery = "UpdateProtectedQuery" + +// UpdateProtectedQueryRequest generates a "aws/request.Request" representing the +// client's request for the UpdateProtectedQuery 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 UpdateProtectedQuery for more information on using the UpdateProtectedQuery +// 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 UpdateProtectedQueryRequest method. +// req, resp := client.UpdateProtectedQueryRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateProtectedQuery +func (c *CleanRooms) UpdateProtectedQueryRequest(input *UpdateProtectedQueryInput) (req *request.Request, output *UpdateProtectedQueryOutput) { + op := &request.Operation{ + Name: opUpdateProtectedQuery, + HTTPMethod: "PATCH", + HTTPPath: "/memberships/{membershipIdentifier}/protectedQueries/{protectedQueryIdentifier}", + } + + if input == nil { + input = &UpdateProtectedQueryInput{} + } + + output = &UpdateProtectedQueryOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateProtectedQuery API operation for AWS Clean Rooms Service. +// +// Updates the processing of a currently running query. +// +// 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 Clean Rooms Service's +// API operation UpdateProtectedQuery for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// Updating or deleting a resource can cause an inconsistent state. +// +// - ResourceNotFoundException +// Request references a resource which does not exist. +// +// - InternalServerException +// Unexpected error during processing of request. +// +// - ValidationException +// The input fails to satisfy the specified constraints. +// +// - ThrottlingException +// Request was denied due to request throttling. +// +// - AccessDeniedException +// Caller does not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanrooms-2022-02-17/UpdateProtectedQuery +func (c *CleanRooms) UpdateProtectedQuery(input *UpdateProtectedQueryInput) (*UpdateProtectedQueryOutput, error) { + req, out := c.UpdateProtectedQueryRequest(input) + return out, req.Send() +} + +// UpdateProtectedQueryWithContext is the same as UpdateProtectedQuery with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateProtectedQuery 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 *CleanRooms) UpdateProtectedQueryWithContext(ctx aws.Context, input *UpdateProtectedQueryInput, opts ...request.Option) (*UpdateProtectedQueryOutput, error) { + req, out := c.UpdateProtectedQueryRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// Caller does not have sufficient access to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // A reason code for the exception. + Reason *string `locationName:"reason" type:"string" enum:"AccessDeniedExceptionReason"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s 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 +} + +// Column in configured table that can be used in aggregate function in query. +type AggregateColumn struct { + _ struct{} `type:"structure"` + + // Column names in configured table of aggregate columns. + // + // ColumnNames is a required field + ColumnNames []*string `locationName:"columnNames" min:"1" type:"list" required:"true"` + + // Aggregation function that can be applied to aggregate column in query. + // + // Function is a required field + Function *string `locationName:"function" type:"string" required:"true" enum:"AggregateFunctionName"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AggregateColumn) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AggregateColumn) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AggregateColumn) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AggregateColumn"} + if s.ColumnNames == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnNames")) + } + if s.ColumnNames != nil && len(s.ColumnNames) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnNames", 1)) + } + if s.Function == nil { + invalidParams.Add(request.NewErrParamRequired("Function")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumnNames sets the ColumnNames field's value. +func (s *AggregateColumn) SetColumnNames(v []*string) *AggregateColumn { + s.ColumnNames = v + return s +} + +// SetFunction sets the Function field's value. +func (s *AggregateColumn) SetFunction(v string) *AggregateColumn { + s.Function = &v + return s +} + +// Constraint on query output removing output rows that do not meet a minimum +// number of distinct values of a specified column. +type AggregationConstraint struct { + _ struct{} `type:"structure"` + + // Column in aggregation constraint for which there must be a minimum number + // of distinct values in an output row for it to be in the query output. + // + // ColumnName is a required field + ColumnName *string `locationName:"columnName" min:"1" type:"string" required:"true"` + + // The minimum number of distinct values that an output row must be an aggregation + // of. Minimum threshold of distinct values for a specified column that must + // exist in an output row for it to be in the query output. + // + // Minimum is a required field + Minimum *int64 `locationName:"minimum" min:"2" type:"integer" required:"true"` + + // The type of aggregation the constraint allows. The only valid value is currently + // `COUNT_DISTINCT`. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"AggregationType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AggregationConstraint) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AggregationConstraint) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AggregationConstraint) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AggregationConstraint"} + if s.ColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnName")) + } + if s.ColumnName != nil && len(*s.ColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) + } + if s.Minimum == nil { + invalidParams.Add(request.NewErrParamRequired("Minimum")) + } + if s.Minimum != nil && *s.Minimum < 2 { + invalidParams.Add(request.NewErrParamMinValue("Minimum", 2)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumnName sets the ColumnName field's value. +func (s *AggregationConstraint) SetColumnName(v string) *AggregationConstraint { + s.ColumnName = &v + return s +} + +// SetMinimum sets the Minimum field's value. +func (s *AggregationConstraint) SetMinimum(v int64) *AggregationConstraint { + s.Minimum = &v + return s +} + +// SetType sets the Type field's value. +func (s *AggregationConstraint) SetType(v string) *AggregationConstraint { + s.Type = &v + return s +} + +// Optional. The member who can query can provide this placeholder for a literal +// data value in an analysis template. +type AnalysisParameter struct { + _ struct{} `type:"structure" sensitive:"true"` + + // Optional. The default value that is applied in the analysis template. The + // member who can query can override this value in the query editor. + DefaultValue *string `locationName:"defaultValue" type:"string"` + + // The name of the parameter. The name must use only alphanumeric, underscore + // (_), or hyphen (-) characters but cannot start or end with a hyphen. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The type of parameter. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ParameterType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisParameter) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisParameter) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AnalysisParameter) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AnalysisParameter"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDefaultValue sets the DefaultValue field's value. +func (s *AnalysisParameter) SetDefaultValue(v string) *AnalysisParameter { + s.DefaultValue = &v + return s +} + +// SetName sets the Name field's value. +func (s *AnalysisParameter) SetName(v string) *AnalysisParameter { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *AnalysisParameter) SetType(v string) *AnalysisParameter { + s.Type = &v + return s +} + +// A specification about how data from the configured table can be used in a +// query. +type AnalysisRule struct { + _ struct{} `type:"structure"` + + // The unique ID for the associated collaboration. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time the analysis rule was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The name for the analysis rule. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // A policy that describes the associated data usage limitations. + // + // Policy is a required field + Policy *AnalysisRulePolicy `locationName:"policy" type:"structure" required:"true"` + + // The type of analysis rule. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"AnalysisRuleType"` + + // The time the analysis rule was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRule) GoString() string { + return s.String() +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *AnalysisRule) SetCollaborationId(v string) *AnalysisRule { + s.CollaborationId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *AnalysisRule) SetCreateTime(v time.Time) *AnalysisRule { + s.CreateTime = &v + return s +} + +// SetName sets the Name field's value. +func (s *AnalysisRule) SetName(v string) *AnalysisRule { + s.Name = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *AnalysisRule) SetPolicy(v *AnalysisRulePolicy) *AnalysisRule { + s.Policy = v + return s +} + +// SetType sets the Type field's value. +func (s *AnalysisRule) SetType(v string) *AnalysisRule { + s.Type = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *AnalysisRule) SetUpdateTime(v time.Time) *AnalysisRule { + s.UpdateTime = &v + return s +} + +// A type of analysis rule that enables query structure and specified queries +// that produce aggregate statistics. +type AnalysisRuleAggregation struct { + _ struct{} `type:"structure"` + + // The columns that query runners are allowed to use in aggregation queries. + // + // AggregateColumns is a required field + AggregateColumns []*AggregateColumn `locationName:"aggregateColumns" min:"1" type:"list" required:"true"` + + // Which logical operators (if any) are to be used in an INNER JOIN match condition. + // Default is AND. + AllowedJoinOperators []*string `locationName:"allowedJoinOperators" type:"list" enum:"JoinOperator"` + + // The columns that query runners are allowed to select, group by, or filter + // by. + // + // DimensionColumns is a required field + DimensionColumns []*string `locationName:"dimensionColumns" type:"list" required:"true"` + + // Columns in configured table that can be used in join statements and/or as + // aggregate columns. They can never be outputted directly. + // + // JoinColumns is a required field + JoinColumns []*string `locationName:"joinColumns" type:"list" required:"true"` + + // Control that requires member who runs query to do a join with their configured + // table and/or other configured table in query. + JoinRequired *string `locationName:"joinRequired" type:"string" enum:"JoinRequiredOption"` + + // Columns that must meet a specific threshold value (after an aggregation function + // is applied to it) for each output row to be returned. + // + // OutputConstraints is a required field + OutputConstraints []*AggregationConstraint `locationName:"outputConstraints" min:"1" type:"list" required:"true"` + + // Set of scalar functions that are allowed to be used on dimension columns + // and the output of aggregation of metrics. + // + // ScalarFunctions is a required field + ScalarFunctions []*string `locationName:"scalarFunctions" type:"list" required:"true" enum:"ScalarFunctions"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRuleAggregation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRuleAggregation) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AnalysisRuleAggregation) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AnalysisRuleAggregation"} + if s.AggregateColumns == nil { + invalidParams.Add(request.NewErrParamRequired("AggregateColumns")) + } + if s.AggregateColumns != nil && len(s.AggregateColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AggregateColumns", 1)) + } + if s.DimensionColumns == nil { + invalidParams.Add(request.NewErrParamRequired("DimensionColumns")) + } + if s.JoinColumns == nil { + invalidParams.Add(request.NewErrParamRequired("JoinColumns")) + } + if s.OutputConstraints == nil { + invalidParams.Add(request.NewErrParamRequired("OutputConstraints")) + } + if s.OutputConstraints != nil && len(s.OutputConstraints) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OutputConstraints", 1)) + } + if s.ScalarFunctions == nil { + invalidParams.Add(request.NewErrParamRequired("ScalarFunctions")) + } + if s.AggregateColumns != nil { + for i, v := range s.AggregateColumns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AggregateColumns", i), err.(request.ErrInvalidParams)) + } + } + } + if s.OutputConstraints != nil { + for i, v := range s.OutputConstraints { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "OutputConstraints", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAggregateColumns sets the AggregateColumns field's value. +func (s *AnalysisRuleAggregation) SetAggregateColumns(v []*AggregateColumn) *AnalysisRuleAggregation { + s.AggregateColumns = v + return s +} + +// SetAllowedJoinOperators sets the AllowedJoinOperators field's value. +func (s *AnalysisRuleAggregation) SetAllowedJoinOperators(v []*string) *AnalysisRuleAggregation { + s.AllowedJoinOperators = v + return s +} + +// SetDimensionColumns sets the DimensionColumns field's value. +func (s *AnalysisRuleAggregation) SetDimensionColumns(v []*string) *AnalysisRuleAggregation { + s.DimensionColumns = v + return s +} + +// SetJoinColumns sets the JoinColumns field's value. +func (s *AnalysisRuleAggregation) SetJoinColumns(v []*string) *AnalysisRuleAggregation { + s.JoinColumns = v + return s +} + +// SetJoinRequired sets the JoinRequired field's value. +func (s *AnalysisRuleAggregation) SetJoinRequired(v string) *AnalysisRuleAggregation { + s.JoinRequired = &v + return s +} + +// SetOutputConstraints sets the OutputConstraints field's value. +func (s *AnalysisRuleAggregation) SetOutputConstraints(v []*AggregationConstraint) *AnalysisRuleAggregation { + s.OutputConstraints = v + return s +} + +// SetScalarFunctions sets the ScalarFunctions field's value. +func (s *AnalysisRuleAggregation) SetScalarFunctions(v []*string) *AnalysisRuleAggregation { + s.ScalarFunctions = v + return s +} + +// A type of analysis rule that enables the table owner to approve custom SQL +// queries on their configured tables. It supports differential privacy. +type AnalysisRuleCustom struct { + _ struct{} `type:"structure"` + + // The analysis templates that are allowed by the custom analysis rule. + // + // AllowedAnalyses is a required field + AllowedAnalyses []*string `locationName:"allowedAnalyses" type:"list" required:"true"` + + // The Amazon Web Services accounts that are allowed to query by the custom + // analysis rule. Required when allowedAnalyses is ANY_QUERY. + AllowedAnalysisProviders []*string `locationName:"allowedAnalysisProviders" type:"list"` + + // The differential privacy configuration. + DifferentialPrivacy *DifferentialPrivacyConfiguration `locationName:"differentialPrivacy" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRuleCustom) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRuleCustom) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AnalysisRuleCustom) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AnalysisRuleCustom"} + if s.AllowedAnalyses == nil { + invalidParams.Add(request.NewErrParamRequired("AllowedAnalyses")) + } + if s.DifferentialPrivacy != nil { + if err := s.DifferentialPrivacy.Validate(); err != nil { + invalidParams.AddNested("DifferentialPrivacy", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowedAnalyses sets the AllowedAnalyses field's value. +func (s *AnalysisRuleCustom) SetAllowedAnalyses(v []*string) *AnalysisRuleCustom { + s.AllowedAnalyses = v + return s +} + +// SetAllowedAnalysisProviders sets the AllowedAnalysisProviders field's value. +func (s *AnalysisRuleCustom) SetAllowedAnalysisProviders(v []*string) *AnalysisRuleCustom { + s.AllowedAnalysisProviders = v + return s +} + +// SetDifferentialPrivacy sets the DifferentialPrivacy field's value. +func (s *AnalysisRuleCustom) SetDifferentialPrivacy(v *DifferentialPrivacyConfiguration) *AnalysisRuleCustom { + s.DifferentialPrivacy = v + return s +} + +// A type of analysis rule that enables row-level analysis. +type AnalysisRuleList struct { + _ struct{} `type:"structure"` + + // The logical operators (if any) that are to be used in an INNER JOIN match + // condition. Default is AND. + AllowedJoinOperators []*string `locationName:"allowedJoinOperators" type:"list" enum:"JoinOperator"` + + // Columns that can be used to join a configured table with the table of the + // member who can query and other members' configured tables. + // + // JoinColumns is a required field + JoinColumns []*string `locationName:"joinColumns" min:"1" type:"list" required:"true"` + + // Columns that can be listed in the output. + // + // ListColumns is a required field + ListColumns []*string `locationName:"listColumns" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRuleList) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRuleList) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AnalysisRuleList) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AnalysisRuleList"} + if s.JoinColumns == nil { + invalidParams.Add(request.NewErrParamRequired("JoinColumns")) + } + if s.JoinColumns != nil && len(s.JoinColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("JoinColumns", 1)) + } + if s.ListColumns == nil { + invalidParams.Add(request.NewErrParamRequired("ListColumns")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAllowedJoinOperators sets the AllowedJoinOperators field's value. +func (s *AnalysisRuleList) SetAllowedJoinOperators(v []*string) *AnalysisRuleList { + s.AllowedJoinOperators = v + return s +} + +// SetJoinColumns sets the JoinColumns field's value. +func (s *AnalysisRuleList) SetJoinColumns(v []*string) *AnalysisRuleList { + s.JoinColumns = v + return s +} + +// SetListColumns sets the ListColumns field's value. +func (s *AnalysisRuleList) SetListColumns(v []*string) *AnalysisRuleList { + s.ListColumns = v + return s +} + +// Controls on the query specifications that can be run on configured table. +type AnalysisRulePolicy struct { + _ struct{} `type:"structure"` + + // Controls on the query specifications that can be run on configured table. + V1 *AnalysisRulePolicyV1 `locationName:"v1" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRulePolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRulePolicy) GoString() string { + return s.String() +} + +// SetV1 sets the V1 field's value. +func (s *AnalysisRulePolicy) SetV1(v *AnalysisRulePolicyV1) *AnalysisRulePolicy { + s.V1 = v + return s +} + +// Controls on the query specifications that can be run on configured table. +type AnalysisRulePolicyV1 struct { + _ struct{} `type:"structure"` + + // Analysis rule type that enables only aggregation queries on a configured + // table. + Aggregation *AnalysisRuleAggregation `locationName:"aggregation" type:"structure"` + + // Analysis rule type that enables custom SQL queries on a configured table. + Custom *AnalysisRuleCustom `locationName:"custom" type:"structure"` + + // Analysis rule type that enables only list queries on a configured table. + List *AnalysisRuleList `locationName:"list" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRulePolicyV1) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisRulePolicyV1) GoString() string { + return s.String() +} + +// SetAggregation sets the Aggregation field's value. +func (s *AnalysisRulePolicyV1) SetAggregation(v *AnalysisRuleAggregation) *AnalysisRulePolicyV1 { + s.Aggregation = v + return s +} + +// SetCustom sets the Custom field's value. +func (s *AnalysisRulePolicyV1) SetCustom(v *AnalysisRuleCustom) *AnalysisRulePolicyV1 { + s.Custom = v + return s +} + +// SetList sets the List field's value. +func (s *AnalysisRulePolicyV1) SetList(v *AnalysisRuleList) *AnalysisRulePolicyV1 { + s.List = v + return s +} + +// A relation within an analysis. +type AnalysisSchema struct { + _ struct{} `type:"structure"` + + // The tables referenced in the analysis schema. + ReferencedTables []*string `locationName:"referencedTables" type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisSchema) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisSchema) GoString() string { + return s.String() +} + +// SetReferencedTables sets the ReferencedTables field's value. +func (s *AnalysisSchema) SetReferencedTables(v []*string) *AnalysisSchema { + s.ReferencedTables = v + return s +} + +// The structure that defines the body of the analysis template. +type AnalysisSource struct { + _ struct{} `type:"structure" sensitive:"true"` + + // The query text. + Text *string `locationName:"text" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisSource) GoString() string { + return s.String() +} + +// SetText sets the Text field's value. +func (s *AnalysisSource) SetText(v string) *AnalysisSource { + s.Text = &v + return s +} + +// The analysis template. +type AnalysisTemplate struct { + _ struct{} `type:"structure"` + + // The parameters of the analysis template. + AnalysisParameters []*AnalysisParameter `locationName:"analysisParameters" type:"list"` + + // The Amazon Resource Name (ARN) of the analysis template. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The unique ARN for the analysis template’s associated collaboration. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // The unique ID for the associated collaboration of the analysis template. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time that the analysis template was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The description of the analysis template. + Description *string `locationName:"description" type:"string"` + + // The format of the analysis template. + // + // Format is a required field + Format *string `locationName:"format" type:"string" required:"true" enum:"AnalysisFormat"` + + // The identifier for the analysis template. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the member who created the analysis template. + // + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + + // The identifier of a member who created the analysis template. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + + // The name of the analysis template. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The entire schema object. + // + // Schema is a required field + Schema *AnalysisSchema `locationName:"schema" type:"structure" required:"true"` + + // The source of the analysis template. + // + // Source is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by AnalysisTemplate's + // String and GoString methods. + // + // Source is a required field + Source *AnalysisSource `locationName:"source" type:"structure" required:"true" sensitive:"true"` + + // The time that the analysis template was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisTemplate) GoString() string { + return s.String() +} + +// SetAnalysisParameters sets the AnalysisParameters field's value. +func (s *AnalysisTemplate) SetAnalysisParameters(v []*AnalysisParameter) *AnalysisTemplate { + s.AnalysisParameters = v + return s +} + +// SetArn sets the Arn field's value. +func (s *AnalysisTemplate) SetArn(v string) *AnalysisTemplate { + s.Arn = &v + return s +} + +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *AnalysisTemplate) SetCollaborationArn(v string) *AnalysisTemplate { + s.CollaborationArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *AnalysisTemplate) SetCollaborationId(v string) *AnalysisTemplate { + s.CollaborationId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *AnalysisTemplate) SetCreateTime(v time.Time) *AnalysisTemplate { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AnalysisTemplate) SetDescription(v string) *AnalysisTemplate { + s.Description = &v + return s +} + +// SetFormat sets the Format field's value. +func (s *AnalysisTemplate) SetFormat(v string) *AnalysisTemplate { + s.Format = &v + return s +} + +// SetId sets the Id field's value. +func (s *AnalysisTemplate) SetId(v string) *AnalysisTemplate { + s.Id = &v + return s +} + +// SetMembershipArn sets the MembershipArn field's value. +func (s *AnalysisTemplate) SetMembershipArn(v string) *AnalysisTemplate { + s.MembershipArn = &v + return s +} + +// SetMembershipId sets the MembershipId field's value. +func (s *AnalysisTemplate) SetMembershipId(v string) *AnalysisTemplate { + s.MembershipId = &v + return s +} + +// SetName sets the Name field's value. +func (s *AnalysisTemplate) SetName(v string) *AnalysisTemplate { + s.Name = &v + return s +} + +// SetSchema sets the Schema field's value. +func (s *AnalysisTemplate) SetSchema(v *AnalysisSchema) *AnalysisTemplate { + s.Schema = v + return s +} + +// SetSource sets the Source field's value. +func (s *AnalysisTemplate) SetSource(v *AnalysisSource) *AnalysisTemplate { + s.Source = v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *AnalysisTemplate) SetUpdateTime(v time.Time) *AnalysisTemplate { + s.UpdateTime = &v + return s +} + +// The metadata of the analysis template. +type AnalysisTemplateSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the analysis template. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The unique ARN for the analysis template summary’s associated collaboration. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // A unique identifier for the collaboration that the analysis template summary + // belongs to. Currently accepts collaboration ID. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time that the analysis template summary was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The description of the analysis template. + Description *string `locationName:"description" type:"string"` + + // The identifier of the analysis template. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the member who created the analysis template. + // + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + + // The identifier for a membership resource. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + + // The name of the analysis template. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The time that the analysis template summary was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisTemplateSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AnalysisTemplateSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *AnalysisTemplateSummary) SetArn(v string) *AnalysisTemplateSummary { + s.Arn = &v + return s +} + +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *AnalysisTemplateSummary) SetCollaborationArn(v string) *AnalysisTemplateSummary { + s.CollaborationArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *AnalysisTemplateSummary) SetCollaborationId(v string) *AnalysisTemplateSummary { + s.CollaborationId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *AnalysisTemplateSummary) SetCreateTime(v time.Time) *AnalysisTemplateSummary { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AnalysisTemplateSummary) SetDescription(v string) *AnalysisTemplateSummary { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *AnalysisTemplateSummary) SetId(v string) *AnalysisTemplateSummary { + s.Id = &v + return s +} + +// SetMembershipArn sets the MembershipArn field's value. +func (s *AnalysisTemplateSummary) SetMembershipArn(v string) *AnalysisTemplateSummary { + s.MembershipArn = &v + return s +} + +// SetMembershipId sets the MembershipId field's value. +func (s *AnalysisTemplateSummary) SetMembershipId(v string) *AnalysisTemplateSummary { + s.MembershipId = &v + return s +} + +// SetName sets the Name field's value. +func (s *AnalysisTemplateSummary) SetName(v string) *AnalysisTemplateSummary { + s.Name = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *AnalysisTemplateSummary) SetUpdateTime(v time.Time) *AnalysisTemplateSummary { + s.UpdateTime = &v + return s +} + +// Details of errors thrown by the call to retrieve multiple analysis templates +// within a collaboration by their identifiers. +type BatchGetCollaborationAnalysisTemplateError struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the analysis template. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // An error code for the error. + // + // Code is a required field + Code *string `locationName:"code" type:"string" required:"true"` + + // A description of why the call failed. + // + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetCollaborationAnalysisTemplateError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetCollaborationAnalysisTemplateError) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *BatchGetCollaborationAnalysisTemplateError) SetArn(v string) *BatchGetCollaborationAnalysisTemplateError { + s.Arn = &v + return s +} + +// SetCode sets the Code field's value. +func (s *BatchGetCollaborationAnalysisTemplateError) SetCode(v string) *BatchGetCollaborationAnalysisTemplateError { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *BatchGetCollaborationAnalysisTemplateError) SetMessage(v string) *BatchGetCollaborationAnalysisTemplateError { + s.Message = &v + return s +} + +type BatchGetCollaborationAnalysisTemplateInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) associated with the analysis template within + // a collaboration. + // + // AnalysisTemplateArns is a required field + AnalysisTemplateArns []*string `locationName:"analysisTemplateArns" min:"1" type:"list" required:"true"` + + // A unique identifier for the collaboration that the analysis templates belong + // to. Currently accepts collaboration ID. + // + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetCollaborationAnalysisTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetCollaborationAnalysisTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetCollaborationAnalysisTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetCollaborationAnalysisTemplateInput"} + if s.AnalysisTemplateArns == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateArns")) + } + if s.AnalysisTemplateArns != nil && len(s.AnalysisTemplateArns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateArns", 1)) + } + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) + } + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnalysisTemplateArns sets the AnalysisTemplateArns field's value. +func (s *BatchGetCollaborationAnalysisTemplateInput) SetAnalysisTemplateArns(v []*string) *BatchGetCollaborationAnalysisTemplateInput { + s.AnalysisTemplateArns = v + return s +} + +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *BatchGetCollaborationAnalysisTemplateInput) SetCollaborationIdentifier(v string) *BatchGetCollaborationAnalysisTemplateInput { + s.CollaborationIdentifier = &v + return s +} + +type BatchGetCollaborationAnalysisTemplateOutput struct { + _ struct{} `type:"structure"` + + // The retrieved list of analysis templates within a collaboration. + // + // CollaborationAnalysisTemplates is a required field + CollaborationAnalysisTemplates []*CollaborationAnalysisTemplate `locationName:"collaborationAnalysisTemplates" type:"list" required:"true"` + + // Error reasons for collaboration analysis templates that could not be retrieved. + // One error is returned for every collaboration analysis template that could + // not be retrieved. + // + // Errors is a required field + Errors []*BatchGetCollaborationAnalysisTemplateError `locationName:"errors" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetCollaborationAnalysisTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetCollaborationAnalysisTemplateOutput) GoString() string { + return s.String() +} + +// SetCollaborationAnalysisTemplates sets the CollaborationAnalysisTemplates field's value. +func (s *BatchGetCollaborationAnalysisTemplateOutput) SetCollaborationAnalysisTemplates(v []*CollaborationAnalysisTemplate) *BatchGetCollaborationAnalysisTemplateOutput { + s.CollaborationAnalysisTemplates = v + return s +} + +// SetErrors sets the Errors field's value. +func (s *BatchGetCollaborationAnalysisTemplateOutput) SetErrors(v []*BatchGetCollaborationAnalysisTemplateError) *BatchGetCollaborationAnalysisTemplateOutput { + s.Errors = v + return s +} + +// An error describing why a schema could not be fetched. +type BatchGetSchemaError struct { + _ struct{} `type:"structure"` + + // An error code for the error. + // + // Code is a required field + Code *string `locationName:"code" type:"string" required:"true"` + + // An error message for the error. + // + // Message is a required field + Message *string `locationName:"message" type:"string" required:"true"` + + // An error name for the error. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetSchemaError) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetSchemaError) GoString() string { + return s.String() +} + +// SetCode sets the Code field's value. +func (s *BatchGetSchemaError) SetCode(v string) *BatchGetSchemaError { + s.Code = &v + return s +} + +// SetMessage sets the Message field's value. +func (s *BatchGetSchemaError) SetMessage(v string) *BatchGetSchemaError { + s.Message = &v + return s +} + +// SetName sets the Name field's value. +func (s *BatchGetSchemaError) SetName(v string) *BatchGetSchemaError { + s.Name = &v + return s +} + +type BatchGetSchemaInput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the collaboration that the schemas belong to. Currently + // accepts collaboration ID. + // + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + + // The names for the schema objects to retrieve.> + // + // Names is a required field + Names []*string `locationName:"names" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetSchemaInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetSchemaInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *BatchGetSchemaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "BatchGetSchemaInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) + } + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + } + if s.Names == nil { + invalidParams.Add(request.NewErrParamRequired("Names")) + } + if s.Names != nil && len(s.Names) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Names", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *BatchGetSchemaInput) SetCollaborationIdentifier(v string) *BatchGetSchemaInput { + s.CollaborationIdentifier = &v + return s +} + +// SetNames sets the Names field's value. +func (s *BatchGetSchemaInput) SetNames(v []*string) *BatchGetSchemaInput { + s.Names = v + return s +} + +type BatchGetSchemaOutput struct { + _ struct{} `type:"structure"` + + // Error reasons for schemas that could not be retrieved. One error is returned + // for every schema that could not be retrieved. + // + // Errors is a required field + Errors []*BatchGetSchemaError `locationName:"errors" type:"list" required:"true"` + + // The retrieved list of schemas. + // + // Schemas is a required field + Schemas []*Schema `locationName:"schemas" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetSchemaOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s BatchGetSchemaOutput) GoString() string { + return s.String() +} + +// SetErrors sets the Errors field's value. +func (s *BatchGetSchemaOutput) SetErrors(v []*BatchGetSchemaError) *BatchGetSchemaOutput { + s.Errors = v + return s +} + +// SetSchemas sets the Schemas field's value. +func (s *BatchGetSchemaOutput) SetSchemas(v []*Schema) *BatchGetSchemaOutput { + s.Schemas = v + return s +} + +// The multi-party data share environment. The collaboration contains metadata +// about its purpose and participants. +type Collaboration struct { + _ struct{} `type:"structure"` + + // The unique ARN for the collaboration. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The time when the collaboration was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The identifier used to reference members of the collaboration. Currently + // only supports Amazon Web Services account ID. + // + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + + // A display name of the collaboration creator. + // + // CreatorDisplayName is a required field + CreatorDisplayName *string `locationName:"creatorDisplayName" min:"1" type:"string" required:"true"` + + // The settings for client-side encryption for cryptographic computing. + DataEncryptionMetadata *DataEncryptionMetadata `locationName:"dataEncryptionMetadata" type:"structure"` + + // A description of the collaboration provided by the collaboration owner. + Description *string `locationName:"description" min:"1" type:"string"` + + // The unique ID for the collaboration. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The status of a member in a collaboration. + // + // MemberStatus is a required field + MemberStatus *string `locationName:"memberStatus" type:"string" required:"true" enum:"MemberStatus"` + + // The unique ARN for your membership within the collaboration. + MembershipArn *string `locationName:"membershipArn" type:"string"` + + // The unique ID for your membership within the collaboration. + MembershipId *string `locationName:"membershipId" min:"36" type:"string"` + + // A human-readable identifier provided by the collaboration owner. Display + // names are not unique. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // An indicator as to whether query logging has been enabled or disabled for + // the collaboration. + // + // QueryLogStatus is a required field + QueryLogStatus *string `locationName:"queryLogStatus" type:"string" required:"true" enum:"CollaborationQueryLogStatus"` + + // The time the collaboration metadata was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Collaboration) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Collaboration) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *Collaboration) SetArn(v string) *Collaboration { + s.Arn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *Collaboration) SetCreateTime(v time.Time) *Collaboration { + s.CreateTime = &v + return s +} + +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *Collaboration) SetCreatorAccountId(v string) *Collaboration { + s.CreatorAccountId = &v + return s +} + +// SetCreatorDisplayName sets the CreatorDisplayName field's value. +func (s *Collaboration) SetCreatorDisplayName(v string) *Collaboration { + s.CreatorDisplayName = &v + return s +} + +// SetDataEncryptionMetadata sets the DataEncryptionMetadata field's value. +func (s *Collaboration) SetDataEncryptionMetadata(v *DataEncryptionMetadata) *Collaboration { + s.DataEncryptionMetadata = v + return s +} + +// SetDescription sets the Description field's value. +func (s *Collaboration) SetDescription(v string) *Collaboration { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *Collaboration) SetId(v string) *Collaboration { + s.Id = &v + return s +} + +// SetMemberStatus sets the MemberStatus field's value. +func (s *Collaboration) SetMemberStatus(v string) *Collaboration { + s.MemberStatus = &v + return s +} + +// SetMembershipArn sets the MembershipArn field's value. +func (s *Collaboration) SetMembershipArn(v string) *Collaboration { + s.MembershipArn = &v + return s +} + +// SetMembershipId sets the MembershipId field's value. +func (s *Collaboration) SetMembershipId(v string) *Collaboration { + s.MembershipId = &v + return s +} + +// SetName sets the Name field's value. +func (s *Collaboration) SetName(v string) *Collaboration { + s.Name = &v + return s +} + +// SetQueryLogStatus sets the QueryLogStatus field's value. +func (s *Collaboration) SetQueryLogStatus(v string) *Collaboration { + s.QueryLogStatus = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *Collaboration) SetUpdateTime(v time.Time) *Collaboration { + s.UpdateTime = &v + return s +} + +// The analysis template within a collaboration. +type CollaborationAnalysisTemplate struct { + _ struct{} `type:"structure"` + + // The analysis parameters that have been specified in the analysis template. + AnalysisParameters []*AnalysisParameter `locationName:"analysisParameters" type:"list"` + + // The Amazon Resource Name (ARN) of the analysis template. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The unique ARN for the analysis template’s associated collaboration. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // A unique identifier for the collaboration that the analysis templates belong + // to. Currently accepts collaboration ID. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time that the analysis template within a collaboration was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The identifier used to reference members of the collaboration. Currently + // only supports Amazon Web Services account ID. + // + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + + // The description of the analysis template. + Description *string `locationName:"description" type:"string"` + + // The format of the analysis template in the collaboration. + // + // Format is a required field + Format *string `locationName:"format" type:"string" required:"true" enum:"AnalysisFormat"` + + // The identifier of the analysis template. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The name of the analysis template. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The entire schema object. + // + // Schema is a required field + Schema *AnalysisSchema `locationName:"schema" type:"structure" required:"true"` + + // The source of the analysis template within a collaboration. + // + // Source is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CollaborationAnalysisTemplate's + // String and GoString methods. + // + // Source is a required field + Source *AnalysisSource `locationName:"source" type:"structure" required:"true" sensitive:"true"` + + // The time that the analysis template in the collaboration was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationAnalysisTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationAnalysisTemplate) GoString() string { + return s.String() +} + +// SetAnalysisParameters sets the AnalysisParameters field's value. +func (s *CollaborationAnalysisTemplate) SetAnalysisParameters(v []*AnalysisParameter) *CollaborationAnalysisTemplate { + s.AnalysisParameters = v + return s +} + +// SetArn sets the Arn field's value. +func (s *CollaborationAnalysisTemplate) SetArn(v string) *CollaborationAnalysisTemplate { + s.Arn = &v + return s +} + +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *CollaborationAnalysisTemplate) SetCollaborationArn(v string) *CollaborationAnalysisTemplate { + s.CollaborationArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *CollaborationAnalysisTemplate) SetCollaborationId(v string) *CollaborationAnalysisTemplate { + s.CollaborationId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationAnalysisTemplate) SetCreateTime(v time.Time) *CollaborationAnalysisTemplate { + s.CreateTime = &v + return s +} + +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationAnalysisTemplate) SetCreatorAccountId(v string) *CollaborationAnalysisTemplate { + s.CreatorAccountId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CollaborationAnalysisTemplate) SetDescription(v string) *CollaborationAnalysisTemplate { + s.Description = &v + return s +} + +// SetFormat sets the Format field's value. +func (s *CollaborationAnalysisTemplate) SetFormat(v string) *CollaborationAnalysisTemplate { + s.Format = &v + return s +} + +// SetId sets the Id field's value. +func (s *CollaborationAnalysisTemplate) SetId(v string) *CollaborationAnalysisTemplate { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *CollaborationAnalysisTemplate) SetName(v string) *CollaborationAnalysisTemplate { + s.Name = &v + return s +} + +// SetSchema sets the Schema field's value. +func (s *CollaborationAnalysisTemplate) SetSchema(v *AnalysisSchema) *CollaborationAnalysisTemplate { + s.Schema = v + return s +} + +// SetSource sets the Source field's value. +func (s *CollaborationAnalysisTemplate) SetSource(v *AnalysisSource) *CollaborationAnalysisTemplate { + s.Source = v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationAnalysisTemplate) SetUpdateTime(v time.Time) *CollaborationAnalysisTemplate { + s.UpdateTime = &v + return s +} + +// The metadata of the analysis template within a collaboration. +type CollaborationAnalysisTemplateSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the analysis template. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The unique ARN for the analysis template’s associated collaboration. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // A unique identifier for the collaboration that the analysis templates belong + // to. Currently accepts collaboration ID. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time that the summary of the analysis template in a collaboration was + // created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The identifier used to reference members of the collaboration. Currently + // only supports Amazon Web Services account ID. + // + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + + // The description of the analysis template. + Description *string `locationName:"description" type:"string"` + + // The identifier of the analysis template. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The name of the analysis template. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The time that the summary of the analysis template in the collaboration was + // last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationAnalysisTemplateSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationAnalysisTemplateSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CollaborationAnalysisTemplateSummary) SetArn(v string) *CollaborationAnalysisTemplateSummary { + s.Arn = &v + return s +} + +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *CollaborationAnalysisTemplateSummary) SetCollaborationArn(v string) *CollaborationAnalysisTemplateSummary { + s.CollaborationArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *CollaborationAnalysisTemplateSummary) SetCollaborationId(v string) *CollaborationAnalysisTemplateSummary { + s.CollaborationId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationAnalysisTemplateSummary) SetCreateTime(v time.Time) *CollaborationAnalysisTemplateSummary { + s.CreateTime = &v + return s +} + +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationAnalysisTemplateSummary) SetCreatorAccountId(v string) *CollaborationAnalysisTemplateSummary { + s.CreatorAccountId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CollaborationAnalysisTemplateSummary) SetDescription(v string) *CollaborationAnalysisTemplateSummary { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *CollaborationAnalysisTemplateSummary) SetId(v string) *CollaborationAnalysisTemplateSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *CollaborationAnalysisTemplateSummary) SetName(v string) *CollaborationAnalysisTemplateSummary { + s.Name = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationAnalysisTemplateSummary) SetUpdateTime(v time.Time) *CollaborationAnalysisTemplateSummary { + s.UpdateTime = &v + return s +} + +// The configured audience model association within a collaboration. +type CollaborationConfiguredAudienceModelAssociation struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the configured audience model association. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The unique ARN for the configured audience model's associated collaboration. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // A unique identifier for the collaboration that the configured audience model + // associations belong to. Accepts collaboration ID. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the configure audience model. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` + + // The time at which the configured audience model association was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The identifier used to reference members of the collaboration. Only supports + // AWS account ID. + // + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + + // The description of the configured audience model association. + Description *string `locationName:"description" type:"string"` + + // The identifier of the configured audience model association. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The name of the configured audience model association. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The most recent time at which the configured audience model association was + // updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationConfiguredAudienceModelAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationConfiguredAudienceModelAssociation) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetArn(v string) *CollaborationConfiguredAudienceModelAssociation { + s.Arn = &v + return s +} + +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetCollaborationArn(v string) *CollaborationConfiguredAudienceModelAssociation { + s.CollaborationArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetCollaborationId(v string) *CollaborationConfiguredAudienceModelAssociation { + s.CollaborationId = &v + return s +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetConfiguredAudienceModelArn(v string) *CollaborationConfiguredAudienceModelAssociation { + s.ConfiguredAudienceModelArn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetCreateTime(v time.Time) *CollaborationConfiguredAudienceModelAssociation { + s.CreateTime = &v + return s +} + +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetCreatorAccountId(v string) *CollaborationConfiguredAudienceModelAssociation { + s.CreatorAccountId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetDescription(v string) *CollaborationConfiguredAudienceModelAssociation { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetId(v string) *CollaborationConfiguredAudienceModelAssociation { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetName(v string) *CollaborationConfiguredAudienceModelAssociation { + s.Name = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationConfiguredAudienceModelAssociation) SetUpdateTime(v time.Time) *CollaborationConfiguredAudienceModelAssociation { + s.UpdateTime = &v + return s +} + +// A summary of the configured audience model association in the collaboration. +type CollaborationConfiguredAudienceModelAssociationSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the configured audience model association. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The unique ARN for the configured audience model's associated collaboration. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // A unique identifier for the collaboration that the configured audience model + // associations belong to. Accepts collaboration ID. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time at which the configured audience model association was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The identifier used to reference members of the collaboration. Only supports + // AWS account ID. + // + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + + // The description of the configured audience model association. + Description *string `locationName:"description" type:"string"` + + // The identifier of the configured audience model association. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The name of the configured audience model association. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The most recent time at which the configured audience model association was + // updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationConfiguredAudienceModelAssociationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationConfiguredAudienceModelAssociationSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetArn(v string) *CollaborationConfiguredAudienceModelAssociationSummary { + s.Arn = &v + return s +} + +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetCollaborationArn(v string) *CollaborationConfiguredAudienceModelAssociationSummary { + s.CollaborationArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetCollaborationId(v string) *CollaborationConfiguredAudienceModelAssociationSummary { + s.CollaborationId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetCreateTime(v time.Time) *CollaborationConfiguredAudienceModelAssociationSummary { + s.CreateTime = &v + return s +} + +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetCreatorAccountId(v string) *CollaborationConfiguredAudienceModelAssociationSummary { + s.CreatorAccountId = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetDescription(v string) *CollaborationConfiguredAudienceModelAssociationSummary { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetId(v string) *CollaborationConfiguredAudienceModelAssociationSummary { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetName(v string) *CollaborationConfiguredAudienceModelAssociationSummary { + s.Name = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationConfiguredAudienceModelAssociationSummary) SetUpdateTime(v time.Time) *CollaborationConfiguredAudienceModelAssociationSummary { + s.UpdateTime = &v + return s +} + +// A summary of the collaboration privacy budgets. This summary includes the +// collaboration information, creation information, epsilon provided, and utility +// in terms of aggregations. +type CollaborationPrivacyBudgetSummary struct { + _ struct{} `type:"structure"` + + // The includes epsilon provided and utility in terms of aggregations. + // + // Budget is a required field + Budget *PrivacyBudget `locationName:"budget" type:"structure" required:"true"` + + // The ARN of the collaboration that includes this privacy budget. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // The unique identifier of the collaboration that includes this privacy budget. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time at which the privacy budget was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The unique identifier of the account that created this privacy budget. + // + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + + // The unique identifier of the collaboration privacy budget. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The ARN of the collaboration privacy budget template. + // + // PrivacyBudgetTemplateArn is a required field + PrivacyBudgetTemplateArn *string `locationName:"privacyBudgetTemplateArn" type:"string" required:"true"` + + // The unique identifier of the collaboration privacy budget template. + // + // PrivacyBudgetTemplateId is a required field + PrivacyBudgetTemplateId *string `locationName:"privacyBudgetTemplateId" min:"36" type:"string" required:"true"` + + // The type of privacy budget template. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"PrivacyBudgetType"` + + // The most recent time at which the privacy budget was updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationPrivacyBudgetSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationPrivacyBudgetSummary) GoString() string { + return s.String() +} + +// SetBudget sets the Budget field's value. +func (s *CollaborationPrivacyBudgetSummary) SetBudget(v *PrivacyBudget) *CollaborationPrivacyBudgetSummary { + s.Budget = v + return s +} + +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *CollaborationPrivacyBudgetSummary) SetCollaborationArn(v string) *CollaborationPrivacyBudgetSummary { + s.CollaborationArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *CollaborationPrivacyBudgetSummary) SetCollaborationId(v string) *CollaborationPrivacyBudgetSummary { + s.CollaborationId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationPrivacyBudgetSummary) SetCreateTime(v time.Time) *CollaborationPrivacyBudgetSummary { + s.CreateTime = &v + return s +} + +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationPrivacyBudgetSummary) SetCreatorAccountId(v string) *CollaborationPrivacyBudgetSummary { + s.CreatorAccountId = &v + return s +} + +// SetId sets the Id field's value. +func (s *CollaborationPrivacyBudgetSummary) SetId(v string) *CollaborationPrivacyBudgetSummary { + s.Id = &v + return s +} + +// SetPrivacyBudgetTemplateArn sets the PrivacyBudgetTemplateArn field's value. +func (s *CollaborationPrivacyBudgetSummary) SetPrivacyBudgetTemplateArn(v string) *CollaborationPrivacyBudgetSummary { + s.PrivacyBudgetTemplateArn = &v + return s +} + +// SetPrivacyBudgetTemplateId sets the PrivacyBudgetTemplateId field's value. +func (s *CollaborationPrivacyBudgetSummary) SetPrivacyBudgetTemplateId(v string) *CollaborationPrivacyBudgetSummary { + s.PrivacyBudgetTemplateId = &v + return s +} + +// SetType sets the Type field's value. +func (s *CollaborationPrivacyBudgetSummary) SetType(v string) *CollaborationPrivacyBudgetSummary { + s.Type = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationPrivacyBudgetSummary) SetUpdateTime(v time.Time) *CollaborationPrivacyBudgetSummary { + s.UpdateTime = &v + return s +} + +// An array that specifies the information for a collaboration's privacy budget +// template. +type CollaborationPrivacyBudgetTemplate struct { + _ struct{} `type:"structure"` + + // The ARN of the collaboration privacy budget template. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // How often the privacy budget refreshes. + // + // If you plan to regularly bring new data into the collaboration, use CALENDAR_MONTH + // to automatically get a new privacy budget for the collaboration every calendar + // month. Choosing this option allows arbitrary amounts of information to be + // revealed about rows of the data when repeatedly queried across refreshes. + // Avoid choosing this if the same rows will be repeatedly queried between privacy + // budget refreshes. + // + // AutoRefresh is a required field + AutoRefresh *string `locationName:"autoRefresh" type:"string" required:"true" enum:"PrivacyBudgetTemplateAutoRefresh"` + + // The ARN of the collaboration that includes this collaboration privacy budget + // template. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // The unique identifier of the collaboration that includes this collaboration + // privacy budget template. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time at which the collaboration privacy budget template was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The unique identifier of the account that created this collaboration privacy + // budget template. + // + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + + // The unique identifier of the collaboration privacy budget template. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // Specifies the epsilon and noise parameters for the privacy budget template. + // + // Parameters is a required field + Parameters *PrivacyBudgetTemplateParametersOutput_ `locationName:"parameters" type:"structure" required:"true"` + + // The type of privacy budget template. + // + // PrivacyBudgetType is a required field + PrivacyBudgetType *string `locationName:"privacyBudgetType" type:"string" required:"true" enum:"PrivacyBudgetType"` + + // The most recent time at which the collaboration privacy budget template was + // updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationPrivacyBudgetTemplate) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationPrivacyBudgetTemplate) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetArn(v string) *CollaborationPrivacyBudgetTemplate { + s.Arn = &v + return s +} + +// SetAutoRefresh sets the AutoRefresh field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetAutoRefresh(v string) *CollaborationPrivacyBudgetTemplate { + s.AutoRefresh = &v + return s +} + +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetCollaborationArn(v string) *CollaborationPrivacyBudgetTemplate { + s.CollaborationArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetCollaborationId(v string) *CollaborationPrivacyBudgetTemplate { + s.CollaborationId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetCreateTime(v time.Time) *CollaborationPrivacyBudgetTemplate { + s.CreateTime = &v + return s +} + +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetCreatorAccountId(v string) *CollaborationPrivacyBudgetTemplate { + s.CreatorAccountId = &v + return s +} + +// SetId sets the Id field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetId(v string) *CollaborationPrivacyBudgetTemplate { + s.Id = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetParameters(v *PrivacyBudgetTemplateParametersOutput_) *CollaborationPrivacyBudgetTemplate { + s.Parameters = v + return s +} + +// SetPrivacyBudgetType sets the PrivacyBudgetType field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetPrivacyBudgetType(v string) *CollaborationPrivacyBudgetTemplate { + s.PrivacyBudgetType = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationPrivacyBudgetTemplate) SetUpdateTime(v time.Time) *CollaborationPrivacyBudgetTemplate { + s.UpdateTime = &v + return s +} + +// A summary of the collaboration's privacy budget template. This summary includes +// information about who created the privacy budget template and what collaborations +// it belongs to. +type CollaborationPrivacyBudgetTemplateSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the collaboration privacy budget template. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The ARN of the collaboration that contains this collaboration privacy budget + // template. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // The unique identifier of the collaboration that contains this collaboration + // privacy budget template. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time at which the collaboration privacy budget template was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The unique identifier of the account that created this collaboration privacy + // budget template. + // + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + + // The unique identifier of the collaboration privacy budget template. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The type of the privacy budget template. + // + // PrivacyBudgetType is a required field + PrivacyBudgetType *string `locationName:"privacyBudgetType" type:"string" required:"true" enum:"PrivacyBudgetType"` + + // The most recent time at which the collaboration privacy budget template was + // updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationPrivacyBudgetTemplateSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationPrivacyBudgetTemplateSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CollaborationPrivacyBudgetTemplateSummary) SetArn(v string) *CollaborationPrivacyBudgetTemplateSummary { + s.Arn = &v + return s +} + +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *CollaborationPrivacyBudgetTemplateSummary) SetCollaborationArn(v string) *CollaborationPrivacyBudgetTemplateSummary { + s.CollaborationArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *CollaborationPrivacyBudgetTemplateSummary) SetCollaborationId(v string) *CollaborationPrivacyBudgetTemplateSummary { + s.CollaborationId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationPrivacyBudgetTemplateSummary) SetCreateTime(v time.Time) *CollaborationPrivacyBudgetTemplateSummary { + s.CreateTime = &v + return s +} + +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationPrivacyBudgetTemplateSummary) SetCreatorAccountId(v string) *CollaborationPrivacyBudgetTemplateSummary { + s.CreatorAccountId = &v + return s +} + +// SetId sets the Id field's value. +func (s *CollaborationPrivacyBudgetTemplateSummary) SetId(v string) *CollaborationPrivacyBudgetTemplateSummary { + s.Id = &v + return s +} + +// SetPrivacyBudgetType sets the PrivacyBudgetType field's value. +func (s *CollaborationPrivacyBudgetTemplateSummary) SetPrivacyBudgetType(v string) *CollaborationPrivacyBudgetTemplateSummary { + s.PrivacyBudgetType = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationPrivacyBudgetTemplateSummary) SetUpdateTime(v time.Time) *CollaborationPrivacyBudgetTemplateSummary { + s.UpdateTime = &v + return s +} + +// The metadata of the collaboration. +type CollaborationSummary struct { + _ struct{} `type:"structure"` + + // The ARN of the collaboration. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The time when the collaboration was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The identifier used to reference members of the collaboration. Currently + // only supports Amazon Web Services account ID. + // + // CreatorAccountId is a required field + CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + + // The display name of the collaboration creator. + // + // CreatorDisplayName is a required field + CreatorDisplayName *string `locationName:"creatorDisplayName" min:"1" type:"string" required:"true"` + + // The identifier for the collaboration. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The status of a member in a collaboration. + // + // MemberStatus is a required field + MemberStatus *string `locationName:"memberStatus" type:"string" required:"true" enum:"MemberStatus"` + + // The ARN of a member in a collaboration. + MembershipArn *string `locationName:"membershipArn" type:"string"` + + // The identifier of a member in a collaboration. + MembershipId *string `locationName:"membershipId" min:"36" type:"string"` + + // A human-readable identifier provided by the collaboration owner. Display + // names are not unique. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The time the collaboration metadata was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CollaborationSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *CollaborationSummary) SetArn(v string) *CollaborationSummary { + s.Arn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *CollaborationSummary) SetCreateTime(v time.Time) *CollaborationSummary { + s.CreateTime = &v + return s +} + +// SetCreatorAccountId sets the CreatorAccountId field's value. +func (s *CollaborationSummary) SetCreatorAccountId(v string) *CollaborationSummary { + s.CreatorAccountId = &v + return s +} + +// SetCreatorDisplayName sets the CreatorDisplayName field's value. +func (s *CollaborationSummary) SetCreatorDisplayName(v string) *CollaborationSummary { + s.CreatorDisplayName = &v + return s +} + +// SetId sets the Id field's value. +func (s *CollaborationSummary) SetId(v string) *CollaborationSummary { + s.Id = &v + return s +} + +// SetMemberStatus sets the MemberStatus field's value. +func (s *CollaborationSummary) SetMemberStatus(v string) *CollaborationSummary { + s.MemberStatus = &v + return s +} + +// SetMembershipArn sets the MembershipArn field's value. +func (s *CollaborationSummary) SetMembershipArn(v string) *CollaborationSummary { + s.MembershipArn = &v + return s +} + +// SetMembershipId sets the MembershipId field's value. +func (s *CollaborationSummary) SetMembershipId(v string) *CollaborationSummary { + s.MembershipId = &v + return s +} + +// SetName sets the Name field's value. +func (s *CollaborationSummary) SetName(v string) *CollaborationSummary { + s.Name = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *CollaborationSummary) SetUpdateTime(v time.Time) *CollaborationSummary { + s.UpdateTime = &v + return s +} + +// A column within a schema relation, derived from the underlying Glue table. +type Column struct { + _ struct{} `type:"structure"` + + // The name of the column. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The type of the column. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Column) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Column) GoString() string { + return s.String() +} + +// SetName sets the Name field's value. +func (s *Column) SetName(v string) *Column { + s.Name = &v + return s +} + +// SetType sets the Type field's value. +func (s *Column) SetType(v string) *Column { + s.Type = &v + return s +} + +// Details about the configured audience model association. +type ConfiguredAudienceModelAssociation struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the configured audience model association. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the collaboration that contains this configured + // audience model association. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // A unique identifier of the collaboration that contains this configured audience + // model association. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the configured audience model that was + // used for this configured audience model association. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` + + // The time at which the configured audience model association was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The description of the configured audience model association. + Description *string `locationName:"description" type:"string"` + + // A unique identifier of the configured audience model association. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // When TRUE, indicates that the resource policy for the configured audience + // model resource being associated is configured for Clean Rooms to manage permissions + // related to the given collaboration. When FALSE, indicates that the configured + // audience model resource owner will manage permissions related to the given + // collaboration. + // + // ManageResourcePolicies is a required field + ManageResourcePolicies *bool `locationName:"manageResourcePolicies" type:"boolean" required:"true"` + + // The Amazon Resource Name (ARN) of the membership that contains this configured + // audience model association. + // + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + + // A unique identifier for the membership that contains this configured audience + // model association. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + + // The name of the configured audience model association. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The most recent time at which the configured audience model association was + // updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredAudienceModelAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredAudienceModelAssociation) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ConfiguredAudienceModelAssociation) SetArn(v string) *ConfiguredAudienceModelAssociation { + s.Arn = &v + return s +} + +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *ConfiguredAudienceModelAssociation) SetCollaborationArn(v string) *ConfiguredAudienceModelAssociation { + s.CollaborationArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *ConfiguredAudienceModelAssociation) SetCollaborationId(v string) *ConfiguredAudienceModelAssociation { + s.CollaborationId = &v + return s +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *ConfiguredAudienceModelAssociation) SetConfiguredAudienceModelArn(v string) *ConfiguredAudienceModelAssociation { + s.ConfiguredAudienceModelArn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *ConfiguredAudienceModelAssociation) SetCreateTime(v time.Time) *ConfiguredAudienceModelAssociation { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ConfiguredAudienceModelAssociation) SetDescription(v string) *ConfiguredAudienceModelAssociation { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *ConfiguredAudienceModelAssociation) SetId(v string) *ConfiguredAudienceModelAssociation { + s.Id = &v + return s +} + +// SetManageResourcePolicies sets the ManageResourcePolicies field's value. +func (s *ConfiguredAudienceModelAssociation) SetManageResourcePolicies(v bool) *ConfiguredAudienceModelAssociation { + s.ManageResourcePolicies = &v + return s +} + +// SetMembershipArn sets the MembershipArn field's value. +func (s *ConfiguredAudienceModelAssociation) SetMembershipArn(v string) *ConfiguredAudienceModelAssociation { + s.MembershipArn = &v + return s +} + +// SetMembershipId sets the MembershipId field's value. +func (s *ConfiguredAudienceModelAssociation) SetMembershipId(v string) *ConfiguredAudienceModelAssociation { + s.MembershipId = &v + return s +} + +// SetName sets the Name field's value. +func (s *ConfiguredAudienceModelAssociation) SetName(v string) *ConfiguredAudienceModelAssociation { + s.Name = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *ConfiguredAudienceModelAssociation) SetUpdateTime(v time.Time) *ConfiguredAudienceModelAssociation { + s.UpdateTime = &v + return s +} + +// A summary of the configured audience model association. +type ConfiguredAudienceModelAssociationSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the configured audience model association. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the collaboration that contains the configured + // audience model association. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // A unique identifier of the collaboration that configured audience model is + // associated with. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the configured audience model that was + // used for this configured audience model association. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` + + // The time at which the configured audience model association was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The description of the configured audience model association. + Description *string `locationName:"description" type:"string"` + + // A unique identifier of the configured audience model association. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the membership that contains the configured + // audience model association. + // + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + + // A unique identifier of the membership that contains the configured audience + // model association. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + + // The name of the configured audience model association. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The most recent time at which the configured audience model association was + // updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredAudienceModelAssociationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredAudienceModelAssociationSummary) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ConfiguredAudienceModelAssociationSummary) SetArn(v string) *ConfiguredAudienceModelAssociationSummary { + s.Arn = &v + return s +} + +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *ConfiguredAudienceModelAssociationSummary) SetCollaborationArn(v string) *ConfiguredAudienceModelAssociationSummary { + s.CollaborationArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *ConfiguredAudienceModelAssociationSummary) SetCollaborationId(v string) *ConfiguredAudienceModelAssociationSummary { + s.CollaborationId = &v + return s +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *ConfiguredAudienceModelAssociationSummary) SetConfiguredAudienceModelArn(v string) *ConfiguredAudienceModelAssociationSummary { + s.ConfiguredAudienceModelArn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *ConfiguredAudienceModelAssociationSummary) SetCreateTime(v time.Time) *ConfiguredAudienceModelAssociationSummary { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ConfiguredAudienceModelAssociationSummary) SetDescription(v string) *ConfiguredAudienceModelAssociationSummary { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *ConfiguredAudienceModelAssociationSummary) SetId(v string) *ConfiguredAudienceModelAssociationSummary { + s.Id = &v + return s +} + +// SetMembershipArn sets the MembershipArn field's value. +func (s *ConfiguredAudienceModelAssociationSummary) SetMembershipArn(v string) *ConfiguredAudienceModelAssociationSummary { + s.MembershipArn = &v + return s +} + +// SetMembershipId sets the MembershipId field's value. +func (s *ConfiguredAudienceModelAssociationSummary) SetMembershipId(v string) *ConfiguredAudienceModelAssociationSummary { + s.MembershipId = &v + return s +} + +// SetName sets the Name field's value. +func (s *ConfiguredAudienceModelAssociationSummary) SetName(v string) *ConfiguredAudienceModelAssociationSummary { + s.Name = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *ConfiguredAudienceModelAssociationSummary) SetUpdateTime(v time.Time) *ConfiguredAudienceModelAssociationSummary { + s.UpdateTime = &v + return s +} + +// A table that has been configured for use in a collaboration. +type ConfiguredTable struct { + _ struct{} `type:"structure"` + + // The columns within the underlying Glue table that can be utilized within + // collaborations. + // + // AllowedColumns is a required field + AllowedColumns []*string `locationName:"allowedColumns" min:"1" type:"list" required:"true"` + + // The analysis method for the configured table. The only valid value is currently + // `DIRECT_QUERY`. + // + // AnalysisMethod is a required field + AnalysisMethod *string `locationName:"analysisMethod" type:"string" required:"true" enum:"AnalysisMethod"` + + // The types of analysis rules associated with this configured table. Currently, + // only one analysis rule may be associated with a configured table. + // + // AnalysisRuleTypes is a required field + AnalysisRuleTypes []*string `locationName:"analysisRuleTypes" type:"list" required:"true" enum:"ConfiguredTableAnalysisRuleType"` + + // The unique ARN for the configured table. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The time the configured table was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // A description for the configured table. + Description *string `locationName:"description" type:"string"` + + // The unique ID for the configured table. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // A name for the configured table. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The Glue table that this configured table represents. + // + // TableReference is a required field + TableReference *TableReference `locationName:"tableReference" type:"structure" required:"true"` + + // The time the configured table was last updated + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredTable) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredTable) GoString() string { + return s.String() +} + +// SetAllowedColumns sets the AllowedColumns field's value. +func (s *ConfiguredTable) SetAllowedColumns(v []*string) *ConfiguredTable { + s.AllowedColumns = v + return s +} + +// SetAnalysisMethod sets the AnalysisMethod field's value. +func (s *ConfiguredTable) SetAnalysisMethod(v string) *ConfiguredTable { + s.AnalysisMethod = &v + return s +} + +// SetAnalysisRuleTypes sets the AnalysisRuleTypes field's value. +func (s *ConfiguredTable) SetAnalysisRuleTypes(v []*string) *ConfiguredTable { + s.AnalysisRuleTypes = v + return s +} + +// SetArn sets the Arn field's value. +func (s *ConfiguredTable) SetArn(v string) *ConfiguredTable { + s.Arn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *ConfiguredTable) SetCreateTime(v time.Time) *ConfiguredTable { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ConfiguredTable) SetDescription(v string) *ConfiguredTable { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *ConfiguredTable) SetId(v string) *ConfiguredTable { + s.Id = &v + return s +} + +// SetName sets the Name field's value. +func (s *ConfiguredTable) SetName(v string) *ConfiguredTable { + s.Name = &v + return s +} + +// SetTableReference sets the TableReference field's value. +func (s *ConfiguredTable) SetTableReference(v *TableReference) *ConfiguredTable { + s.TableReference = v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *ConfiguredTable) SetUpdateTime(v time.Time) *ConfiguredTable { + s.UpdateTime = &v + return s +} + +// A configured table analysis rule, which limits how data for this table can +// be used. +type ConfiguredTableAnalysisRule struct { + _ struct{} `type:"structure"` + + // The unique ARN for the configured table. + // + // ConfiguredTableArn is a required field + ConfiguredTableArn *string `locationName:"configuredTableArn" type:"string" required:"true"` + + // The unique ID for the configured table. + // + // ConfiguredTableId is a required field + ConfiguredTableId *string `locationName:"configuredTableId" min:"36" type:"string" required:"true"` + + // The time the configured table analysis rule was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The policy that controls SQL query rules. + // + // Policy is a required field + Policy *ConfiguredTableAnalysisRulePolicy `locationName:"policy" type:"structure" required:"true"` + + // The type of configured table analysis rule. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` + + // The time the configured table analysis rule was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredTableAnalysisRule) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredTableAnalysisRule) GoString() string { + return s.String() +} + +// SetConfiguredTableArn sets the ConfiguredTableArn field's value. +func (s *ConfiguredTableAnalysisRule) SetConfiguredTableArn(v string) *ConfiguredTableAnalysisRule { + s.ConfiguredTableArn = &v + return s +} + +// SetConfiguredTableId sets the ConfiguredTableId field's value. +func (s *ConfiguredTableAnalysisRule) SetConfiguredTableId(v string) *ConfiguredTableAnalysisRule { + s.ConfiguredTableId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *ConfiguredTableAnalysisRule) SetCreateTime(v time.Time) *ConfiguredTableAnalysisRule { + s.CreateTime = &v + return s +} + +// SetPolicy sets the Policy field's value. +func (s *ConfiguredTableAnalysisRule) SetPolicy(v *ConfiguredTableAnalysisRulePolicy) *ConfiguredTableAnalysisRule { + s.Policy = v + return s +} + +// SetType sets the Type field's value. +func (s *ConfiguredTableAnalysisRule) SetType(v string) *ConfiguredTableAnalysisRule { + s.Type = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *ConfiguredTableAnalysisRule) SetUpdateTime(v time.Time) *ConfiguredTableAnalysisRule { + s.UpdateTime = &v + return s +} + +// Controls on the query specifications that can be run on a configured table. +type ConfiguredTableAnalysisRulePolicy struct { + _ struct{} `type:"structure"` + + // Controls on the query specifications that can be run on a configured table. + V1 *ConfiguredTableAnalysisRulePolicyV1 `locationName:"v1" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredTableAnalysisRulePolicy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredTableAnalysisRulePolicy) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConfiguredTableAnalysisRulePolicy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConfiguredTableAnalysisRulePolicy"} + if s.V1 != nil { + if err := s.V1.Validate(); err != nil { + invalidParams.AddNested("V1", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetV1 sets the V1 field's value. +func (s *ConfiguredTableAnalysisRulePolicy) SetV1(v *ConfiguredTableAnalysisRulePolicyV1) *ConfiguredTableAnalysisRulePolicy { + s.V1 = v + return s +} + +// Controls on the query specifications that can be run on a configured table. +type ConfiguredTableAnalysisRulePolicyV1 struct { + _ struct{} `type:"structure"` + + // Analysis rule type that enables only aggregation queries on a configured + // table. + Aggregation *AnalysisRuleAggregation `locationName:"aggregation" type:"structure"` + + // A type of analysis rule that enables the table owner to approve custom SQL + // queries on their configured tables. It supports differential privacy. + Custom *AnalysisRuleCustom `locationName:"custom" type:"structure"` + + // Analysis rule type that enables only list queries on a configured table. + List *AnalysisRuleList `locationName:"list" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredTableAnalysisRulePolicyV1) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredTableAnalysisRulePolicyV1) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConfiguredTableAnalysisRulePolicyV1) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConfiguredTableAnalysisRulePolicyV1"} + if s.Aggregation != nil { + if err := s.Aggregation.Validate(); err != nil { + invalidParams.AddNested("Aggregation", err.(request.ErrInvalidParams)) + } + } + if s.Custom != nil { + if err := s.Custom.Validate(); err != nil { + invalidParams.AddNested("Custom", err.(request.ErrInvalidParams)) + } + } + if s.List != nil { + if err := s.List.Validate(); err != nil { + invalidParams.AddNested("List", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAggregation sets the Aggregation field's value. +func (s *ConfiguredTableAnalysisRulePolicyV1) SetAggregation(v *AnalysisRuleAggregation) *ConfiguredTableAnalysisRulePolicyV1 { + s.Aggregation = v + return s +} + +// SetCustom sets the Custom field's value. +func (s *ConfiguredTableAnalysisRulePolicyV1) SetCustom(v *AnalysisRuleCustom) *ConfiguredTableAnalysisRulePolicyV1 { + s.Custom = v + return s +} + +// SetList sets the List field's value. +func (s *ConfiguredTableAnalysisRulePolicyV1) SetList(v *AnalysisRuleList) *ConfiguredTableAnalysisRulePolicyV1 { + s.List = v + return s +} + +// A configured table association links a configured table to a collaboration. +type ConfiguredTableAssociation struct { + _ struct{} `type:"structure"` + + // The unique ARN for the configured table association. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The unique ARN for the configured table that the association refers to. + // + // ConfiguredTableArn is a required field + ConfiguredTableArn *string `locationName:"configuredTableArn" type:"string" required:"true"` + + // The unique ID for the configured table that the association refers to. + // + // ConfiguredTableId is a required field + ConfiguredTableId *string `locationName:"configuredTableId" min:"36" type:"string" required:"true"` + + // The time the configured table association was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // A description of the configured table association. + Description *string `locationName:"description" type:"string"` + + // The unique ID for the configured table association. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The unique ARN for the membership this configured table association belongs + // to. + // + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + + // The unique ID for the membership this configured table association belongs + // to. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + + // The name of the configured table association, in lowercase. The table is + // identified by this name when running protected queries against the underlying + // data. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The service will assume this role to access catalog metadata and query the + // table. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"` + + // The time the configured table association was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredTableAssociation) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredTableAssociation) GoString() string { + return s.String() +} + +// SetArn sets the Arn field's value. +func (s *ConfiguredTableAssociation) SetArn(v string) *ConfiguredTableAssociation { + s.Arn = &v + return s +} + +// SetConfiguredTableArn sets the ConfiguredTableArn field's value. +func (s *ConfiguredTableAssociation) SetConfiguredTableArn(v string) *ConfiguredTableAssociation { + s.ConfiguredTableArn = &v + return s +} + +// SetConfiguredTableId sets the ConfiguredTableId field's value. +func (s *ConfiguredTableAssociation) SetConfiguredTableId(v string) *ConfiguredTableAssociation { + s.ConfiguredTableId = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *ConfiguredTableAssociation) SetCreateTime(v time.Time) *ConfiguredTableAssociation { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ConfiguredTableAssociation) SetDescription(v string) *ConfiguredTableAssociation { + s.Description = &v + return s +} + +// SetId sets the Id field's value. +func (s *ConfiguredTableAssociation) SetId(v string) *ConfiguredTableAssociation { + s.Id = &v + return s +} + +// SetMembershipArn sets the MembershipArn field's value. +func (s *ConfiguredTableAssociation) SetMembershipArn(v string) *ConfiguredTableAssociation { + s.MembershipArn = &v + return s +} + +// SetMembershipId sets the MembershipId field's value. +func (s *ConfiguredTableAssociation) SetMembershipId(v string) *ConfiguredTableAssociation { + s.MembershipId = &v + return s +} + +// SetName sets the Name field's value. +func (s *ConfiguredTableAssociation) SetName(v string) *ConfiguredTableAssociation { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *ConfiguredTableAssociation) SetRoleArn(v string) *ConfiguredTableAssociation { + s.RoleArn = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *ConfiguredTableAssociation) SetUpdateTime(v time.Time) *ConfiguredTableAssociation { + s.UpdateTime = &v + return s +} + +// The configured table association summary for the objects listed by the request. +type ConfiguredTableAssociationSummary struct { + _ struct{} `type:"structure"` + + // The unique ARN for the configured table association. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The unique configured table ID that this configured table association refers + // to. + // + // ConfiguredTableId is a required field + ConfiguredTableId *string `locationName:"configuredTableId" min:"36" type:"string" required:"true"` + + // The time the configured table association was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The unique ID for the configured table association. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The unique ARN for the membership that the configured table association belongs + // to. + // + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` + + // The unique ID for the membership that the configured table association belongs + // to. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + + // The name of the configured table association. The table is identified by + // this name when running Protected Queries against the underlying data. + // + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` + + // The time the configured table association was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +} + +// String returns the string representation. // // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AccessDeniedException) GoString() string { +func (s ConfiguredTableAssociationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredTableAssociationSummary) GoString() string { return s.String() } -func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { - return &AccessDeniedException{ - RespMetadata: v, - } +// SetArn sets the Arn field's value. +func (s *ConfiguredTableAssociationSummary) SetArn(v string) *ConfiguredTableAssociationSummary { + s.Arn = &v + return s } -// Code returns the exception type name. -func (s *AccessDeniedException) Code() string { - return "AccessDeniedException" +// SetConfiguredTableId sets the ConfiguredTableId field's value. +func (s *ConfiguredTableAssociationSummary) SetConfiguredTableId(v string) *ConfiguredTableAssociationSummary { + s.ConfiguredTableId = &v + return s } -// Message returns the exception's message. -func (s *AccessDeniedException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" +// SetCreateTime sets the CreateTime field's value. +func (s *ConfiguredTableAssociationSummary) SetCreateTime(v time.Time) *ConfiguredTableAssociationSummary { + s.CreateTime = &v + return s } -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *AccessDeniedException) OrigErr() error { - return nil +// SetId sets the Id field's value. +func (s *ConfiguredTableAssociationSummary) SetId(v string) *ConfiguredTableAssociationSummary { + s.Id = &v + return s } -func (s *AccessDeniedException) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +// SetMembershipArn sets the MembershipArn field's value. +func (s *ConfiguredTableAssociationSummary) SetMembershipArn(v string) *ConfiguredTableAssociationSummary { + s.MembershipArn = &v + return s } -// Status code returns the HTTP status code for the request's response error. -func (s *AccessDeniedException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetMembershipId sets the MembershipId field's value. +func (s *ConfiguredTableAssociationSummary) SetMembershipId(v string) *ConfiguredTableAssociationSummary { + s.MembershipId = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *AccessDeniedException) RequestID() string { - return s.RespMetadata.RequestID +// SetName sets the Name field's value. +func (s *ConfiguredTableAssociationSummary) SetName(v string) *ConfiguredTableAssociationSummary { + s.Name = &v + return s } -// Column in configured table that can be used in aggregate function in query. -type AggregateColumn struct { +// SetUpdateTime sets the UpdateTime field's value. +func (s *ConfiguredTableAssociationSummary) SetUpdateTime(v time.Time) *ConfiguredTableAssociationSummary { + s.UpdateTime = &v + return s +} + +// The configured table summary for the objects listed by the request. +type ConfiguredTableSummary struct { _ struct{} `type:"structure"` - // Column names in configured table of aggregate columns. + // The analysis method for the configured tables. The only valid value is currently + // `DIRECT_QUERY`. // - // ColumnNames is a required field - ColumnNames []*string `locationName:"columnNames" min:"1" type:"list" required:"true"` + // AnalysisMethod is a required field + AnalysisMethod *string `locationName:"analysisMethod" type:"string" required:"true" enum:"AnalysisMethod"` - // Aggregation function that can be applied to aggregate column in query. + // The types of analysis rules associated with this configured table. // - // Function is a required field - Function *string `locationName:"function" type:"string" required:"true" enum:"AggregateFunctionName"` + // AnalysisRuleTypes is a required field + AnalysisRuleTypes []*string `locationName:"analysisRuleTypes" type:"list" required:"true" enum:"ConfiguredTableAnalysisRuleType"` + + // The unique ARN of the configured table. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The time the configured table was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The unique ID of the configured table. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The name of the configured table. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The time the configured table was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -4740,7 +10295,7 @@ type AggregateColumn struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AggregateColumn) String() string { +func (s ConfiguredTableSummary) String() string { return awsutil.Prettify(s) } @@ -4749,64 +10304,67 @@ func (s AggregateColumn) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AggregateColumn) GoString() string { +func (s ConfiguredTableSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AggregateColumn) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AggregateColumn"} - if s.ColumnNames == nil { - invalidParams.Add(request.NewErrParamRequired("ColumnNames")) - } - if s.ColumnNames != nil && len(s.ColumnNames) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ColumnNames", 1)) - } - if s.Function == nil { - invalidParams.Add(request.NewErrParamRequired("Function")) - } +// SetAnalysisMethod sets the AnalysisMethod field's value. +func (s *ConfiguredTableSummary) SetAnalysisMethod(v string) *ConfiguredTableSummary { + s.AnalysisMethod = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAnalysisRuleTypes sets the AnalysisRuleTypes field's value. +func (s *ConfiguredTableSummary) SetAnalysisRuleTypes(v []*string) *ConfiguredTableSummary { + s.AnalysisRuleTypes = v + return s } -// SetColumnNames sets the ColumnNames field's value. -func (s *AggregateColumn) SetColumnNames(v []*string) *AggregateColumn { - s.ColumnNames = v +// SetArn sets the Arn field's value. +func (s *ConfiguredTableSummary) SetArn(v string) *ConfiguredTableSummary { + s.Arn = &v return s } -// SetFunction sets the Function field's value. -func (s *AggregateColumn) SetFunction(v string) *AggregateColumn { - s.Function = &v +// SetCreateTime sets the CreateTime field's value. +func (s *ConfiguredTableSummary) SetCreateTime(v time.Time) *ConfiguredTableSummary { + s.CreateTime = &v return s } -// Constraint on query output removing output rows that do not meet a minimum -// number of distinct values of a specified column. -type AggregationConstraint struct { - _ struct{} `type:"structure"` +// SetId sets the Id field's value. +func (s *ConfiguredTableSummary) SetId(v string) *ConfiguredTableSummary { + s.Id = &v + return s +} - // Column in aggregation constraint for which there must be a minimum number - // of distinct values in an output row for it to be in the query output. - // - // ColumnName is a required field - ColumnName *string `locationName:"columnName" min:"1" type:"string" required:"true"` +// SetName sets the Name field's value. +func (s *ConfiguredTableSummary) SetName(v string) *ConfiguredTableSummary { + s.Name = &v + return s +} - // The minimum number of distinct values that an output row must be an aggregation - // of. Minimum threshold of distinct values for a specified column that must - // exist in an output row for it to be in the query output. - // - // Minimum is a required field - Minimum *int64 `locationName:"minimum" min:"2" type:"integer" required:"true"` +// SetUpdateTime sets the UpdateTime field's value. +func (s *ConfiguredTableSummary) SetUpdateTime(v time.Time) *ConfiguredTableSummary { + s.UpdateTime = &v + return s +} - // The type of aggregation the constraint allows. The only valid value is currently - // `COUNT_DISTINCT`. - // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"AggregationType"` +// Updating or deleting a resource can cause an inconsistent state. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` + + // A reason code for the exception. + Reason *string `locationName:"reason" type:"string" enum:"ConflictExceptionReason"` + + // The ID of the conflicting resource. + ResourceId *string `locationName:"resourceId" type:"string"` + + // The type of the conflicting resource. + ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` } // String returns the string representation. @@ -4814,7 +10372,7 @@ type AggregationConstraint struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AggregationConstraint) String() string { +func (s ConflictException) String() string { return awsutil.Prettify(s) } @@ -4823,72 +10381,87 @@ func (s AggregationConstraint) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AggregationConstraint) GoString() string { +func (s ConflictException) GoString() string { return s.String() } - -// Validate inspects the fields of the type to determine if they are valid. -func (s *AggregationConstraint) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AggregationConstraint"} - if s.ColumnName == nil { - invalidParams.Add(request.NewErrParamRequired("ColumnName")) - } - if s.ColumnName != nil && len(*s.ColumnName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) - } - if s.Minimum == nil { - invalidParams.Add(request.NewErrParamRequired("Minimum")) - } - if s.Minimum != nil && *s.Minimum < 2 { - invalidParams.Add(request.NewErrParamMinValue("Minimum", 2)) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, } +} - if invalidParams.Len() > 0 { - return invalidParams +// 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 } -// SetColumnName sets the ColumnName field's value. -func (s *AggregationConstraint) SetColumnName(v string) *AggregationConstraint { - s.ColumnName = &v - return s +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) } -// SetMinimum sets the Minimum field's value. -func (s *AggregationConstraint) SetMinimum(v int64) *AggregationConstraint { - s.Minimum = &v - return s +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode } -// SetType sets the Type field's value. -func (s *AggregationConstraint) SetType(v string) *AggregationConstraint { - s.Type = &v - return s +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID } -// Optional. The member who can query can provide this placeholder for a literal -// data value in an analysis template. -type AnalysisParameter struct { - _ struct{} `type:"structure" sensitive:"true"` +type CreateAnalysisTemplateInput struct { + _ struct{} `type:"structure"` - // Optional. The default value that is applied in the analysis template. The - // member who can query can override this value in the query editor. - DefaultValue *string `locationName:"defaultValue" type:"string"` + // The parameters of the analysis template. + AnalysisParameters []*AnalysisParameter `locationName:"analysisParameters" type:"list"` - // The name of the parameter. The name must use only alphanumeric, underscore - // (_), or hyphen (-) characters but cannot start or end with a hyphen. + // The description of the analysis template. + Description *string `locationName:"description" type:"string"` + + // The format of the analysis template. + // + // Format is a required field + Format *string `locationName:"format" type:"string" required:"true" enum:"AnalysisFormat"` + + // The identifier for a membership resource. + // + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + + // The name of the analysis template. // // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + Name *string `locationName:"name" type:"string" required:"true"` - // The type of parameter. + // The information in the analysis template. Currently supports text, the query + // text for the analysis template. // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"ParameterType"` + // Source is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateAnalysisTemplateInput's + // String and GoString methods. + // + // Source is a required field + Source *AnalysisSource `locationName:"source" type:"structure" required:"true" sensitive:"true"` + + // An optional label that you can assign to a resource when you create it. Each + // tag consists of a key and an optional value, both of which you define. When + // you use tagging, you can also use tag-based access control in IAM policies + // to control access to this resource. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -4896,7 +10469,7 @@ type AnalysisParameter struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisParameter) String() string { +func (s CreateAnalysisTemplateInput) String() string { return awsutil.Prettify(s) } @@ -4905,21 +10478,37 @@ func (s AnalysisParameter) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisParameter) GoString() string { +func (s CreateAnalysisTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AnalysisParameter) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AnalysisParameter"} +func (s *CreateAnalysisTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAnalysisTemplateInput"} + if s.Format == nil { + invalidParams.Add(request.NewErrParamRequired("Format")) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.Source == nil { + invalidParams.Add(request.NewErrParamRequired("Source")) } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) + if s.AnalysisParameters != nil { + for i, v := range s.AnalysisParameters { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AnalysisParameters", i), err.(request.ErrInvalidParams)) + } + } } if invalidParams.Len() > 0 { @@ -4928,58 +10517,55 @@ func (s *AnalysisParameter) Validate() error { return nil } -// SetDefaultValue sets the DefaultValue field's value. -func (s *AnalysisParameter) SetDefaultValue(v string) *AnalysisParameter { - s.DefaultValue = &v +// SetAnalysisParameters sets the AnalysisParameters field's value. +func (s *CreateAnalysisTemplateInput) SetAnalysisParameters(v []*AnalysisParameter) *CreateAnalysisTemplateInput { + s.AnalysisParameters = v return s } -// SetName sets the Name field's value. -func (s *AnalysisParameter) SetName(v string) *AnalysisParameter { - s.Name = &v +// SetDescription sets the Description field's value. +func (s *CreateAnalysisTemplateInput) SetDescription(v string) *CreateAnalysisTemplateInput { + s.Description = &v return s } -// SetType sets the Type field's value. -func (s *AnalysisParameter) SetType(v string) *AnalysisParameter { - s.Type = &v +// SetFormat sets the Format field's value. +func (s *CreateAnalysisTemplateInput) SetFormat(v string) *CreateAnalysisTemplateInput { + s.Format = &v return s } -// A specification about how data from the configured table can be used in a -// query. -type AnalysisRule struct { - _ struct{} `type:"structure"` - - // The unique ID for the associated collaboration. - // - // CollaborationId is a required field - CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *CreateAnalysisTemplateInput) SetMembershipIdentifier(v string) *CreateAnalysisTemplateInput { + s.MembershipIdentifier = &v + return s +} - // The time the analysis rule was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` +// SetName sets the Name field's value. +func (s *CreateAnalysisTemplateInput) SetName(v string) *CreateAnalysisTemplateInput { + s.Name = &v + return s +} - // The name for the analysis rule. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` +// SetSource sets the Source field's value. +func (s *CreateAnalysisTemplateInput) SetSource(v *AnalysisSource) *CreateAnalysisTemplateInput { + s.Source = v + return s +} - // A policy that describes the associated data usage limitations. - // - // Policy is a required field - Policy *AnalysisRulePolicy `locationName:"policy" type:"structure" required:"true"` +// SetTags sets the Tags field's value. +func (s *CreateAnalysisTemplateInput) SetTags(v map[string]*string) *CreateAnalysisTemplateInput { + s.Tags = v + return s +} - // The type of analysis rule. - // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"AnalysisRuleType"` +type CreateAnalysisTemplateOutput struct { + _ struct{} `type:"structure"` - // The time the analysis rule was last updated. + // The analysis template. // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // AnalysisTemplate is a required field + AnalysisTemplate *AnalysisTemplate `locationName:"analysisTemplate" type:"structure" required:"true"` } // String returns the string representation. @@ -4987,7 +10573,7 @@ type AnalysisRule struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisRule) String() string { +func (s CreateAnalysisTemplateOutput) String() string { return awsutil.Prettify(s) } @@ -4996,87 +10582,66 @@ func (s AnalysisRule) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisRule) GoString() string { +func (s CreateAnalysisTemplateOutput) GoString() string { return s.String() } -// SetCollaborationId sets the CollaborationId field's value. -func (s *AnalysisRule) SetCollaborationId(v string) *AnalysisRule { - s.CollaborationId = &v - return s -} - -// SetCreateTime sets the CreateTime field's value. -func (s *AnalysisRule) SetCreateTime(v time.Time) *AnalysisRule { - s.CreateTime = &v - return s -} - -// SetName sets the Name field's value. -func (s *AnalysisRule) SetName(v string) *AnalysisRule { - s.Name = &v - return s -} - -// SetPolicy sets the Policy field's value. -func (s *AnalysisRule) SetPolicy(v *AnalysisRulePolicy) *AnalysisRule { - s.Policy = v +// SetAnalysisTemplate sets the AnalysisTemplate field's value. +func (s *CreateAnalysisTemplateOutput) SetAnalysisTemplate(v *AnalysisTemplate) *CreateAnalysisTemplateOutput { + s.AnalysisTemplate = v return s } -// SetType sets the Type field's value. -func (s *AnalysisRule) SetType(v string) *AnalysisRule { - s.Type = &v - return s -} +type CreateCollaborationInput struct { + _ struct{} `type:"structure"` -// SetUpdateTime sets the UpdateTime field's value. -func (s *AnalysisRule) SetUpdateTime(v time.Time) *AnalysisRule { - s.UpdateTime = &v - return s -} + // The display name of the collaboration creator. + // + // CreatorDisplayName is a required field + CreatorDisplayName *string `locationName:"creatorDisplayName" min:"1" type:"string" required:"true"` -// A type of analysis rule that enables query structure and specified queries -// that produce aggregate statistics. -type AnalysisRuleAggregation struct { - _ struct{} `type:"structure"` + // The abilities granted to the collaboration creator. + // + // CreatorMemberAbilities is a required field + CreatorMemberAbilities []*string `locationName:"creatorMemberAbilities" type:"list" required:"true" enum:"MemberAbility"` - // The columns that query runners are allowed to use in aggregation queries. + // The collaboration creator's payment responsibilities set by the collaboration + // creator. // - // AggregateColumns is a required field - AggregateColumns []*AggregateColumn `locationName:"aggregateColumns" min:"1" type:"list" required:"true"` + // If the collaboration creator hasn't specified anyone as the member paying + // for query compute costs, then the member who can query is the default payer. + CreatorPaymentConfiguration *PaymentConfiguration `locationName:"creatorPaymentConfiguration" type:"structure"` - // Which logical operators (if any) are to be used in an INNER JOIN match condition. - // Default is AND. - AllowedJoinOperators []*string `locationName:"allowedJoinOperators" type:"list" enum:"JoinOperator"` + // The settings for client-side encryption with Cryptographic Computing for + // Clean Rooms. + DataEncryptionMetadata *DataEncryptionMetadata `locationName:"dataEncryptionMetadata" type:"structure"` - // The columns that query runners are allowed to select, group by, or filter - // by. + // A description of the collaboration provided by the collaboration owner. // - // DimensionColumns is a required field - DimensionColumns []*string `locationName:"dimensionColumns" type:"list" required:"true"` + // Description is a required field + Description *string `locationName:"description" min:"1" type:"string" required:"true"` - // Columns in configured table that can be used in join statements and/or as - // aggregate columns. They can never be outputted directly. + // A list of initial members, not including the creator. This list is immutable. // - // JoinColumns is a required field - JoinColumns []*string `locationName:"joinColumns" type:"list" required:"true"` - - // Control that requires member who runs query to do a join with their configured - // table and/or other configured table in query. - JoinRequired *string `locationName:"joinRequired" type:"string" enum:"JoinRequiredOption"` + // Members is a required field + Members []*MemberSpecification `locationName:"members" type:"list" required:"true"` - // Columns that must meet a specific threshold value (after an aggregation function - // is applied to it) for each output row to be returned. + // The display name for a collaboration. // - // OutputConstraints is a required field - OutputConstraints []*AggregationConstraint `locationName:"outputConstraints" min:"1" type:"list" required:"true"` + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // Set of scalar functions that are allowed to be used on dimension columns - // and the output of aggregation of metrics. + // An indicator as to whether query logging has been enabled or disabled for + // the collaboration. // - // ScalarFunctions is a required field - ScalarFunctions []*string `locationName:"scalarFunctions" type:"list" required:"true" enum:"ScalarFunctions"` + // QueryLogStatus is a required field + QueryLogStatus *string `locationName:"queryLogStatus" type:"string" required:"true" enum:"CollaborationQueryLogStatus"` + + // An optional label that you can assign to a resource when you create it. Each + // tag consists of a key and an optional value, both of which you define. When + // you use tagging, you can also use tag-based access control in IAM policies + // to control access to this resource. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -5084,7 +10649,7 @@ type AnalysisRuleAggregation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisRuleAggregation) String() string { +func (s CreateCollaborationInput) String() string { return awsutil.Prettify(s) } @@ -5093,51 +10658,57 @@ func (s AnalysisRuleAggregation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisRuleAggregation) GoString() string { +func (s CreateCollaborationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AnalysisRuleAggregation) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AnalysisRuleAggregation"} - if s.AggregateColumns == nil { - invalidParams.Add(request.NewErrParamRequired("AggregateColumns")) +func (s *CreateCollaborationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateCollaborationInput"} + if s.CreatorDisplayName == nil { + invalidParams.Add(request.NewErrParamRequired("CreatorDisplayName")) } - if s.AggregateColumns != nil && len(s.AggregateColumns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AggregateColumns", 1)) + if s.CreatorDisplayName != nil && len(*s.CreatorDisplayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("CreatorDisplayName", 1)) } - if s.DimensionColumns == nil { - invalidParams.Add(request.NewErrParamRequired("DimensionColumns")) + if s.CreatorMemberAbilities == nil { + invalidParams.Add(request.NewErrParamRequired("CreatorMemberAbilities")) } - if s.JoinColumns == nil { - invalidParams.Add(request.NewErrParamRequired("JoinColumns")) + if s.Description == nil { + invalidParams.Add(request.NewErrParamRequired("Description")) } - if s.OutputConstraints == nil { - invalidParams.Add(request.NewErrParamRequired("OutputConstraints")) + if s.Description != nil && len(*s.Description) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Description", 1)) } - if s.OutputConstraints != nil && len(s.OutputConstraints) < 1 { - invalidParams.Add(request.NewErrParamMinLen("OutputConstraints", 1)) + if s.Members == nil { + invalidParams.Add(request.NewErrParamRequired("Members")) } - if s.ScalarFunctions == nil { - invalidParams.Add(request.NewErrParamRequired("ScalarFunctions")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.AggregateColumns != nil { - for i, v := range s.AggregateColumns { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AggregateColumns", i), err.(request.ErrInvalidParams)) - } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.QueryLogStatus == nil { + invalidParams.Add(request.NewErrParamRequired("QueryLogStatus")) + } + if s.CreatorPaymentConfiguration != nil { + if err := s.CreatorPaymentConfiguration.Validate(); err != nil { + invalidParams.AddNested("CreatorPaymentConfiguration", err.(request.ErrInvalidParams)) } } - if s.OutputConstraints != nil { - for i, v := range s.OutputConstraints { + if s.DataEncryptionMetadata != nil { + if err := s.DataEncryptionMetadata.Validate(); err != nil { + invalidParams.AddNested("DataEncryptionMetadata", err.(request.ErrInvalidParams)) + } + } + 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]", "OutputConstraints", i), err.(request.ErrInvalidParams)) + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Members", i), err.(request.ErrInvalidParams)) } } } @@ -5148,61 +10719,67 @@ func (s *AnalysisRuleAggregation) Validate() error { return nil } -// SetAggregateColumns sets the AggregateColumns field's value. -func (s *AnalysisRuleAggregation) SetAggregateColumns(v []*AggregateColumn) *AnalysisRuleAggregation { - s.AggregateColumns = v +// SetCreatorDisplayName sets the CreatorDisplayName field's value. +func (s *CreateCollaborationInput) SetCreatorDisplayName(v string) *CreateCollaborationInput { + s.CreatorDisplayName = &v return s } -// SetAllowedJoinOperators sets the AllowedJoinOperators field's value. -func (s *AnalysisRuleAggregation) SetAllowedJoinOperators(v []*string) *AnalysisRuleAggregation { - s.AllowedJoinOperators = v +// SetCreatorMemberAbilities sets the CreatorMemberAbilities field's value. +func (s *CreateCollaborationInput) SetCreatorMemberAbilities(v []*string) *CreateCollaborationInput { + s.CreatorMemberAbilities = v return s } -// SetDimensionColumns sets the DimensionColumns field's value. -func (s *AnalysisRuleAggregation) SetDimensionColumns(v []*string) *AnalysisRuleAggregation { - s.DimensionColumns = v +// SetCreatorPaymentConfiguration sets the CreatorPaymentConfiguration field's value. +func (s *CreateCollaborationInput) SetCreatorPaymentConfiguration(v *PaymentConfiguration) *CreateCollaborationInput { + s.CreatorPaymentConfiguration = v return s } -// SetJoinColumns sets the JoinColumns field's value. -func (s *AnalysisRuleAggregation) SetJoinColumns(v []*string) *AnalysisRuleAggregation { - s.JoinColumns = v +// SetDataEncryptionMetadata sets the DataEncryptionMetadata field's value. +func (s *CreateCollaborationInput) SetDataEncryptionMetadata(v *DataEncryptionMetadata) *CreateCollaborationInput { + s.DataEncryptionMetadata = v return s } -// SetJoinRequired sets the JoinRequired field's value. -func (s *AnalysisRuleAggregation) SetJoinRequired(v string) *AnalysisRuleAggregation { - s.JoinRequired = &v +// SetDescription sets the Description field's value. +func (s *CreateCollaborationInput) SetDescription(v string) *CreateCollaborationInput { + s.Description = &v return s } -// SetOutputConstraints sets the OutputConstraints field's value. -func (s *AnalysisRuleAggregation) SetOutputConstraints(v []*AggregationConstraint) *AnalysisRuleAggregation { - s.OutputConstraints = v +// SetMembers sets the Members field's value. +func (s *CreateCollaborationInput) SetMembers(v []*MemberSpecification) *CreateCollaborationInput { + s.Members = v return s } -// SetScalarFunctions sets the ScalarFunctions field's value. -func (s *AnalysisRuleAggregation) SetScalarFunctions(v []*string) *AnalysisRuleAggregation { - s.ScalarFunctions = v +// SetName sets the Name field's value. +func (s *CreateCollaborationInput) SetName(v string) *CreateCollaborationInput { + s.Name = &v return s } -// A type of analysis rule that enables the table owner to approve custom SQL -// queries on their configured tables. -type AnalysisRuleCustom struct { +// SetQueryLogStatus sets the QueryLogStatus field's value. +func (s *CreateCollaborationInput) SetQueryLogStatus(v string) *CreateCollaborationInput { + s.QueryLogStatus = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateCollaborationInput) SetTags(v map[string]*string) *CreateCollaborationInput { + s.Tags = v + return s +} + +type CreateCollaborationOutput struct { _ struct{} `type:"structure"` - // The analysis templates that are allowed by the custom analysis rule. + // The entire created collaboration object. // - // AllowedAnalyses is a required field - AllowedAnalyses []*string `locationName:"allowedAnalyses" type:"list" required:"true"` - - // The Amazon Web Services accounts that are allowed to query by the custom - // analysis rule. Required when allowedAnalyses is ANY_QUERY. - AllowedAnalysisProviders []*string `locationName:"allowedAnalysisProviders" type:"list"` + // Collaboration is a required field + Collaboration *Collaboration `locationName:"collaboration" type:"structure" required:"true"` } // String returns the string representation. @@ -5210,7 +10787,7 @@ type AnalysisRuleCustom struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisRuleCustom) String() string { +func (s CreateCollaborationOutput) String() string { return awsutil.Prettify(s) } @@ -5219,53 +10796,59 @@ func (s AnalysisRuleCustom) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisRuleCustom) GoString() string { +func (s CreateCollaborationOutput) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *AnalysisRuleCustom) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AnalysisRuleCustom"} - if s.AllowedAnalyses == nil { - invalidParams.Add(request.NewErrParamRequired("AllowedAnalyses")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAllowedAnalyses sets the AllowedAnalyses field's value. -func (s *AnalysisRuleCustom) SetAllowedAnalyses(v []*string) *AnalysisRuleCustom { - s.AllowedAnalyses = v - return s -} - -// SetAllowedAnalysisProviders sets the AllowedAnalysisProviders field's value. -func (s *AnalysisRuleCustom) SetAllowedAnalysisProviders(v []*string) *AnalysisRuleCustom { - s.AllowedAnalysisProviders = v +// SetCollaboration sets the Collaboration field's value. +func (s *CreateCollaborationOutput) SetCollaboration(v *Collaboration) *CreateCollaborationOutput { + s.Collaboration = v return s } -// A type of analysis rule that enables row-level analysis. -type AnalysisRuleList struct { +type CreateConfiguredAudienceModelAssociationInput struct { _ struct{} `type:"structure"` - // The logical operators (if any) that are to be used in an INNER JOIN match - // condition. Default is AND. - AllowedJoinOperators []*string `locationName:"allowedJoinOperators" type:"list" enum:"JoinOperator"` + // A unique identifier for the configured audience model that you want to associate. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` - // Columns that can be used to join a configured table with the table of the - // member who can query and other members' configured tables. + // The name of the configured audience model association. // - // JoinColumns is a required field - JoinColumns []*string `locationName:"joinColumns" min:"1" type:"list" required:"true"` + // ConfiguredAudienceModelAssociationName is a required field + ConfiguredAudienceModelAssociationName *string `locationName:"configuredAudienceModelAssociationName" min:"1" type:"string" required:"true"` - // Columns that can be listed in the output. + // A description of the configured audience model association. + Description *string `locationName:"description" type:"string"` + + // When TRUE, indicates that the resource policy for the configured audience + // model resource being associated is configured for Clean Rooms to manage permissions + // related to the given collaboration. When FALSE, indicates that the configured + // audience model resource owner will manage permissions related to the given + // collaboration. // - // ListColumns is a required field - ListColumns []*string `locationName:"listColumns" type:"list" required:"true"` + // Setting this to TRUE requires you to have permissions to create, update, + // and delete the resource policy for the cleanrooms-ml resource when you call + // the DeleteConfiguredAudienceModelAssociation resource. In addition, if you + // are the collaboration creator and specify TRUE, you must have the same permissions + // when you call the DeleteMember and DeleteCollaboration APIs. + // + // ManageResourcePolicies is a required field + ManageResourcePolicies *bool `locationName:"manageResourcePolicies" type:"boolean" required:"true"` + + // A unique identifier for one of your memberships for a collaboration. The + // configured audience model is associated to the collaboration that this membership + // belongs to. Accepts a membership ID. + // + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + + // An optional label that you can assign to a resource when you create it. Each + // tag consists of a key and an optional value, both of which you define. When + // you use tagging, you can also use tag-based access control in IAM policies + // to control access to this resource. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -5273,7 +10856,7 @@ type AnalysisRuleList struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisRuleList) String() string { +func (s CreateConfiguredAudienceModelAssociationInput) String() string { return awsutil.Prettify(s) } @@ -5282,21 +10865,33 @@ func (s AnalysisRuleList) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisRuleList) GoString() string { +func (s CreateConfiguredAudienceModelAssociationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *AnalysisRuleList) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "AnalysisRuleList"} - if s.JoinColumns == nil { - invalidParams.Add(request.NewErrParamRequired("JoinColumns")) +func (s *CreateConfiguredAudienceModelAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredAudienceModelAssociationInput"} + if s.ConfiguredAudienceModelArn == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelArn")) } - if s.JoinColumns != nil && len(s.JoinColumns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("JoinColumns", 1)) + if s.ConfiguredAudienceModelArn != nil && len(*s.ConfiguredAudienceModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelArn", 20)) } - if s.ListColumns == nil { - invalidParams.Add(request.NewErrParamRequired("ListColumns")) + if s.ConfiguredAudienceModelAssociationName == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelAssociationName")) + } + if s.ConfiguredAudienceModelAssociationName != nil && len(*s.ConfiguredAudienceModelAssociationName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelAssociationName", 1)) + } + if s.ManageResourcePolicies == nil { + invalidParams.Add(request.NewErrParamRequired("ManageResourcePolicies")) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -5305,30 +10900,49 @@ func (s *AnalysisRuleList) Validate() error { return nil } -// SetAllowedJoinOperators sets the AllowedJoinOperators field's value. -func (s *AnalysisRuleList) SetAllowedJoinOperators(v []*string) *AnalysisRuleList { - s.AllowedJoinOperators = v +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *CreateConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelArn(v string) *CreateConfiguredAudienceModelAssociationInput { + s.ConfiguredAudienceModelArn = &v + return s +} + +// SetConfiguredAudienceModelAssociationName sets the ConfiguredAudienceModelAssociationName field's value. +func (s *CreateConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelAssociationName(v string) *CreateConfiguredAudienceModelAssociationInput { + s.ConfiguredAudienceModelAssociationName = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateConfiguredAudienceModelAssociationInput) SetDescription(v string) *CreateConfiguredAudienceModelAssociationInput { + s.Description = &v + return s +} + +// SetManageResourcePolicies sets the ManageResourcePolicies field's value. +func (s *CreateConfiguredAudienceModelAssociationInput) SetManageResourcePolicies(v bool) *CreateConfiguredAudienceModelAssociationInput { + s.ManageResourcePolicies = &v return s } -// SetJoinColumns sets the JoinColumns field's value. -func (s *AnalysisRuleList) SetJoinColumns(v []*string) *AnalysisRuleList { - s.JoinColumns = v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *CreateConfiguredAudienceModelAssociationInput) SetMembershipIdentifier(v string) *CreateConfiguredAudienceModelAssociationInput { + s.MembershipIdentifier = &v return s } -// SetListColumns sets the ListColumns field's value. -func (s *AnalysisRuleList) SetListColumns(v []*string) *AnalysisRuleList { - s.ListColumns = v +// SetTags sets the Tags field's value. +func (s *CreateConfiguredAudienceModelAssociationInput) SetTags(v map[string]*string) *CreateConfiguredAudienceModelAssociationInput { + s.Tags = v return s } -// Controls on the query specifications that can be run on configured table. -type AnalysisRulePolicy struct { +type CreateConfiguredAudienceModelAssociationOutput struct { _ struct{} `type:"structure"` - // Controls on the query specifications that can be run on configured table. - V1 *AnalysisRulePolicyV1 `locationName:"v1" type:"structure"` + // Information about the configured audience model association. + // + // ConfiguredAudienceModelAssociation is a required field + ConfiguredAudienceModelAssociation *ConfiguredAudienceModelAssociation `locationName:"configuredAudienceModelAssociation" type:"structure" required:"true"` } // String returns the string representation. @@ -5336,7 +10950,7 @@ type AnalysisRulePolicy struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisRulePolicy) String() string { +func (s CreateConfiguredAudienceModelAssociationOutput) String() string { return awsutil.Prettify(s) } @@ -5345,29 +10959,34 @@ func (s AnalysisRulePolicy) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisRulePolicy) GoString() string { +func (s CreateConfiguredAudienceModelAssociationOutput) GoString() string { return s.String() } -// SetV1 sets the V1 field's value. -func (s *AnalysisRulePolicy) SetV1(v *AnalysisRulePolicyV1) *AnalysisRulePolicy { - s.V1 = v +// SetConfiguredAudienceModelAssociation sets the ConfiguredAudienceModelAssociation field's value. +func (s *CreateConfiguredAudienceModelAssociationOutput) SetConfiguredAudienceModelAssociation(v *ConfiguredAudienceModelAssociation) *CreateConfiguredAudienceModelAssociationOutput { + s.ConfiguredAudienceModelAssociation = v return s } -// Controls on the query specifications that can be run on configured table. -type AnalysisRulePolicyV1 struct { +type CreateConfiguredTableAnalysisRuleInput struct { _ struct{} `type:"structure"` - // Analysis rule type that enables only aggregation queries on a configured - // table. - Aggregation *AnalysisRuleAggregation `locationName:"aggregation" type:"structure"` + // The entire created configured table analysis rule object. + // + // AnalysisRulePolicy is a required field + AnalysisRulePolicy *ConfiguredTableAnalysisRulePolicy `locationName:"analysisRulePolicy" type:"structure" required:"true"` - // Analysis rule type that enables custom SQL queries on a configured table. - Custom *AnalysisRuleCustom `locationName:"custom" type:"structure"` + // The type of analysis rule. + // + // AnalysisRuleType is a required field + AnalysisRuleType *string `locationName:"analysisRuleType" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` - // Analysis rule type that enables only list queries on a configured table. - List *AnalysisRuleList `locationName:"list" type:"structure"` + // The identifier for the configured table to create the analysis rule for. + // Currently accepts the configured table ID. + // + // ConfiguredTableIdentifier is a required field + ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -5375,7 +10994,7 @@ type AnalysisRulePolicyV1 struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisRulePolicyV1) String() string { +func (s CreateConfiguredTableAnalysisRuleInput) String() string { return awsutil.Prettify(s) } @@ -5384,66 +11003,62 @@ func (s AnalysisRulePolicyV1) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisRulePolicyV1) GoString() string { +func (s CreateConfiguredTableAnalysisRuleInput) GoString() string { return s.String() } -// SetAggregation sets the Aggregation field's value. -func (s *AnalysisRulePolicyV1) SetAggregation(v *AnalysisRuleAggregation) *AnalysisRulePolicyV1 { - s.Aggregation = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateConfiguredTableAnalysisRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredTableAnalysisRuleInput"} + if s.AnalysisRulePolicy == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisRulePolicy")) + } + if s.AnalysisRuleType == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisRuleType")) + } + if s.ConfiguredTableIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) + } + if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + } + if s.AnalysisRulePolicy != nil { + if err := s.AnalysisRulePolicy.Validate(); err != nil { + invalidParams.AddNested("AnalysisRulePolicy", err.(request.ErrInvalidParams)) + } + } -// SetCustom sets the Custom field's value. -func (s *AnalysisRulePolicyV1) SetCustom(v *AnalysisRuleCustom) *AnalysisRulePolicyV1 { - s.Custom = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetList sets the List field's value. -func (s *AnalysisRulePolicyV1) SetList(v *AnalysisRuleList) *AnalysisRulePolicyV1 { - s.List = v +// SetAnalysisRulePolicy sets the AnalysisRulePolicy field's value. +func (s *CreateConfiguredTableAnalysisRuleInput) SetAnalysisRulePolicy(v *ConfiguredTableAnalysisRulePolicy) *CreateConfiguredTableAnalysisRuleInput { + s.AnalysisRulePolicy = v return s } -// A relation within an analysis. -type AnalysisSchema struct { - _ struct{} `type:"structure"` - - // The tables referenced in the analysis schema. - ReferencedTables []*string `locationName:"referencedTables" type:"list"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AnalysisSchema) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s AnalysisSchema) GoString() string { - return s.String() +// SetAnalysisRuleType sets the AnalysisRuleType field's value. +func (s *CreateConfiguredTableAnalysisRuleInput) SetAnalysisRuleType(v string) *CreateConfiguredTableAnalysisRuleInput { + s.AnalysisRuleType = &v + return s } -// SetReferencedTables sets the ReferencedTables field's value. -func (s *AnalysisSchema) SetReferencedTables(v []*string) *AnalysisSchema { - s.ReferencedTables = v +// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. +func (s *CreateConfiguredTableAnalysisRuleInput) SetConfiguredTableIdentifier(v string) *CreateConfiguredTableAnalysisRuleInput { + s.ConfiguredTableIdentifier = &v return s } -// The structure that defines the body of the analysis template. -type AnalysisSource struct { - _ struct{} `type:"structure" sensitive:"true"` +type CreateConfiguredTableAnalysisRuleOutput struct { + _ struct{} `type:"structure"` - // The query text. - Text *string `locationName:"text" type:"string"` + // The entire created analysis rule. + // + // AnalysisRule is a required field + AnalysisRule *ConfiguredTableAnalysisRule `locationName:"analysisRule" type:"structure" required:"true"` } // String returns the string representation. @@ -5451,7 +11066,7 @@ type AnalysisSource struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisSource) String() string { +func (s CreateConfiguredTableAnalysisRuleOutput) String() string { return awsutil.Prettify(s) } @@ -5460,89 +11075,52 @@ func (s AnalysisSource) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisSource) GoString() string { +func (s CreateConfiguredTableAnalysisRuleOutput) GoString() string { return s.String() } -// SetText sets the Text field's value. -func (s *AnalysisSource) SetText(v string) *AnalysisSource { - s.Text = &v +// SetAnalysisRule sets the AnalysisRule field's value. +func (s *CreateConfiguredTableAnalysisRuleOutput) SetAnalysisRule(v *ConfiguredTableAnalysisRule) *CreateConfiguredTableAnalysisRuleOutput { + s.AnalysisRule = v return s } -// The analysis template. -type AnalysisTemplate struct { +type CreateConfiguredTableAssociationInput struct { _ struct{} `type:"structure"` - // The parameters of the analysis template. - AnalysisParameters []*AnalysisParameter `locationName:"analysisParameters" type:"list"` - - // The Amazon Resource Name (ARN) of the analysis template. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` - - // The unique ARN for the analysis template’s associated collaboration. - // - // CollaborationArn is a required field - CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` - - // The unique ID for the associated collaboration of the analysis template. - // - // CollaborationId is a required field - CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` - - // The time that the analysis template was created. + // A unique identifier for the configured table to be associated to. Currently + // accepts a configured table ID. // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + // ConfiguredTableIdentifier is a required field + ConfiguredTableIdentifier *string `locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` - // The description of the analysis template. + // A description for the configured table association. Description *string `locationName:"description" type:"string"` - // The format of the analysis template. - // - // Format is a required field - Format *string `locationName:"format" type:"string" required:"true" enum:"AnalysisFormat"` - - // The identifier for the analysis template. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` - - // The Amazon Resource Name (ARN) of the member who created the analysis template. - // - // MembershipArn is a required field - MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` - - // The identifier of a member who created the analysis template. + // A unique identifier for one of your memberships for a collaboration. The + // configured table is associated to the collaboration that this membership + // belongs to. Currently accepts a membership ID. // - // MembershipId is a required field - MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // The name of the analysis template. + // The name of the configured table association. This name is used to query + // the underlying configured table. // // Name is a required field Name *string `locationName:"name" type:"string" required:"true"` - // The entire schema object. - // - // Schema is a required field - Schema *AnalysisSchema `locationName:"schema" type:"structure" required:"true"` - - // The source of the analysis template. - // - // Source is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by AnalysisTemplate's - // String and GoString methods. + // The service will assume this role to access catalog metadata and query the + // table. // - // Source is a required field - Source *AnalysisSource `locationName:"source" type:"structure" required:"true" sensitive:"true"` + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"` - // The time that the analysis template was last updated. - // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // An optional label that you can assign to a resource when you create it. Each + // tag consists of a key and an optional value, both of which you define. When + // you use tagging, you can also use tag-based access control in IAM policies + // to control access to this resource. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -5550,7 +11128,7 @@ type AnalysisTemplate struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisTemplate) String() string { +func (s CreateConfiguredTableAssociationInput) String() string { return awsutil.Prettify(s) } @@ -5559,146 +11137,143 @@ func (s AnalysisTemplate) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisTemplate) GoString() string { +func (s CreateConfiguredTableAssociationInput) GoString() string { return s.String() } -// SetAnalysisParameters sets the AnalysisParameters field's value. -func (s *AnalysisTemplate) SetAnalysisParameters(v []*AnalysisParameter) *AnalysisTemplate { - s.AnalysisParameters = v - return s -} - -// SetArn sets the Arn field's value. -func (s *AnalysisTemplate) SetArn(v string) *AnalysisTemplate { - s.Arn = &v - return s -} - -// SetCollaborationArn sets the CollaborationArn field's value. -func (s *AnalysisTemplate) SetCollaborationArn(v string) *AnalysisTemplate { - s.CollaborationArn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateConfiguredTableAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredTableAssociationInput"} + if s.ConfiguredTableIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) + } + if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 32 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32)) + } -// SetCollaborationId sets the CollaborationId field's value. -func (s *AnalysisTemplate) SetCollaborationId(v string) *AnalysisTemplate { - s.CollaborationId = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCreateTime sets the CreateTime field's value. -func (s *AnalysisTemplate) SetCreateTime(v time.Time) *AnalysisTemplate { - s.CreateTime = &v +// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. +func (s *CreateConfiguredTableAssociationInput) SetConfiguredTableIdentifier(v string) *CreateConfiguredTableAssociationInput { + s.ConfiguredTableIdentifier = &v return s } // SetDescription sets the Description field's value. -func (s *AnalysisTemplate) SetDescription(v string) *AnalysisTemplate { +func (s *CreateConfiguredTableAssociationInput) SetDescription(v string) *CreateConfiguredTableAssociationInput { s.Description = &v return s } -// SetFormat sets the Format field's value. -func (s *AnalysisTemplate) SetFormat(v string) *AnalysisTemplate { - s.Format = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *CreateConfiguredTableAssociationInput) SetMembershipIdentifier(v string) *CreateConfiguredTableAssociationInput { + s.MembershipIdentifier = &v return s } -// SetId sets the Id field's value. -func (s *AnalysisTemplate) SetId(v string) *AnalysisTemplate { - s.Id = &v +// SetName sets the Name field's value. +func (s *CreateConfiguredTableAssociationInput) SetName(v string) *CreateConfiguredTableAssociationInput { + s.Name = &v return s } -// SetMembershipArn sets the MembershipArn field's value. -func (s *AnalysisTemplate) SetMembershipArn(v string) *AnalysisTemplate { - s.MembershipArn = &v +// SetRoleArn sets the RoleArn field's value. +func (s *CreateConfiguredTableAssociationInput) SetRoleArn(v string) *CreateConfiguredTableAssociationInput { + s.RoleArn = &v return s } -// SetMembershipId sets the MembershipId field's value. -func (s *AnalysisTemplate) SetMembershipId(v string) *AnalysisTemplate { - s.MembershipId = &v +// SetTags sets the Tags field's value. +func (s *CreateConfiguredTableAssociationInput) SetTags(v map[string]*string) *CreateConfiguredTableAssociationInput { + s.Tags = v return s } -// SetName sets the Name field's value. -func (s *AnalysisTemplate) SetName(v string) *AnalysisTemplate { - s.Name = &v - return s +type CreateConfiguredTableAssociationOutput struct { + _ struct{} `type:"structure"` + + // The entire configured table association object. + // + // ConfiguredTableAssociation is a required field + ConfiguredTableAssociation *ConfiguredTableAssociation `locationName:"configuredTableAssociation" type:"structure" required:"true"` } -// SetSchema sets the Schema field's value. -func (s *AnalysisTemplate) SetSchema(v *AnalysisSchema) *AnalysisTemplate { - s.Schema = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateConfiguredTableAssociationOutput) String() string { + return awsutil.Prettify(s) } -// SetSource sets the Source field's value. -func (s *AnalysisTemplate) SetSource(v *AnalysisSource) *AnalysisTemplate { - s.Source = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateConfiguredTableAssociationOutput) GoString() string { + return s.String() } -// SetUpdateTime sets the UpdateTime field's value. -func (s *AnalysisTemplate) SetUpdateTime(v time.Time) *AnalysisTemplate { - s.UpdateTime = &v +// SetConfiguredTableAssociation sets the ConfiguredTableAssociation field's value. +func (s *CreateConfiguredTableAssociationOutput) SetConfiguredTableAssociation(v *ConfiguredTableAssociation) *CreateConfiguredTableAssociationOutput { + s.ConfiguredTableAssociation = v return s } -// The metadata of the analysis template. -type AnalysisTemplateSummary struct { +type CreateConfiguredTableInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the analysis template. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` - - // The unique ARN for the analysis template summary’s associated collaboration. - // - // CollaborationArn is a required field - CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` - - // A unique identifier for the collaboration that the analysis template summary - // belongs to. Currently accepts collaboration ID. + // The columns of the underlying table that can be used by collaborations or + // analysis rules. // - // CollaborationId is a required field - CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + // AllowedColumns is a required field + AllowedColumns []*string `locationName:"allowedColumns" min:"1" type:"list" required:"true"` - // The time that the analysis template summary was created. + // The analysis method for the configured tables. The only valid value is currently + // `DIRECT_QUERY`. // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + // AnalysisMethod is a required field + AnalysisMethod *string `locationName:"analysisMethod" type:"string" required:"true" enum:"AnalysisMethod"` - // The description of the analysis template. + // A description for the configured table. Description *string `locationName:"description" type:"string"` - // The identifier of the analysis template. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` - - // The Amazon Resource Name (ARN) of the member who created the analysis template. - // - // MembershipArn is a required field - MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` - - // The identifier for a membership resource. - // - // MembershipId is a required field - MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` - - // The name of the analysis template. + // The name of the configured table. // // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The time that the analysis template summary was last updated. + // A reference to the Glue table being configured. // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // TableReference is a required field + TableReference *TableReference `locationName:"tableReference" type:"structure" required:"true"` + + // An optional label that you can assign to a resource when you create it. Each + // tag consists of a key and an optional value, both of which you define. When + // you use tagging, you can also use tag-based access control in IAM policies + // to control access to this resource. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -5706,7 +11281,7 @@ type AnalysisTemplateSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisTemplateSummary) String() string { +func (s CreateConfiguredTableInput) String() string { return awsutil.Prettify(s) } @@ -5715,89 +11290,86 @@ func (s AnalysisTemplateSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AnalysisTemplateSummary) GoString() string { +func (s CreateConfiguredTableInput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *AnalysisTemplateSummary) SetArn(v string) *AnalysisTemplateSummary { - s.Arn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateConfiguredTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredTableInput"} + if s.AllowedColumns == nil { + invalidParams.Add(request.NewErrParamRequired("AllowedColumns")) + } + if s.AllowedColumns != nil && len(s.AllowedColumns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AllowedColumns", 1)) + } + if s.AnalysisMethod == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisMethod")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.TableReference == nil { + invalidParams.Add(request.NewErrParamRequired("TableReference")) + } + if s.TableReference != nil { + if err := s.TableReference.Validate(); err != nil { + invalidParams.AddNested("TableReference", err.(request.ErrInvalidParams)) + } + } -// SetCollaborationArn sets the CollaborationArn field's value. -func (s *AnalysisTemplateSummary) SetCollaborationArn(v string) *AnalysisTemplateSummary { - s.CollaborationArn = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCollaborationId sets the CollaborationId field's value. -func (s *AnalysisTemplateSummary) SetCollaborationId(v string) *AnalysisTemplateSummary { - s.CollaborationId = &v +// SetAllowedColumns sets the AllowedColumns field's value. +func (s *CreateConfiguredTableInput) SetAllowedColumns(v []*string) *CreateConfiguredTableInput { + s.AllowedColumns = v return s } -// SetCreateTime sets the CreateTime field's value. -func (s *AnalysisTemplateSummary) SetCreateTime(v time.Time) *AnalysisTemplateSummary { - s.CreateTime = &v +// SetAnalysisMethod sets the AnalysisMethod field's value. +func (s *CreateConfiguredTableInput) SetAnalysisMethod(v string) *CreateConfiguredTableInput { + s.AnalysisMethod = &v return s } // SetDescription sets the Description field's value. -func (s *AnalysisTemplateSummary) SetDescription(v string) *AnalysisTemplateSummary { +func (s *CreateConfiguredTableInput) SetDescription(v string) *CreateConfiguredTableInput { s.Description = &v return s } -// SetId sets the Id field's value. -func (s *AnalysisTemplateSummary) SetId(v string) *AnalysisTemplateSummary { - s.Id = &v - return s -} - -// SetMembershipArn sets the MembershipArn field's value. -func (s *AnalysisTemplateSummary) SetMembershipArn(v string) *AnalysisTemplateSummary { - s.MembershipArn = &v - return s -} - -// SetMembershipId sets the MembershipId field's value. -func (s *AnalysisTemplateSummary) SetMembershipId(v string) *AnalysisTemplateSummary { - s.MembershipId = &v +// SetName sets the Name field's value. +func (s *CreateConfiguredTableInput) SetName(v string) *CreateConfiguredTableInput { + s.Name = &v return s } -// SetName sets the Name field's value. -func (s *AnalysisTemplateSummary) SetName(v string) *AnalysisTemplateSummary { - s.Name = &v +// SetTableReference sets the TableReference field's value. +func (s *CreateConfiguredTableInput) SetTableReference(v *TableReference) *CreateConfiguredTableInput { + s.TableReference = v return s } -// SetUpdateTime sets the UpdateTime field's value. -func (s *AnalysisTemplateSummary) SetUpdateTime(v time.Time) *AnalysisTemplateSummary { - s.UpdateTime = &v +// SetTags sets the Tags field's value. +func (s *CreateConfiguredTableInput) SetTags(v map[string]*string) *CreateConfiguredTableInput { + s.Tags = v return s } -// Details of errors thrown by the call to retrieve multiple analysis templates -// within a collaboration by their identifiers. -type BatchGetCollaborationAnalysisTemplateError struct { +type CreateConfiguredTableOutput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the analysis template. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` - - // An error code for the error. - // - // Code is a required field - Code *string `locationName:"code" type:"string" required:"true"` - - // A description of why the call failed. + // The created configured table. // - // Message is a required field - Message *string `locationName:"message" type:"string" required:"true"` + // ConfiguredTable is a required field + ConfiguredTable *ConfiguredTable `locationName:"configuredTable" type:"structure" required:"true"` } // String returns the string representation. @@ -5805,7 +11377,7 @@ type BatchGetCollaborationAnalysisTemplateError struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetCollaborationAnalysisTemplateError) String() string { +func (s CreateConfiguredTableOutput) String() string { return awsutil.Prettify(s) } @@ -5814,42 +11386,47 @@ func (s BatchGetCollaborationAnalysisTemplateError) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetCollaborationAnalysisTemplateError) GoString() string { +func (s CreateConfiguredTableOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *BatchGetCollaborationAnalysisTemplateError) SetArn(v string) *BatchGetCollaborationAnalysisTemplateError { - s.Arn = &v +// SetConfiguredTable sets the ConfiguredTable field's value. +func (s *CreateConfiguredTableOutput) SetConfiguredTable(v *ConfiguredTable) *CreateConfiguredTableOutput { + s.ConfiguredTable = v return s } -// SetCode sets the Code field's value. -func (s *BatchGetCollaborationAnalysisTemplateError) SetCode(v string) *BatchGetCollaborationAnalysisTemplateError { - s.Code = &v - return s -} +type CreateMembershipInput struct { + _ struct{} `type:"structure"` -// SetMessage sets the Message field's value. -func (s *BatchGetCollaborationAnalysisTemplateError) SetMessage(v string) *BatchGetCollaborationAnalysisTemplateError { - s.Message = &v - return s -} + // The unique ID for the associated collaboration. + // + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` -type BatchGetCollaborationAnalysisTemplateInput struct { - _ struct{} `type:"structure"` + // The default protected query result configuration as specified by the member + // who can receive results. + DefaultResultConfiguration *MembershipProtectedQueryResultConfiguration `locationName:"defaultResultConfiguration" type:"structure"` - // The Amazon Resource Name (ARN) associated with the analysis template within - // a collaboration. + // The payment responsibilities accepted by the collaboration member. // - // AnalysisTemplateArns is a required field - AnalysisTemplateArns []*string `locationName:"analysisTemplateArns" min:"1" type:"list" required:"true"` + // Not required if the collaboration member has the member ability to run queries. + // + // Required if the collaboration member doesn't have the member ability to run + // queries but is configured as a payer by the collaboration creator. + PaymentConfiguration *MembershipPaymentConfiguration `locationName:"paymentConfiguration" type:"structure"` - // A unique identifier for the collaboration that the analysis templates belong - // to. Currently accepts collaboration ID. + // An indicator as to whether query logging has been enabled or disabled for + // the membership. // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // QueryLogStatus is a required field + QueryLogStatus *string `locationName:"queryLogStatus" type:"string" required:"true" enum:"MembershipQueryLogStatus"` + + // An optional label that you can assign to a resource when you create it. Each + // tag consists of a key and an optional value, both of which you define. When + // you use tagging, you can also use tag-based access control in IAM policies + // to control access to this resource. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -5857,7 +11434,7 @@ type BatchGetCollaborationAnalysisTemplateInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetCollaborationAnalysisTemplateInput) String() string { +func (s CreateMembershipInput) String() string { return awsutil.Prettify(s) } @@ -5866,25 +11443,32 @@ func (s BatchGetCollaborationAnalysisTemplateInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetCollaborationAnalysisTemplateInput) GoString() string { +func (s CreateMembershipInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetCollaborationAnalysisTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetCollaborationAnalysisTemplateInput"} - if s.AnalysisTemplateArns == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateArns")) - } - if s.AnalysisTemplateArns != nil && len(s.AnalysisTemplateArns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateArns", 1)) - } +func (s *CreateMembershipInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateMembershipInput"} if s.CollaborationIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } + if s.QueryLogStatus == nil { + invalidParams.Add(request.NewErrParamRequired("QueryLogStatus")) + } + if s.DefaultResultConfiguration != nil { + if err := s.DefaultResultConfiguration.Validate(); err != nil { + invalidParams.AddNested("DefaultResultConfiguration", err.(request.ErrInvalidParams)) + } + } + if s.PaymentConfiguration != nil { + if err := s.PaymentConfiguration.Validate(); err != nil { + invalidParams.AddNested("PaymentConfiguration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -5892,32 +11476,43 @@ func (s *BatchGetCollaborationAnalysisTemplateInput) Validate() error { return nil } -// SetAnalysisTemplateArns sets the AnalysisTemplateArns field's value. -func (s *BatchGetCollaborationAnalysisTemplateInput) SetAnalysisTemplateArns(v []*string) *BatchGetCollaborationAnalysisTemplateInput { - s.AnalysisTemplateArns = v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *CreateMembershipInput) SetCollaborationIdentifier(v string) *CreateMembershipInput { + s.CollaborationIdentifier = &v return s } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *BatchGetCollaborationAnalysisTemplateInput) SetCollaborationIdentifier(v string) *BatchGetCollaborationAnalysisTemplateInput { - s.CollaborationIdentifier = &v +// SetDefaultResultConfiguration sets the DefaultResultConfiguration field's value. +func (s *CreateMembershipInput) SetDefaultResultConfiguration(v *MembershipProtectedQueryResultConfiguration) *CreateMembershipInput { + s.DefaultResultConfiguration = v return s } -type BatchGetCollaborationAnalysisTemplateOutput struct { - _ struct{} `type:"structure"` +// SetPaymentConfiguration sets the PaymentConfiguration field's value. +func (s *CreateMembershipInput) SetPaymentConfiguration(v *MembershipPaymentConfiguration) *CreateMembershipInput { + s.PaymentConfiguration = v + return s +} - // The retrieved list of analysis templates within a collaboration. - // - // CollaborationAnalysisTemplates is a required field - CollaborationAnalysisTemplates []*CollaborationAnalysisTemplate `locationName:"collaborationAnalysisTemplates" type:"list" required:"true"` +// SetQueryLogStatus sets the QueryLogStatus field's value. +func (s *CreateMembershipInput) SetQueryLogStatus(v string) *CreateMembershipInput { + s.QueryLogStatus = &v + return s +} - // Error reasons for collaboration analysis templates that could not be retrieved. - // One error is returned for every collaboration analysis template that could - // not be retrieved. +// SetTags sets the Tags field's value. +func (s *CreateMembershipInput) SetTags(v map[string]*string) *CreateMembershipInput { + s.Tags = v + return s +} + +type CreateMembershipOutput struct { + _ struct{} `type:"structure"` + + // The membership that was created. // - // Errors is a required field - Errors []*BatchGetCollaborationAnalysisTemplateError `locationName:"errors" type:"list" required:"true"` + // Membership is a required field + Membership *Membership `locationName:"membership" type:"structure" required:"true"` } // String returns the string representation. @@ -5925,7 +11520,7 @@ type BatchGetCollaborationAnalysisTemplateOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetCollaborationAnalysisTemplateOutput) String() string { +func (s CreateMembershipOutput) String() string { return awsutil.Prettify(s) } @@ -5934,40 +11529,53 @@ func (s BatchGetCollaborationAnalysisTemplateOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetCollaborationAnalysisTemplateOutput) GoString() string { +func (s CreateMembershipOutput) GoString() string { return s.String() } -// SetCollaborationAnalysisTemplates sets the CollaborationAnalysisTemplates field's value. -func (s *BatchGetCollaborationAnalysisTemplateOutput) SetCollaborationAnalysisTemplates(v []*CollaborationAnalysisTemplate) *BatchGetCollaborationAnalysisTemplateOutput { - s.CollaborationAnalysisTemplates = v - return s -} - -// SetErrors sets the Errors field's value. -func (s *BatchGetCollaborationAnalysisTemplateOutput) SetErrors(v []*BatchGetCollaborationAnalysisTemplateError) *BatchGetCollaborationAnalysisTemplateOutput { - s.Errors = v +// SetMembership sets the Membership field's value. +func (s *CreateMembershipOutput) SetMembership(v *Membership) *CreateMembershipOutput { + s.Membership = v return s } -// An error describing why a schema could not be fetched. -type BatchGetSchemaError struct { +type CreatePrivacyBudgetTemplateInput struct { _ struct{} `type:"structure"` - // An error code for the error. + // How often the privacy budget refreshes. // - // Code is a required field - Code *string `locationName:"code" type:"string" required:"true"` + // If you plan to regularly bring new data into the collaboration, you can use + // CALENDAR_MONTH to automatically get a new privacy budget for the collaboration + // every calendar month. Choosing this option allows arbitrary amounts of information + // to be revealed about rows of the data when repeatedly queries across refreshes. + // Avoid choosing this if the same rows will be repeatedly queried between privacy + // budget refreshes. + // + // AutoRefresh is a required field + AutoRefresh *string `locationName:"autoRefresh" type:"string" required:"true" enum:"PrivacyBudgetTemplateAutoRefresh"` - // An error message for the error. + // A unique identifier for one of your memberships for a collaboration. The + // privacy budget template is created in the collaboration that this membership + // belongs to. Accepts a membership ID. // - // Message is a required field - Message *string `locationName:"message" type:"string" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // An error name for the error. + // Specifies your parameters for the privacy budget template. // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + // Parameters is a required field + Parameters *PrivacyBudgetTemplateParametersInput_ `locationName:"parameters" type:"structure" required:"true"` + + // Specifies the type of the privacy budget template. + // + // PrivacyBudgetType is a required field + PrivacyBudgetType *string `locationName:"privacyBudgetType" type:"string" required:"true" enum:"PrivacyBudgetType"` + + // An optional label that you can assign to a resource when you create it. Each + // tag consists of a key and an optional value, both of which you define. When + // you use tagging, you can also use tag-based access control in IAM policies + // to control access to this resource. + Tags map[string]*string `locationName:"tags" type:"map"` } // String returns the string representation. @@ -5975,7 +11583,7 @@ type BatchGetSchemaError struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetSchemaError) String() string { +func (s CreatePrivacyBudgetTemplateInput) String() string { return awsutil.Prettify(s) } @@ -5984,41 +11592,131 @@ func (s BatchGetSchemaError) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetSchemaError) GoString() string { +func (s CreatePrivacyBudgetTemplateInput) GoString() string { return s.String() } -// SetCode sets the Code field's value. -func (s *BatchGetSchemaError) SetCode(v string) *BatchGetSchemaError { - s.Code = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreatePrivacyBudgetTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreatePrivacyBudgetTemplateInput"} + if s.AutoRefresh == nil { + invalidParams.Add(request.NewErrParamRequired("AutoRefresh")) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + if s.Parameters == nil { + invalidParams.Add(request.NewErrParamRequired("Parameters")) + } + if s.PrivacyBudgetType == nil { + invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetType")) + } + if s.Parameters != nil { + if err := s.Parameters.Validate(); err != nil { + invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAutoRefresh sets the AutoRefresh field's value. +func (s *CreatePrivacyBudgetTemplateInput) SetAutoRefresh(v string) *CreatePrivacyBudgetTemplateInput { + s.AutoRefresh = &v return s } -// SetMessage sets the Message field's value. -func (s *BatchGetSchemaError) SetMessage(v string) *BatchGetSchemaError { - s.Message = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *CreatePrivacyBudgetTemplateInput) SetMembershipIdentifier(v string) *CreatePrivacyBudgetTemplateInput { + s.MembershipIdentifier = &v return s } -// SetName sets the Name field's value. -func (s *BatchGetSchemaError) SetName(v string) *BatchGetSchemaError { - s.Name = &v +// SetParameters sets the Parameters field's value. +func (s *CreatePrivacyBudgetTemplateInput) SetParameters(v *PrivacyBudgetTemplateParametersInput_) *CreatePrivacyBudgetTemplateInput { + s.Parameters = v return s } -type BatchGetSchemaInput struct { +// SetPrivacyBudgetType sets the PrivacyBudgetType field's value. +func (s *CreatePrivacyBudgetTemplateInput) SetPrivacyBudgetType(v string) *CreatePrivacyBudgetTemplateInput { + s.PrivacyBudgetType = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreatePrivacyBudgetTemplateInput) SetTags(v map[string]*string) *CreatePrivacyBudgetTemplateInput { + s.Tags = v + return s +} + +type CreatePrivacyBudgetTemplateOutput struct { _ struct{} `type:"structure"` - // A unique identifier for the collaboration that the schemas belong to. Currently - // accepts collaboration ID. + // A summary of the elements in the privacy budget template. + // + // PrivacyBudgetTemplate is a required field + PrivacyBudgetTemplate *PrivacyBudgetTemplate `locationName:"privacyBudgetTemplate" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePrivacyBudgetTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreatePrivacyBudgetTemplateOutput) GoString() string { + return s.String() +} + +// SetPrivacyBudgetTemplate sets the PrivacyBudgetTemplate field's value. +func (s *CreatePrivacyBudgetTemplateOutput) SetPrivacyBudgetTemplate(v *PrivacyBudgetTemplate) *CreatePrivacyBudgetTemplateOutput { + s.PrivacyBudgetTemplate = v + return s +} + +// The settings for client-side encryption for cryptographic computing. +type DataEncryptionMetadata struct { + _ struct{} `type:"structure"` + + // Indicates whether encrypted tables can contain cleartext data (TRUE) or are + // to cryptographically process every column (FALSE). + // + // AllowCleartext is a required field + AllowCleartext *bool `locationName:"allowCleartext" type:"boolean" required:"true"` + + // Indicates whether Fingerprint columns can contain duplicate entries (TRUE) + // or are to contain only non-repeated values (FALSE). + // + // AllowDuplicates is a required field + AllowDuplicates *bool `locationName:"allowDuplicates" type:"boolean" required:"true"` + + // Indicates whether Fingerprint columns can be joined on any other Fingerprint + // column with a different name (TRUE) or can only be joined on Fingerprint + // columns of the same name (FALSE). // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // AllowJoinsOnColumnsWithDifferentNames is a required field + AllowJoinsOnColumnsWithDifferentNames *bool `locationName:"allowJoinsOnColumnsWithDifferentNames" type:"boolean" required:"true"` - // The names for the schema objects to retrieve.> + // Indicates whether NULL values are to be copied as NULL to encrypted tables + // (TRUE) or cryptographically processed (FALSE). // - // Names is a required field - Names []*string `locationName:"names" min:"1" type:"list" required:"true"` + // PreserveNulls is a required field + PreserveNulls *bool `locationName:"preserveNulls" type:"boolean" required:"true"` } // String returns the string representation. @@ -6026,7 +11724,7 @@ type BatchGetSchemaInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetSchemaInput) String() string { +func (s DataEncryptionMetadata) String() string { return awsutil.Prettify(s) } @@ -6035,24 +11733,24 @@ func (s BatchGetSchemaInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetSchemaInput) GoString() string { +func (s DataEncryptionMetadata) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *BatchGetSchemaInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "BatchGetSchemaInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) +func (s *DataEncryptionMetadata) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataEncryptionMetadata"} + if s.AllowCleartext == nil { + invalidParams.Add(request.NewErrParamRequired("AllowCleartext")) } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + if s.AllowDuplicates == nil { + invalidParams.Add(request.NewErrParamRequired("AllowDuplicates")) } - if s.Names == nil { - invalidParams.Add(request.NewErrParamRequired("Names")) + if s.AllowJoinsOnColumnsWithDifferentNames == nil { + invalidParams.Add(request.NewErrParamRequired("AllowJoinsOnColumnsWithDifferentNames")) } - if s.Names != nil && len(s.Names) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Names", 1)) + if s.PreserveNulls == nil { + invalidParams.Add(request.NewErrParamRequired("PreserveNulls")) } if invalidParams.Len() > 0 { @@ -6061,31 +11759,42 @@ func (s *BatchGetSchemaInput) Validate() error { return nil } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *BatchGetSchemaInput) SetCollaborationIdentifier(v string) *BatchGetSchemaInput { - s.CollaborationIdentifier = &v +// SetAllowCleartext sets the AllowCleartext field's value. +func (s *DataEncryptionMetadata) SetAllowCleartext(v bool) *DataEncryptionMetadata { + s.AllowCleartext = &v return s } -// SetNames sets the Names field's value. -func (s *BatchGetSchemaInput) SetNames(v []*string) *BatchGetSchemaInput { - s.Names = v +// SetAllowDuplicates sets the AllowDuplicates field's value. +func (s *DataEncryptionMetadata) SetAllowDuplicates(v bool) *DataEncryptionMetadata { + s.AllowDuplicates = &v return s } -type BatchGetSchemaOutput struct { - _ struct{} `type:"structure"` +// SetAllowJoinsOnColumnsWithDifferentNames sets the AllowJoinsOnColumnsWithDifferentNames field's value. +func (s *DataEncryptionMetadata) SetAllowJoinsOnColumnsWithDifferentNames(v bool) *DataEncryptionMetadata { + s.AllowJoinsOnColumnsWithDifferentNames = &v + return s +} - // Error reasons for schemas that could not be retrieved. One error is returned - // for every schema that could not be retrieved. +// SetPreserveNulls sets the PreserveNulls field's value. +func (s *DataEncryptionMetadata) SetPreserveNulls(v bool) *DataEncryptionMetadata { + s.PreserveNulls = &v + return s +} + +type DeleteAnalysisTemplateInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier for the analysis template resource. // - // Errors is a required field - Errors []*BatchGetSchemaError `locationName:"errors" type:"list" required:"true"` + // AnalysisTemplateIdentifier is a required field + AnalysisTemplateIdentifier *string `location:"uri" locationName:"analysisTemplateIdentifier" min:"36" type:"string" required:"true"` - // The retrieved list of schemas. + // The identifier for a membership resource. // - // Schemas is a required field - Schemas []*Schema `locationName:"schemas" type:"list" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -6093,7 +11802,7 @@ type BatchGetSchemaOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetSchemaOutput) String() string { +func (s DeleteAnalysisTemplateInput) String() string { return awsutil.Prettify(s) } @@ -6102,86 +11811,46 @@ func (s BatchGetSchemaOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s BatchGetSchemaOutput) GoString() string { +func (s DeleteAnalysisTemplateInput) GoString() string { return s.String() } -// SetErrors sets the Errors field's value. -func (s *BatchGetSchemaOutput) SetErrors(v []*BatchGetSchemaError) *BatchGetSchemaOutput { - s.Errors = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAnalysisTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAnalysisTemplateInput"} + if s.AnalysisTemplateIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateIdentifier")) + } + if s.AnalysisTemplateIdentifier != nil && len(*s.AnalysisTemplateIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateIdentifier", 36)) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAnalysisTemplateIdentifier sets the AnalysisTemplateIdentifier field's value. +func (s *DeleteAnalysisTemplateInput) SetAnalysisTemplateIdentifier(v string) *DeleteAnalysisTemplateInput { + s.AnalysisTemplateIdentifier = &v return s } -// SetSchemas sets the Schemas field's value. -func (s *BatchGetSchemaOutput) SetSchemas(v []*Schema) *BatchGetSchemaOutput { - s.Schemas = v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *DeleteAnalysisTemplateInput) SetMembershipIdentifier(v string) *DeleteAnalysisTemplateInput { + s.MembershipIdentifier = &v return s } -// The multi-party data share environment. The collaboration contains metadata -// about its purpose and participants. -type Collaboration struct { +type DeleteAnalysisTemplateOutput struct { _ struct{} `type:"structure"` - - // The unique ARN for the collaboration. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` - - // The time when the collaboration was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - - // The identifier used to reference members of the collaboration. Currently - // only supports Amazon Web Services account ID. - // - // CreatorAccountId is a required field - CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` - - // A display name of the collaboration creator. - // - // CreatorDisplayName is a required field - CreatorDisplayName *string `locationName:"creatorDisplayName" min:"1" type:"string" required:"true"` - - // The settings for client-side encryption for cryptographic computing. - DataEncryptionMetadata *DataEncryptionMetadata `locationName:"dataEncryptionMetadata" type:"structure"` - - // A description of the collaboration provided by the collaboration owner. - Description *string `locationName:"description" min:"1" type:"string"` - - // The unique ID for the collaboration. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` - - // The status of a member in a collaboration. - // - // MemberStatus is a required field - MemberStatus *string `locationName:"memberStatus" type:"string" required:"true" enum:"MemberStatus"` - - // The unique ARN for your membership within the collaboration. - MembershipArn *string `locationName:"membershipArn" type:"string"` - - // The unique ID for your membership within the collaboration. - MembershipId *string `locationName:"membershipId" min:"36" type:"string"` - - // A human-readable identifier provided by the collaboration owner. Display - // names are not unique. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` - - // An indicator as to whether query logging has been enabled or disabled for - // the collaboration. - // - // QueryLogStatus is a required field - QueryLogStatus *string `locationName:"queryLogStatus" type:"string" required:"true" enum:"CollaborationQueryLogStatus"` - - // The time the collaboration metadata was last updated. - // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -6189,7 +11858,7 @@ type Collaboration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Collaboration) String() string { +func (s DeleteAnalysisTemplateOutput) String() string { return awsutil.Prettify(s) } @@ -6198,158 +11867,186 @@ func (s Collaboration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Collaboration) GoString() string { +func (s DeleteAnalysisTemplateOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Collaboration) SetArn(v string) *Collaboration { - s.Arn = &v - return s -} - -// SetCreateTime sets the CreateTime field's value. -func (s *Collaboration) SetCreateTime(v time.Time) *Collaboration { - s.CreateTime = &v - return s -} - -// SetCreatorAccountId sets the CreatorAccountId field's value. -func (s *Collaboration) SetCreatorAccountId(v string) *Collaboration { - s.CreatorAccountId = &v - return s -} - -// SetCreatorDisplayName sets the CreatorDisplayName field's value. -func (s *Collaboration) SetCreatorDisplayName(v string) *Collaboration { - s.CreatorDisplayName = &v - return s -} - -// SetDataEncryptionMetadata sets the DataEncryptionMetadata field's value. -func (s *Collaboration) SetDataEncryptionMetadata(v *DataEncryptionMetadata) *Collaboration { - s.DataEncryptionMetadata = v - return s -} +type DeleteCollaborationInput struct { + _ struct{} `type:"structure" nopayload:"true"` -// SetDescription sets the Description field's value. -func (s *Collaboration) SetDescription(v string) *Collaboration { - s.Description = &v - return s + // The identifier for the collaboration. + // + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` } -// SetId sets the Id field's value. -func (s *Collaboration) SetId(v string) *Collaboration { - s.Id = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteCollaborationInput) String() string { + return awsutil.Prettify(s) } -// SetMemberStatus sets the MemberStatus field's value. -func (s *Collaboration) SetMemberStatus(v string) *Collaboration { - s.MemberStatus = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteCollaborationInput) GoString() string { + return s.String() } -// SetMembershipArn sets the MembershipArn field's value. -func (s *Collaboration) SetMembershipArn(v string) *Collaboration { - s.MembershipArn = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteCollaborationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteCollaborationInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) + } + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + } -// SetMembershipId sets the MembershipId field's value. -func (s *Collaboration) SetMembershipId(v string) *Collaboration { - s.MembershipId = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetName sets the Name field's value. -func (s *Collaboration) SetName(v string) *Collaboration { - s.Name = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *DeleteCollaborationInput) SetCollaborationIdentifier(v string) *DeleteCollaborationInput { + s.CollaborationIdentifier = &v return s } -// SetQueryLogStatus sets the QueryLogStatus field's value. -func (s *Collaboration) SetQueryLogStatus(v string) *Collaboration { - s.QueryLogStatus = &v - return s +type DeleteCollaborationOutput struct { + _ struct{} `type:"structure"` } -// SetUpdateTime sets the UpdateTime field's value. -func (s *Collaboration) SetUpdateTime(v time.Time) *Collaboration { - s.UpdateTime = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteCollaborationOutput) String() string { + return awsutil.Prettify(s) } -// The analysis template within a collaboration. -type CollaborationAnalysisTemplate struct { - _ struct{} `type:"structure"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteCollaborationOutput) GoString() string { + return s.String() +} - // The analysis parameters that have been specified in the analysis template. - AnalysisParameters []*AnalysisParameter `locationName:"analysisParameters" type:"list"` +type DeleteConfiguredAudienceModelAssociationInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The Amazon Resource Name (ARN) of the analysis template. + // A unique identifier of the configured audience model association that you + // want to delete. // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` + // ConfiguredAudienceModelAssociationIdentifier is a required field + ConfiguredAudienceModelAssociationIdentifier *string `location:"uri" locationName:"configuredAudienceModelAssociationIdentifier" min:"36" type:"string" required:"true"` - // The unique ARN for the analysis template’s associated collaboration. + // A unique identifier of the membership that contains the audience model association + // that you want to delete. // - // CollaborationArn is a required field - CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` +} - // A unique identifier for the collaboration that the analysis templates belong - // to. Currently accepts collaboration ID. - // - // CollaborationId is a required field - CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredAudienceModelAssociationInput) String() string { + return awsutil.Prettify(s) +} - // The time that the analysis template within a collaboration was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredAudienceModelAssociationInput) GoString() string { + return s.String() +} - // The identifier used to reference members of the collaboration. Currently - // only supports Amazon Web Services account ID. - // - // CreatorAccountId is a required field - CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteConfiguredAudienceModelAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredAudienceModelAssociationInput"} + if s.ConfiguredAudienceModelAssociationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelAssociationIdentifier")) + } + if s.ConfiguredAudienceModelAssociationIdentifier != nil && len(*s.ConfiguredAudienceModelAssociationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelAssociationIdentifier", 36)) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } - // The description of the analysis template. - Description *string `locationName:"description" type:"string"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The format of the analysis template in the collaboration. - // - // Format is a required field - Format *string `locationName:"format" type:"string" required:"true" enum:"AnalysisFormat"` +// SetConfiguredAudienceModelAssociationIdentifier sets the ConfiguredAudienceModelAssociationIdentifier field's value. +func (s *DeleteConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelAssociationIdentifier(v string) *DeleteConfiguredAudienceModelAssociationInput { + s.ConfiguredAudienceModelAssociationIdentifier = &v + return s +} - // The identifier of the analysis template. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *DeleteConfiguredAudienceModelAssociationInput) SetMembershipIdentifier(v string) *DeleteConfiguredAudienceModelAssociationInput { + s.MembershipIdentifier = &v + return s +} - // The name of the analysis template. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` +type DeleteConfiguredAudienceModelAssociationOutput struct { + _ struct{} `type:"structure"` +} - // The entire schema object. - // - // Schema is a required field - Schema *AnalysisSchema `locationName:"schema" type:"structure" required:"true"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredAudienceModelAssociationOutput) String() string { + return awsutil.Prettify(s) +} - // The source of the analysis template within a collaboration. - // - // Source is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by CollaborationAnalysisTemplate's - // String and GoString methods. +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredAudienceModelAssociationOutput) GoString() string { + return s.String() +} + +type DeleteConfiguredTableAnalysisRuleInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The analysis rule type to be deleted. Configured table analysis rules are + // uniquely identified by their configured table identifier and analysis rule + // type. // - // Source is a required field - Source *AnalysisSource `locationName:"source" type:"structure" required:"true" sensitive:"true"` + // AnalysisRuleType is a required field + AnalysisRuleType *string `location:"uri" locationName:"analysisRuleType" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` - // The time that the analysis template in the collaboration was last updated. + // The unique identifier for the configured table that the analysis rule applies + // to. Currently accepts the configured table ID. // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // ConfiguredTableIdentifier is a required field + ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -6357,7 +12054,7 @@ type CollaborationAnalysisTemplate struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CollaborationAnalysisTemplate) String() string { +func (s DeleteConfiguredTableAnalysisRuleInput) String() string { return awsutil.Prettify(s) } @@ -6366,138 +12063,137 @@ func (s CollaborationAnalysisTemplate) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CollaborationAnalysisTemplate) GoString() string { +func (s DeleteConfiguredTableAnalysisRuleInput) GoString() string { return s.String() } -// SetAnalysisParameters sets the AnalysisParameters field's value. -func (s *CollaborationAnalysisTemplate) SetAnalysisParameters(v []*AnalysisParameter) *CollaborationAnalysisTemplate { - s.AnalysisParameters = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteConfiguredTableAnalysisRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredTableAnalysisRuleInput"} + if s.AnalysisRuleType == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisRuleType")) + } + if s.AnalysisRuleType != nil && len(*s.AnalysisRuleType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisRuleType", 1)) + } + if s.ConfiguredTableIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) + } + if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetArn sets the Arn field's value. -func (s *CollaborationAnalysisTemplate) SetArn(v string) *CollaborationAnalysisTemplate { - s.Arn = &v +// SetAnalysisRuleType sets the AnalysisRuleType field's value. +func (s *DeleteConfiguredTableAnalysisRuleInput) SetAnalysisRuleType(v string) *DeleteConfiguredTableAnalysisRuleInput { + s.AnalysisRuleType = &v return s } -// SetCollaborationArn sets the CollaborationArn field's value. -func (s *CollaborationAnalysisTemplate) SetCollaborationArn(v string) *CollaborationAnalysisTemplate { - s.CollaborationArn = &v +// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. +func (s *DeleteConfiguredTableAnalysisRuleInput) SetConfiguredTableIdentifier(v string) *DeleteConfiguredTableAnalysisRuleInput { + s.ConfiguredTableIdentifier = &v return s } -// SetCollaborationId sets the CollaborationId field's value. -func (s *CollaborationAnalysisTemplate) SetCollaborationId(v string) *CollaborationAnalysisTemplate { - s.CollaborationId = &v - return s +// An empty response that indicates a successful delete. +type DeleteConfiguredTableAnalysisRuleOutput struct { + _ struct{} `type:"structure"` } -// SetCreateTime sets the CreateTime field's value. -func (s *CollaborationAnalysisTemplate) SetCreateTime(v time.Time) *CollaborationAnalysisTemplate { - s.CreateTime = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredTableAnalysisRuleOutput) String() string { + return awsutil.Prettify(s) } -// SetCreatorAccountId sets the CreatorAccountId field's value. -func (s *CollaborationAnalysisTemplate) SetCreatorAccountId(v string) *CollaborationAnalysisTemplate { - s.CreatorAccountId = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredTableAnalysisRuleOutput) GoString() string { + return s.String() } -// SetDescription sets the Description field's value. -func (s *CollaborationAnalysisTemplate) SetDescription(v string) *CollaborationAnalysisTemplate { - s.Description = &v - return s +type DeleteConfiguredTableAssociationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The unique ID for the configured table association to be deleted. Currently + // accepts the configured table ID. + // + // ConfiguredTableAssociationIdentifier is a required field + ConfiguredTableAssociationIdentifier *string `location:"uri" locationName:"configuredTableAssociationIdentifier" min:"36" type:"string" required:"true"` + + // A unique identifier for the membership that the configured table association + // belongs to. Currently accepts the membership ID. + // + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` } -// SetFormat sets the Format field's value. -func (s *CollaborationAnalysisTemplate) SetFormat(v string) *CollaborationAnalysisTemplate { - s.Format = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredTableAssociationInput) String() string { + return awsutil.Prettify(s) } -// SetId sets the Id field's value. -func (s *CollaborationAnalysisTemplate) SetId(v string) *CollaborationAnalysisTemplate { - s.Id = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredTableAssociationInput) GoString() string { + return s.String() } -// SetName sets the Name field's value. -func (s *CollaborationAnalysisTemplate) SetName(v string) *CollaborationAnalysisTemplate { - s.Name = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteConfiguredTableAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredTableAssociationInput"} + if s.ConfiguredTableAssociationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredTableAssociationIdentifier")) + } + if s.ConfiguredTableAssociationIdentifier != nil && len(*s.ConfiguredTableAssociationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableAssociationIdentifier", 36)) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } -// SetSchema sets the Schema field's value. -func (s *CollaborationAnalysisTemplate) SetSchema(v *AnalysisSchema) *CollaborationAnalysisTemplate { - s.Schema = v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetSource sets the Source field's value. -func (s *CollaborationAnalysisTemplate) SetSource(v *AnalysisSource) *CollaborationAnalysisTemplate { - s.Source = v +// SetConfiguredTableAssociationIdentifier sets the ConfiguredTableAssociationIdentifier field's value. +func (s *DeleteConfiguredTableAssociationInput) SetConfiguredTableAssociationIdentifier(v string) *DeleteConfiguredTableAssociationInput { + s.ConfiguredTableAssociationIdentifier = &v return s } -// SetUpdateTime sets the UpdateTime field's value. -func (s *CollaborationAnalysisTemplate) SetUpdateTime(v time.Time) *CollaborationAnalysisTemplate { - s.UpdateTime = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *DeleteConfiguredTableAssociationInput) SetMembershipIdentifier(v string) *DeleteConfiguredTableAssociationInput { + s.MembershipIdentifier = &v return s } -// The metadata of the analysis template within a collaboration. -type CollaborationAnalysisTemplateSummary struct { +type DeleteConfiguredTableAssociationOutput struct { _ struct{} `type:"structure"` - - // The Amazon Resource Name (ARN) of the analysis template. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` - - // The unique ARN for the analysis template’s associated collaboration. - // - // CollaborationArn is a required field - CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` - - // A unique identifier for the collaboration that the analysis templates belong - // to. Currently accepts collaboration ID. - // - // CollaborationId is a required field - CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` - - // The time that the summary of the analysis template in a collaboration was - // created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - - // The identifier used to reference members of the collaboration. Currently - // only supports Amazon Web Services account ID. - // - // CreatorAccountId is a required field - CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` - - // The description of the analysis template. - Description *string `locationName:"description" type:"string"` - - // The identifier of the analysis template. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` - - // The name of the analysis template. - // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` - - // The time that the summary of the analysis template in the collaboration was - // last updated. - // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -6505,7 +12201,7 @@ type CollaborationAnalysisTemplateSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CollaborationAnalysisTemplateSummary) String() string { +func (s DeleteConfiguredTableAssociationOutput) String() string { return awsutil.Prettify(s) } @@ -6514,115 +12210,150 @@ func (s CollaborationAnalysisTemplateSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CollaborationAnalysisTemplateSummary) GoString() string { +func (s DeleteConfiguredTableAssociationOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *CollaborationAnalysisTemplateSummary) SetArn(v string) *CollaborationAnalysisTemplateSummary { - s.Arn = &v - return s -} +type DeleteConfiguredTableInput struct { + _ struct{} `type:"structure" nopayload:"true"` -// SetCollaborationArn sets the CollaborationArn field's value. -func (s *CollaborationAnalysisTemplateSummary) SetCollaborationArn(v string) *CollaborationAnalysisTemplateSummary { - s.CollaborationArn = &v - return s + // The unique ID for the configured table to delete. + // + // ConfiguredTableIdentifier is a required field + ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` } -// SetCollaborationId sets the CollaborationId field's value. -func (s *CollaborationAnalysisTemplateSummary) SetCollaborationId(v string) *CollaborationAnalysisTemplateSummary { - s.CollaborationId = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredTableInput) String() string { + return awsutil.Prettify(s) } -// SetCreateTime sets the CreateTime field's value. -func (s *CollaborationAnalysisTemplateSummary) SetCreateTime(v time.Time) *CollaborationAnalysisTemplateSummary { - s.CreateTime = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredTableInput) GoString() string { + return s.String() } -// SetCreatorAccountId sets the CreatorAccountId field's value. -func (s *CollaborationAnalysisTemplateSummary) SetCreatorAccountId(v string) *CollaborationAnalysisTemplateSummary { - s.CreatorAccountId = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteConfiguredTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredTableInput"} + if s.ConfiguredTableIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) + } + if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + } -// SetDescription sets the Description field's value. -func (s *CollaborationAnalysisTemplateSummary) SetDescription(v string) *CollaborationAnalysisTemplateSummary { - s.Description = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetId sets the Id field's value. -func (s *CollaborationAnalysisTemplateSummary) SetId(v string) *CollaborationAnalysisTemplateSummary { - s.Id = &v +// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. +func (s *DeleteConfiguredTableInput) SetConfiguredTableIdentifier(v string) *DeleteConfiguredTableInput { + s.ConfiguredTableIdentifier = &v return s } -// SetName sets the Name field's value. -func (s *CollaborationAnalysisTemplateSummary) SetName(v string) *CollaborationAnalysisTemplateSummary { - s.Name = &v - return s +// The empty output for a successful deletion. +type DeleteConfiguredTableOutput struct { + _ struct{} `type:"structure"` } -// SetUpdateTime sets the UpdateTime field's value. -func (s *CollaborationAnalysisTemplateSummary) SetUpdateTime(v time.Time) *CollaborationAnalysisTemplateSummary { - s.UpdateTime = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredTableOutput) String() string { + return awsutil.Prettify(s) } -// The metadata of the collaboration. -type CollaborationSummary struct { - _ struct{} `type:"structure"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredTableOutput) GoString() string { + return s.String() +} - // The ARN of the collaboration. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` +type DeleteMemberInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The time when the collaboration was created. + // The account ID of the member to remove. // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + // AccountId is a required field + AccountId *string `location:"uri" locationName:"accountId" min:"12" type:"string" required:"true"` - // The identifier used to reference members of the collaboration. Currently - // only supports Amazon Web Services account ID. + // The unique identifier for the associated collaboration. // - // CreatorAccountId is a required field - CreatorAccountId *string `locationName:"creatorAccountId" min:"12" type:"string" required:"true"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` +} - // The display name of the collaboration creator. - // - // CreatorDisplayName is a required field - CreatorDisplayName *string `locationName:"creatorDisplayName" min:"1" type:"string" required:"true"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMemberInput) String() string { + return awsutil.Prettify(s) +} - // The identifier for the collaboration. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMemberInput) GoString() string { + return s.String() +} - // The status of a member in a collaboration. - // - // MemberStatus is a required field - MemberStatus *string `locationName:"memberStatus" type:"string" required:"true" enum:"MemberStatus"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMemberInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMemberInput"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) + } + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) + } + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) + } + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + } - // The ARN of a member in a collaboration. - MembershipArn *string `locationName:"membershipArn" type:"string"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The identifier of a member in a collaboration. - MembershipId *string `locationName:"membershipId" min:"36" type:"string"` +// SetAccountId sets the AccountId field's value. +func (s *DeleteMemberInput) SetAccountId(v string) *DeleteMemberInput { + s.AccountId = &v + return s +} - // A human-readable identifier provided by the collaboration owner. Display - // names are not unique. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *DeleteMemberInput) SetCollaborationIdentifier(v string) *DeleteMemberInput { + s.CollaborationIdentifier = &v + return s +} - // The time the collaboration metadata was last updated. - // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` +type DeleteMemberOutput struct { + _ struct{} `type:"structure"` } // String returns the string representation. @@ -6630,7 +12361,7 @@ type CollaborationSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CollaborationSummary) String() string { +func (s DeleteMemberOutput) String() string { return awsutil.Prettify(s) } @@ -6639,83 +12370,95 @@ func (s CollaborationSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CollaborationSummary) GoString() string { +func (s DeleteMemberOutput) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *CollaborationSummary) SetArn(v string) *CollaborationSummary { - s.Arn = &v - return s -} +type DeleteMembershipInput struct { + _ struct{} `type:"structure" nopayload:"true"` -// SetCreateTime sets the CreateTime field's value. -func (s *CollaborationSummary) SetCreateTime(v time.Time) *CollaborationSummary { - s.CreateTime = &v - return s + // The identifier for a membership resource. + // + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` } -// SetCreatorAccountId sets the CreatorAccountId field's value. -func (s *CollaborationSummary) SetCreatorAccountId(v string) *CollaborationSummary { - s.CreatorAccountId = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMembershipInput) String() string { + return awsutil.Prettify(s) } -// SetCreatorDisplayName sets the CreatorDisplayName field's value. -func (s *CollaborationSummary) SetCreatorDisplayName(v string) *CollaborationSummary { - s.CreatorDisplayName = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMembershipInput) GoString() string { + return s.String() } -// SetId sets the Id field's value. -func (s *CollaborationSummary) SetId(v string) *CollaborationSummary { - s.Id = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteMembershipInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteMembershipInput"} + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } -// SetMemberStatus sets the MemberStatus field's value. -func (s *CollaborationSummary) SetMemberStatus(v string) *CollaborationSummary { - s.MemberStatus = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetMembershipArn sets the MembershipArn field's value. -func (s *CollaborationSummary) SetMembershipArn(v string) *CollaborationSummary { - s.MembershipArn = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *DeleteMembershipInput) SetMembershipIdentifier(v string) *DeleteMembershipInput { + s.MembershipIdentifier = &v return s } -// SetMembershipId sets the MembershipId field's value. -func (s *CollaborationSummary) SetMembershipId(v string) *CollaborationSummary { - s.MembershipId = &v - return s +type DeleteMembershipOutput struct { + _ struct{} `type:"structure"` } -// SetName sets the Name field's value. -func (s *CollaborationSummary) SetName(v string) *CollaborationSummary { - s.Name = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMembershipOutput) String() string { + return awsutil.Prettify(s) } -// SetUpdateTime sets the UpdateTime field's value. -func (s *CollaborationSummary) SetUpdateTime(v time.Time) *CollaborationSummary { - s.UpdateTime = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteMembershipOutput) GoString() string { + return s.String() } -// A column within a schema relation, derived from the underlying Glue table. -type Column struct { - _ struct{} `type:"structure"` +type DeletePrivacyBudgetTemplateInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The name of the column. + // A unique identifier for one of your memberships for a collaboration. The + // privacy budget template is deleted from the collaboration that this membership + // belongs to. Accepts a membership ID. // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // The type of the column. + // A unique identifier for your privacy budget template. // - // Type is a required field - Type *string `locationName:"type" type:"string" required:"true"` + // PrivacyBudgetTemplateIdentifier is a required field + PrivacyBudgetTemplateIdentifier *string `location:"uri" locationName:"privacyBudgetTemplateIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -6723,7 +12466,7 @@ type Column struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Column) String() string { +func (s DeletePrivacyBudgetTemplateInput) String() string { return awsutil.Prettify(s) } @@ -6732,76 +12475,129 @@ func (s Column) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Column) GoString() string { +func (s DeletePrivacyBudgetTemplateInput) GoString() string { return s.String() } -// SetName sets the Name field's value. -func (s *Column) SetName(v string) *Column { - s.Name = &v +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeletePrivacyBudgetTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeletePrivacyBudgetTemplateInput"} + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + if s.PrivacyBudgetTemplateIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetTemplateIdentifier")) + } + if s.PrivacyBudgetTemplateIdentifier != nil && len(*s.PrivacyBudgetTemplateIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PrivacyBudgetTemplateIdentifier", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *DeletePrivacyBudgetTemplateInput) SetMembershipIdentifier(v string) *DeletePrivacyBudgetTemplateInput { + s.MembershipIdentifier = &v return s } -// SetType sets the Type field's value. -func (s *Column) SetType(v string) *Column { - s.Type = &v +// SetPrivacyBudgetTemplateIdentifier sets the PrivacyBudgetTemplateIdentifier field's value. +func (s *DeletePrivacyBudgetTemplateInput) SetPrivacyBudgetTemplateIdentifier(v string) *DeletePrivacyBudgetTemplateInput { + s.PrivacyBudgetTemplateIdentifier = &v return s } -// A table that has been configured for use in a collaboration. -type ConfiguredTable struct { +type DeletePrivacyBudgetTemplateOutput struct { _ struct{} `type:"structure"` +} - // The columns within the underlying Glue table that can be utilized within - // collaborations. - // - // AllowedColumns is a required field - AllowedColumns []*string `locationName:"allowedColumns" min:"1" type:"list" required:"true"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletePrivacyBudgetTemplateOutput) String() string { + return awsutil.Prettify(s) +} - // The analysis method for the configured table. The only valid value is currently - // `DIRECT_QUERY`. - // - // AnalysisMethod is a required field - AnalysisMethod *string `locationName:"analysisMethod" type:"string" required:"true" enum:"AnalysisMethod"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeletePrivacyBudgetTemplateOutput) GoString() string { + return s.String() +} - // The types of analysis rules associated with this configured table. Currently, - // only one analysis rule may be associated with a configured table. - // - // AnalysisRuleTypes is a required field - AnalysisRuleTypes []*string `locationName:"analysisRuleTypes" type:"list" required:"true" enum:"ConfiguredTableAnalysisRuleType"` +// Specifies the name of the column that contains the unique identifier of your +// users, whose privacy you want to protect. +type DifferentialPrivacyColumn struct { + _ struct{} `type:"structure"` - // The unique ARN for the configured table. + // The name of the column, such as user_id, that contains the unique identifier + // of your users, whose privacy you want to protect. If you want to turn on + // differential privacy for two or more tables in a collaboration, you must + // configure the same column as the user identifier column in both analysis + // rules. // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` + // Name is a required field + Name *string `locationName:"name" type:"string" required:"true"` +} - // The time the configured table was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DifferentialPrivacyColumn) String() string { + return awsutil.Prettify(s) +} - // A description for the configured table. - Description *string `locationName:"description" type:"string"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DifferentialPrivacyColumn) GoString() string { + return s.String() +} - // The unique ID for the configured table. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DifferentialPrivacyColumn) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DifferentialPrivacyColumn"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } - // A name for the configured table. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The Glue table that this configured table represents. - // - // TableReference is a required field - TableReference *TableReference `locationName:"tableReference" type:"structure" required:"true"` +// SetName sets the Name field's value. +func (s *DifferentialPrivacyColumn) SetName(v string) *DifferentialPrivacyColumn { + s.Name = &v + return s +} - // The time the configured table was last updated +// Specifies the unique identifier for your users. +type DifferentialPrivacyConfiguration struct { + _ struct{} `type:"structure"` + + // The name of the column (such as user_id) that contains the unique identifier + // of your users whose privacy you want to protect. If you want to turn on differential + // privacy for two or more tables in a collaboration, you must configure the + // same column as the user identifier column in both analysis rules. // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // Columns is a required field + Columns []*DifferentialPrivacyColumn `locationName:"columns" min:"1" type:"list" required:"true"` } // String returns the string representation. @@ -6809,7 +12605,7 @@ type ConfiguredTable struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfiguredTable) String() string { +func (s DifferentialPrivacyConfiguration) String() string { return awsutil.Prettify(s) } @@ -6818,104 +12614,92 @@ func (s ConfiguredTable) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfiguredTable) GoString() string { +func (s DifferentialPrivacyConfiguration) GoString() string { return s.String() } -// SetAllowedColumns sets the AllowedColumns field's value. -func (s *ConfiguredTable) SetAllowedColumns(v []*string) *ConfiguredTable { - s.AllowedColumns = v - return s -} - -// SetAnalysisMethod sets the AnalysisMethod field's value. -func (s *ConfiguredTable) SetAnalysisMethod(v string) *ConfiguredTable { - s.AnalysisMethod = &v - return s -} - -// SetAnalysisRuleTypes sets the AnalysisRuleTypes field's value. -func (s *ConfiguredTable) SetAnalysisRuleTypes(v []*string) *ConfiguredTable { - s.AnalysisRuleTypes = v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *DifferentialPrivacyConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DifferentialPrivacyConfiguration"} + if s.Columns == nil { + invalidParams.Add(request.NewErrParamRequired("Columns")) + } + if s.Columns != nil && len(s.Columns) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Columns", 1)) + } + if s.Columns != nil { + for i, v := range s.Columns { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Columns", i), err.(request.ErrInvalidParams)) + } + } + } -// SetArn sets the Arn field's value. -func (s *ConfiguredTable) SetArn(v string) *ConfiguredTable { - s.Arn = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetCreateTime sets the CreateTime field's value. -func (s *ConfiguredTable) SetCreateTime(v time.Time) *ConfiguredTable { - s.CreateTime = &v +// SetColumns sets the Columns field's value. +func (s *DifferentialPrivacyConfiguration) SetColumns(v []*DifferentialPrivacyColumn) *DifferentialPrivacyConfiguration { + s.Columns = v return s } -// SetDescription sets the Description field's value. -func (s *ConfiguredTable) SetDescription(v string) *ConfiguredTable { - s.Description = &v - return s -} +// An array that contains the sensitivity parameters. +type DifferentialPrivacyParameters struct { + _ struct{} `type:"structure"` -// SetId sets the Id field's value. -func (s *ConfiguredTable) SetId(v string) *ConfiguredTable { - s.Id = &v - return s + // Provides the sensitivity parameters that you can use to better understand + // the total amount of noise in query results. + // + // SensitivityParameters is a required field + SensitivityParameters []*DifferentialPrivacySensitivityParameters `locationName:"sensitivityParameters" type:"list" required:"true"` } -// SetName sets the Name field's value. -func (s *ConfiguredTable) SetName(v string) *ConfiguredTable { - s.Name = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DifferentialPrivacyParameters) String() string { + return awsutil.Prettify(s) } -// SetTableReference sets the TableReference field's value. -func (s *ConfiguredTable) SetTableReference(v *TableReference) *ConfiguredTable { - s.TableReference = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DifferentialPrivacyParameters) GoString() string { + return s.String() } -// SetUpdateTime sets the UpdateTime field's value. -func (s *ConfiguredTable) SetUpdateTime(v time.Time) *ConfiguredTable { - s.UpdateTime = &v +// SetSensitivityParameters sets the SensitivityParameters field's value. +func (s *DifferentialPrivacyParameters) SetSensitivityParameters(v []*DifferentialPrivacySensitivityParameters) *DifferentialPrivacyParameters { + s.SensitivityParameters = v return s } -// A configured table analysis rule, which limits how data for this table can -// be used. -type ConfiguredTableAnalysisRule struct { +// Provides an estimate of the number of aggregation functions that the member +// who can query can run given the epsilon and noise parameters. +type DifferentialPrivacyPreviewAggregation struct { _ struct{} `type:"structure"` - // The unique ARN for the configured table. - // - // ConfiguredTableArn is a required field - ConfiguredTableArn *string `locationName:"configuredTableArn" type:"string" required:"true"` - - // The unique ID for the configured table. - // - // ConfiguredTableId is a required field - ConfiguredTableId *string `locationName:"configuredTableId" min:"36" type:"string" required:"true"` - - // The time the configured table analysis rule was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - - // The policy that controls SQL query rules. + // The maximum number of aggregations that the member who can query can run + // given the epsilon and noise parameters. // - // Policy is a required field - Policy *ConfiguredTableAnalysisRulePolicy `locationName:"policy" type:"structure" required:"true"` + // MaxCount is a required field + MaxCount *int64 `locationName:"maxCount" type:"integer" required:"true"` - // The type of configured table analysis rule. + // The type of aggregation function. // // Type is a required field - Type *string `locationName:"type" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` - - // The time the configured table analysis rule was last updated. - // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + Type *string `locationName:"type" type:"string" required:"true" enum:"DifferentialPrivacyAggregationType"` } // String returns the string representation. @@ -6923,7 +12707,7 @@ type ConfiguredTableAnalysisRule struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfiguredTableAnalysisRule) String() string { +func (s DifferentialPrivacyPreviewAggregation) String() string { return awsutil.Prettify(s) } @@ -6932,52 +12716,37 @@ func (s ConfiguredTableAnalysisRule) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfiguredTableAnalysisRule) GoString() string { +func (s DifferentialPrivacyPreviewAggregation) GoString() string { return s.String() } -// SetConfiguredTableArn sets the ConfiguredTableArn field's value. -func (s *ConfiguredTableAnalysisRule) SetConfiguredTableArn(v string) *ConfiguredTableAnalysisRule { - s.ConfiguredTableArn = &v - return s -} - -// SetConfiguredTableId sets the ConfiguredTableId field's value. -func (s *ConfiguredTableAnalysisRule) SetConfiguredTableId(v string) *ConfiguredTableAnalysisRule { - s.ConfiguredTableId = &v - return s -} - -// SetCreateTime sets the CreateTime field's value. -func (s *ConfiguredTableAnalysisRule) SetCreateTime(v time.Time) *ConfiguredTableAnalysisRule { - s.CreateTime = &v - return s -} - -// SetPolicy sets the Policy field's value. -func (s *ConfiguredTableAnalysisRule) SetPolicy(v *ConfiguredTableAnalysisRulePolicy) *ConfiguredTableAnalysisRule { - s.Policy = v +// SetMaxCount sets the MaxCount field's value. +func (s *DifferentialPrivacyPreviewAggregation) SetMaxCount(v int64) *DifferentialPrivacyPreviewAggregation { + s.MaxCount = &v return s } // SetType sets the Type field's value. -func (s *ConfiguredTableAnalysisRule) SetType(v string) *ConfiguredTableAnalysisRule { +func (s *DifferentialPrivacyPreviewAggregation) SetType(v string) *DifferentialPrivacyPreviewAggregation { s.Type = &v return s } -// SetUpdateTime sets the UpdateTime field's value. -func (s *ConfiguredTableAnalysisRule) SetUpdateTime(v time.Time) *ConfiguredTableAnalysisRule { - s.UpdateTime = &v - return s -} - -// Controls on the query specifications that can be run on a configured table. -type ConfiguredTableAnalysisRulePolicy struct { +// The epsilon and noise parameters that you want to preview. +type DifferentialPrivacyPreviewParametersInput_ struct { _ struct{} `type:"structure"` - // Controls on the query specifications that can be run on a configured table. - V1 *ConfiguredTableAnalysisRulePolicyV1 `locationName:"v1" type:"structure"` + // The epsilon value that you want to preview. + // + // Epsilon is a required field + Epsilon *int64 `locationName:"epsilon" min:"1" type:"integer" required:"true"` + + // Noise added per query is measured in terms of the number of users whose contributions + // you want to obscure. This value governs the rate at which the privacy budget + // is depleted. + // + // UsersNoisePerQuery is a required field + UsersNoisePerQuery *int64 `locationName:"usersNoisePerQuery" min:"10" type:"integer" required:"true"` } // String returns the string representation. @@ -6985,7 +12754,7 @@ type ConfiguredTableAnalysisRulePolicy struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfiguredTableAnalysisRulePolicy) String() string { +func (s DifferentialPrivacyPreviewParametersInput_) String() string { return awsutil.Prettify(s) } @@ -6994,17 +12763,24 @@ func (s ConfiguredTableAnalysisRulePolicy) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfiguredTableAnalysisRulePolicy) GoString() string { +func (s DifferentialPrivacyPreviewParametersInput_) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ConfiguredTableAnalysisRulePolicy) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ConfiguredTableAnalysisRulePolicy"} - if s.V1 != nil { - if err := s.V1.Validate(); err != nil { - invalidParams.AddNested("V1", err.(request.ErrInvalidParams)) - } +func (s *DifferentialPrivacyPreviewParametersInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DifferentialPrivacyPreviewParametersInput_"} + if s.Epsilon == nil { + invalidParams.Add(request.NewErrParamRequired("Epsilon")) + } + if s.Epsilon != nil && *s.Epsilon < 1 { + invalidParams.Add(request.NewErrParamMinValue("Epsilon", 1)) + } + if s.UsersNoisePerQuery == nil { + invalidParams.Add(request.NewErrParamRequired("UsersNoisePerQuery")) + } + if s.UsersNoisePerQuery != nil && *s.UsersNoisePerQuery < 10 { + invalidParams.Add(request.NewErrParamMinValue("UsersNoisePerQuery", 10)) } if invalidParams.Len() > 0 { @@ -7013,26 +12789,33 @@ func (s *ConfiguredTableAnalysisRulePolicy) Validate() error { return nil } -// SetV1 sets the V1 field's value. -func (s *ConfiguredTableAnalysisRulePolicy) SetV1(v *ConfiguredTableAnalysisRulePolicyV1) *ConfiguredTableAnalysisRulePolicy { - s.V1 = v +// SetEpsilon sets the Epsilon field's value. +func (s *DifferentialPrivacyPreviewParametersInput_) SetEpsilon(v int64) *DifferentialPrivacyPreviewParametersInput_ { + s.Epsilon = &v return s } -// Controls on the query specifications that can be run on a configured table. -type ConfiguredTableAnalysisRulePolicyV1 struct { - _ struct{} `type:"structure"` +// SetUsersNoisePerQuery sets the UsersNoisePerQuery field's value. +func (s *DifferentialPrivacyPreviewParametersInput_) SetUsersNoisePerQuery(v int64) *DifferentialPrivacyPreviewParametersInput_ { + s.UsersNoisePerQuery = &v + return s +} - // Analysis rule type that enables only aggregation queries on a configured - // table. - Aggregation *AnalysisRuleAggregation `locationName:"aggregation" type:"structure"` +// Specifies the configured epsilon value and the utility in terms of total +// aggregations, as well as the remaining aggregations available. +type DifferentialPrivacyPrivacyBudget struct { + _ struct{} `type:"structure"` - // A type of analysis rule that enables the table owner to approve custom SQL - // queries on their configured tables. - Custom *AnalysisRuleCustom `locationName:"custom" type:"structure"` + // This information includes the configured epsilon value and the utility in + // terms of total aggregations, as well as the remaining aggregations. + // + // Aggregations is a required field + Aggregations []*DifferentialPrivacyPrivacyBudgetAggregation `locationName:"aggregations" type:"list" required:"true"` - // Analysis rule type that enables only list queries on a configured table. - List *AnalysisRuleList `locationName:"list" type:"structure"` + // The epsilon value that you configured. + // + // Epsilon is a required field + Epsilon *int64 `locationName:"epsilon" min:"1" type:"integer" required:"true"` } // String returns the string representation. @@ -7040,7 +12823,7 @@ type ConfiguredTableAnalysisRulePolicyV1 struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfiguredTableAnalysisRulePolicyV1) String() string { +func (s DifferentialPrivacyPrivacyBudget) String() string { return awsutil.Prettify(s) } @@ -7049,114 +12832,43 @@ func (s ConfiguredTableAnalysisRulePolicyV1) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfiguredTableAnalysisRulePolicyV1) GoString() string { +func (s DifferentialPrivacyPrivacyBudget) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ConfiguredTableAnalysisRulePolicyV1) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ConfiguredTableAnalysisRulePolicyV1"} - if s.Aggregation != nil { - if err := s.Aggregation.Validate(); err != nil { - invalidParams.AddNested("Aggregation", err.(request.ErrInvalidParams)) - } - } - if s.Custom != nil { - if err := s.Custom.Validate(); err != nil { - invalidParams.AddNested("Custom", err.(request.ErrInvalidParams)) - } - } - if s.List != nil { - if err := s.List.Validate(); err != nil { - invalidParams.AddNested("List", err.(request.ErrInvalidParams)) - } - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetAggregation sets the Aggregation field's value. -func (s *ConfiguredTableAnalysisRulePolicyV1) SetAggregation(v *AnalysisRuleAggregation) *ConfiguredTableAnalysisRulePolicyV1 { - s.Aggregation = v - return s -} - -// SetCustom sets the Custom field's value. -func (s *ConfiguredTableAnalysisRulePolicyV1) SetCustom(v *AnalysisRuleCustom) *ConfiguredTableAnalysisRulePolicyV1 { - s.Custom = v +// SetAggregations sets the Aggregations field's value. +func (s *DifferentialPrivacyPrivacyBudget) SetAggregations(v []*DifferentialPrivacyPrivacyBudgetAggregation) *DifferentialPrivacyPrivacyBudget { + s.Aggregations = v return s } -// SetList sets the List field's value. -func (s *ConfiguredTableAnalysisRulePolicyV1) SetList(v *AnalysisRuleList) *ConfiguredTableAnalysisRulePolicyV1 { - s.List = v +// SetEpsilon sets the Epsilon field's value. +func (s *DifferentialPrivacyPrivacyBudget) SetEpsilon(v int64) *DifferentialPrivacyPrivacyBudget { + s.Epsilon = &v return s -} - -// A configured table association links a configured table to a collaboration. -type ConfiguredTableAssociation struct { - _ struct{} `type:"structure"` - - // The unique ARN for the configured table association. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` - - // The unique ARN for the configured table that the association refers to. - // - // ConfiguredTableArn is a required field - ConfiguredTableArn *string `locationName:"configuredTableArn" type:"string" required:"true"` - - // The unique ID for the configured table that the association refers to. - // - // ConfiguredTableId is a required field - ConfiguredTableId *string `locationName:"configuredTableId" min:"36" type:"string" required:"true"` - - // The time the configured table association was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - - // A description of the configured table association. - Description *string `locationName:"description" type:"string"` - - // The unique ID for the configured table association. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` - - // The unique ARN for the membership this configured table association belongs - // to. - // - // MembershipArn is a required field - MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` +} - // The unique ID for the membership this configured table association belongs - // to. - // - // MembershipId is a required field - MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` +// Information about the total number of aggregations, as well as the remaining +// aggregations. +type DifferentialPrivacyPrivacyBudgetAggregation struct { + _ struct{} `type:"structure"` - // The name of the configured table association, in lowercase. The table is - // identified by this name when running protected queries against the underlying - // data. + // The maximum number of aggregation functions that you can perform with the + // given privacy budget. // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + // MaxCount is a required field + MaxCount *int64 `locationName:"maxCount" type:"integer" required:"true"` - // The service will assume this role to access catalog metadata and query the - // table. + // The remaining number of aggregation functions that can be run with the available + // privacy budget. // - // RoleArn is a required field - RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"` + // RemainingCount is a required field + RemainingCount *int64 `locationName:"remainingCount" type:"integer" required:"true"` - // The time the configured table association was last updated. + // The different types of aggregation functions that you can perform. // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"DifferentialPrivacyAggregationType"` } // String returns the string representation. @@ -7164,7 +12876,7 @@ type ConfiguredTableAssociation struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfiguredTableAssociation) String() string { +func (s DifferentialPrivacyPrivacyBudgetAggregation) String() string { return awsutil.Prettify(s) } @@ -7173,123 +12885,223 @@ func (s ConfiguredTableAssociation) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfiguredTableAssociation) GoString() string { +func (s DifferentialPrivacyPrivacyBudgetAggregation) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ConfiguredTableAssociation) SetArn(v string) *ConfiguredTableAssociation { - s.Arn = &v +// SetMaxCount sets the MaxCount field's value. +func (s *DifferentialPrivacyPrivacyBudgetAggregation) SetMaxCount(v int64) *DifferentialPrivacyPrivacyBudgetAggregation { + s.MaxCount = &v return s } -// SetConfiguredTableArn sets the ConfiguredTableArn field's value. -func (s *ConfiguredTableAssociation) SetConfiguredTableArn(v string) *ConfiguredTableAssociation { - s.ConfiguredTableArn = &v +// SetRemainingCount sets the RemainingCount field's value. +func (s *DifferentialPrivacyPrivacyBudgetAggregation) SetRemainingCount(v int64) *DifferentialPrivacyPrivacyBudgetAggregation { + s.RemainingCount = &v return s } -// SetConfiguredTableId sets the ConfiguredTableId field's value. -func (s *ConfiguredTableAssociation) SetConfiguredTableId(v string) *ConfiguredTableAssociation { - s.ConfiguredTableId = &v +// SetType sets the Type field's value. +func (s *DifferentialPrivacyPrivacyBudgetAggregation) SetType(v string) *DifferentialPrivacyPrivacyBudgetAggregation { + s.Type = &v return s } -// SetCreateTime sets the CreateTime field's value. -func (s *ConfiguredTableAssociation) SetCreateTime(v time.Time) *ConfiguredTableAssociation { - s.CreateTime = &v - return s +// Information about the number of aggregation functions that the member who +// can query can run given the epsilon and noise parameters. +type DifferentialPrivacyPrivacyImpact struct { + _ struct{} `type:"structure"` + + // The number of aggregation functions that you can perform. + // + // Aggregations is a required field + Aggregations []*DifferentialPrivacyPreviewAggregation `locationName:"aggregations" type:"list" required:"true"` } -// SetDescription sets the Description field's value. -func (s *ConfiguredTableAssociation) SetDescription(v string) *ConfiguredTableAssociation { - s.Description = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DifferentialPrivacyPrivacyImpact) String() string { + return awsutil.Prettify(s) } -// SetId sets the Id field's value. -func (s *ConfiguredTableAssociation) SetId(v string) *ConfiguredTableAssociation { - s.Id = &v +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DifferentialPrivacyPrivacyImpact) GoString() string { + return s.String() +} + +// SetAggregations sets the Aggregations field's value. +func (s *DifferentialPrivacyPrivacyImpact) SetAggregations(v []*DifferentialPrivacyPreviewAggregation) *DifferentialPrivacyPrivacyImpact { + s.Aggregations = v return s } -// SetMembershipArn sets the MembershipArn field's value. -func (s *ConfiguredTableAssociation) SetMembershipArn(v string) *ConfiguredTableAssociation { - s.MembershipArn = &v +// Provides the sensitivity parameters. +type DifferentialPrivacySensitivityParameters struct { + _ struct{} `type:"structure"` + + // The aggregation expression that was run. + // + // AggregationExpression is a required field + AggregationExpression *string `locationName:"aggregationExpression" min:"1" type:"string" required:"true"` + + // The type of aggregation function that was run. + // + // AggregationType is a required field + AggregationType *string `locationName:"aggregationType" type:"string" required:"true" enum:"DifferentialPrivacyAggregationType"` + + // The upper bound of the aggregation expression. + MaxColumnValue *float64 `locationName:"maxColumnValue" type:"float"` + + // The lower bound of the aggregation expression. + MinColumnValue *float64 `locationName:"minColumnValue" type:"float"` + + // The maximum number of rows contributed by a user in a SQL query. + // + // UserContributionLimit is a required field + UserContributionLimit *int64 `locationName:"userContributionLimit" type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DifferentialPrivacySensitivityParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DifferentialPrivacySensitivityParameters) GoString() string { + return s.String() +} + +// SetAggregationExpression sets the AggregationExpression field's value. +func (s *DifferentialPrivacySensitivityParameters) SetAggregationExpression(v string) *DifferentialPrivacySensitivityParameters { + s.AggregationExpression = &v return s } -// SetMembershipId sets the MembershipId field's value. -func (s *ConfiguredTableAssociation) SetMembershipId(v string) *ConfiguredTableAssociation { - s.MembershipId = &v +// SetAggregationType sets the AggregationType field's value. +func (s *DifferentialPrivacySensitivityParameters) SetAggregationType(v string) *DifferentialPrivacySensitivityParameters { + s.AggregationType = &v return s } -// SetName sets the Name field's value. -func (s *ConfiguredTableAssociation) SetName(v string) *ConfiguredTableAssociation { - s.Name = &v +// SetMaxColumnValue sets the MaxColumnValue field's value. +func (s *DifferentialPrivacySensitivityParameters) SetMaxColumnValue(v float64) *DifferentialPrivacySensitivityParameters { + s.MaxColumnValue = &v return s } -// SetRoleArn sets the RoleArn field's value. -func (s *ConfiguredTableAssociation) SetRoleArn(v string) *ConfiguredTableAssociation { - s.RoleArn = &v +// SetMinColumnValue sets the MinColumnValue field's value. +func (s *DifferentialPrivacySensitivityParameters) SetMinColumnValue(v float64) *DifferentialPrivacySensitivityParameters { + s.MinColumnValue = &v return s } -// SetUpdateTime sets the UpdateTime field's value. -func (s *ConfiguredTableAssociation) SetUpdateTime(v time.Time) *ConfiguredTableAssociation { - s.UpdateTime = &v +// SetUserContributionLimit sets the UserContributionLimit field's value. +func (s *DifferentialPrivacySensitivityParameters) SetUserContributionLimit(v int64) *DifferentialPrivacySensitivityParameters { + s.UserContributionLimit = &v return s } -// The configured table association summary for the objects listed by the request. -type ConfiguredTableAssociationSummary struct { +// The epsilon and noise parameter values that you want to use for the differential +// privacy template. +type DifferentialPrivacyTemplateParametersInput_ struct { _ struct{} `type:"structure"` - // The unique ARN for the configured table association. + // The epsilon value that you want to use. // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` + // Epsilon is a required field + Epsilon *int64 `locationName:"epsilon" min:"1" type:"integer" required:"true"` - // The unique configured table ID that this configured table association refers - // to. + // Noise added per query is measured in terms of the number of users whose contributions + // you want to obscure. This value governs the rate at which the privacy budget + // is depleted. // - // ConfiguredTableId is a required field - ConfiguredTableId *string `locationName:"configuredTableId" min:"36" type:"string" required:"true"` + // UsersNoisePerQuery is a required field + UsersNoisePerQuery *int64 `locationName:"usersNoisePerQuery" min:"10" type:"integer" required:"true"` +} - // The time the configured table association was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DifferentialPrivacyTemplateParametersInput_) String() string { + return awsutil.Prettify(s) +} - // The unique ID for the configured table association. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DifferentialPrivacyTemplateParametersInput_) GoString() string { + return s.String() +} - // The unique ARN for the membership that the configured table association belongs - // to. - // - // MembershipArn is a required field - MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` +// Validate inspects the fields of the type to determine if they are valid. +func (s *DifferentialPrivacyTemplateParametersInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DifferentialPrivacyTemplateParametersInput_"} + if s.Epsilon == nil { + invalidParams.Add(request.NewErrParamRequired("Epsilon")) + } + if s.Epsilon != nil && *s.Epsilon < 1 { + invalidParams.Add(request.NewErrParamMinValue("Epsilon", 1)) + } + if s.UsersNoisePerQuery == nil { + invalidParams.Add(request.NewErrParamRequired("UsersNoisePerQuery")) + } + if s.UsersNoisePerQuery != nil && *s.UsersNoisePerQuery < 10 { + invalidParams.Add(request.NewErrParamMinValue("UsersNoisePerQuery", 10)) + } - // The unique ID for the membership that the configured table association belongs - // to. - // - // MembershipId is a required field - MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} - // The name of the configured table association. The table is identified by - // this name when running Protected Queries against the underlying data. +// SetEpsilon sets the Epsilon field's value. +func (s *DifferentialPrivacyTemplateParametersInput_) SetEpsilon(v int64) *DifferentialPrivacyTemplateParametersInput_ { + s.Epsilon = &v + return s +} + +// SetUsersNoisePerQuery sets the UsersNoisePerQuery field's value. +func (s *DifferentialPrivacyTemplateParametersInput_) SetUsersNoisePerQuery(v int64) *DifferentialPrivacyTemplateParametersInput_ { + s.UsersNoisePerQuery = &v + return s +} + +// The epsilon and noise parameter values that were used for the differential +// privacy template. +type DifferentialPrivacyTemplateParametersOutput_ struct { + _ struct{} `type:"structure"` + + // The epsilon value that you specified. // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + // Epsilon is a required field + Epsilon *int64 `locationName:"epsilon" min:"1" type:"integer" required:"true"` - // The time the configured table association was last updated. + // Noise added per query is measured in terms of the number of users whose contributions + // you want to obscure. This value governs the rate at which the privacy budget + // is depleted. // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // UsersNoisePerQuery is a required field + UsersNoisePerQuery *int64 `locationName:"usersNoisePerQuery" min:"10" type:"integer" required:"true"` } // String returns the string representation. @@ -7297,7 +13109,7 @@ type ConfiguredTableAssociationSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfiguredTableAssociationSummary) String() string { +func (s DifferentialPrivacyTemplateParametersOutput_) String() string { return awsutil.Prettify(s) } @@ -7306,97 +13118,94 @@ func (s ConfiguredTableAssociationSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfiguredTableAssociationSummary) GoString() string { +func (s DifferentialPrivacyTemplateParametersOutput_) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *ConfiguredTableAssociationSummary) SetArn(v string) *ConfiguredTableAssociationSummary { - s.Arn = &v +// SetEpsilon sets the Epsilon field's value. +func (s *DifferentialPrivacyTemplateParametersOutput_) SetEpsilon(v int64) *DifferentialPrivacyTemplateParametersOutput_ { + s.Epsilon = &v return s } -// SetConfiguredTableId sets the ConfiguredTableId field's value. -func (s *ConfiguredTableAssociationSummary) SetConfiguredTableId(v string) *ConfiguredTableAssociationSummary { - s.ConfiguredTableId = &v +// SetUsersNoisePerQuery sets the UsersNoisePerQuery field's value. +func (s *DifferentialPrivacyTemplateParametersOutput_) SetUsersNoisePerQuery(v int64) *DifferentialPrivacyTemplateParametersOutput_ { + s.UsersNoisePerQuery = &v return s } -// SetCreateTime sets the CreateTime field's value. -func (s *ConfiguredTableAssociationSummary) SetCreateTime(v time.Time) *ConfiguredTableAssociationSummary { - s.CreateTime = &v - return s +// The epsilon and noise parameter values that you want to update in the differential +// privacy template. +type DifferentialPrivacyTemplateUpdateParameters struct { + _ struct{} `type:"structure"` + + // The updated epsilon value that you want to use. + Epsilon *int64 `locationName:"epsilon" min:"1" type:"integer"` + + // The updated value of noise added per query. It is measured in terms of the + // number of users whose contributions you want to obscure. This value governs + // the rate at which the privacy budget is depleted. + UsersNoisePerQuery *int64 `locationName:"usersNoisePerQuery" min:"10" type:"integer"` } -// SetId sets the Id field's value. -func (s *ConfiguredTableAssociationSummary) SetId(v string) *ConfiguredTableAssociationSummary { - s.Id = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DifferentialPrivacyTemplateUpdateParameters) String() string { + return awsutil.Prettify(s) } -// SetMembershipArn sets the MembershipArn field's value. -func (s *ConfiguredTableAssociationSummary) SetMembershipArn(v string) *ConfiguredTableAssociationSummary { - s.MembershipArn = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DifferentialPrivacyTemplateUpdateParameters) GoString() string { + return s.String() } -// SetMembershipId sets the MembershipId field's value. -func (s *ConfiguredTableAssociationSummary) SetMembershipId(v string) *ConfiguredTableAssociationSummary { - s.MembershipId = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *DifferentialPrivacyTemplateUpdateParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DifferentialPrivacyTemplateUpdateParameters"} + if s.Epsilon != nil && *s.Epsilon < 1 { + invalidParams.Add(request.NewErrParamMinValue("Epsilon", 1)) + } + if s.UsersNoisePerQuery != nil && *s.UsersNoisePerQuery < 10 { + invalidParams.Add(request.NewErrParamMinValue("UsersNoisePerQuery", 10)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetName sets the Name field's value. -func (s *ConfiguredTableAssociationSummary) SetName(v string) *ConfiguredTableAssociationSummary { - s.Name = &v +// SetEpsilon sets the Epsilon field's value. +func (s *DifferentialPrivacyTemplateUpdateParameters) SetEpsilon(v int64) *DifferentialPrivacyTemplateUpdateParameters { + s.Epsilon = &v return s } -// SetUpdateTime sets the UpdateTime field's value. -func (s *ConfiguredTableAssociationSummary) SetUpdateTime(v time.Time) *ConfiguredTableAssociationSummary { - s.UpdateTime = &v +// SetUsersNoisePerQuery sets the UsersNoisePerQuery field's value. +func (s *DifferentialPrivacyTemplateUpdateParameters) SetUsersNoisePerQuery(v int64) *DifferentialPrivacyTemplateUpdateParameters { + s.UsersNoisePerQuery = &v return s } -// The configured table summary for the objects listed by the request. -type ConfiguredTableSummary struct { - _ struct{} `type:"structure"` - - // The analysis method for the configured tables. The only valid value is currently - // `DIRECT_QUERY`. - // - // AnalysisMethod is a required field - AnalysisMethod *string `locationName:"analysisMethod" type:"string" required:"true" enum:"AnalysisMethod"` - - // The types of analysis rules associated with this configured table. - // - // AnalysisRuleTypes is a required field - AnalysisRuleTypes []*string `locationName:"analysisRuleTypes" type:"list" required:"true" enum:"ConfiguredTableAnalysisRuleType"` - - // The unique ARN of the configured table. - // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` - - // The time the configured table was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - - // The unique ID of the configured table. - // - // Id is a required field - Id *string `locationName:"id" min:"36" type:"string" required:"true"` +type GetAnalysisTemplateInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The name of the configured table. + // The identifier for the analysis template resource. // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // AnalysisTemplateIdentifier is a required field + AnalysisTemplateIdentifier *string `location:"uri" locationName:"analysisTemplateIdentifier" min:"36" type:"string" required:"true"` - // The time the configured table was last updated. + // The identifier for a membership resource. // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -7404,7 +13213,7 @@ type ConfiguredTableSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfiguredTableSummary) String() string { +func (s GetAnalysisTemplateInput) String() string { return awsutil.Prettify(s) } @@ -7413,67 +13222,51 @@ func (s ConfiguredTableSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConfiguredTableSummary) GoString() string { +func (s GetAnalysisTemplateInput) GoString() string { return s.String() } -// SetAnalysisMethod sets the AnalysisMethod field's value. -func (s *ConfiguredTableSummary) SetAnalysisMethod(v string) *ConfiguredTableSummary { - s.AnalysisMethod = &v - return s -} - -// SetAnalysisRuleTypes sets the AnalysisRuleTypes field's value. -func (s *ConfiguredTableSummary) SetAnalysisRuleTypes(v []*string) *ConfiguredTableSummary { - s.AnalysisRuleTypes = v - return s -} - -// SetArn sets the Arn field's value. -func (s *ConfiguredTableSummary) SetArn(v string) *ConfiguredTableSummary { - s.Arn = &v - return s -} - -// SetCreateTime sets the CreateTime field's value. -func (s *ConfiguredTableSummary) SetCreateTime(v time.Time) *ConfiguredTableSummary { - s.CreateTime = &v - return s -} +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAnalysisTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAnalysisTemplateInput"} + if s.AnalysisTemplateIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateIdentifier")) + } + if s.AnalysisTemplateIdentifier != nil && len(*s.AnalysisTemplateIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateIdentifier", 36)) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } -// SetId sets the Id field's value. -func (s *ConfiguredTableSummary) SetId(v string) *ConfiguredTableSummary { - s.Id = &v - return s + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetName sets the Name field's value. -func (s *ConfiguredTableSummary) SetName(v string) *ConfiguredTableSummary { - s.Name = &v +// SetAnalysisTemplateIdentifier sets the AnalysisTemplateIdentifier field's value. +func (s *GetAnalysisTemplateInput) SetAnalysisTemplateIdentifier(v string) *GetAnalysisTemplateInput { + s.AnalysisTemplateIdentifier = &v return s } -// SetUpdateTime sets the UpdateTime field's value. -func (s *ConfiguredTableSummary) SetUpdateTime(v time.Time) *ConfiguredTableSummary { - s.UpdateTime = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *GetAnalysisTemplateInput) SetMembershipIdentifier(v string) *GetAnalysisTemplateInput { + s.MembershipIdentifier = &v return s } -// Updating or deleting a resource can cause an inconsistent state. -type ConflictException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` - - Message_ *string `locationName:"message" type:"string"` - - // A reason code for the exception. - Reason *string `locationName:"reason" type:"string" enum:"ConflictExceptionReason"` - - // The ID of the conflicting resource. - ResourceId *string `locationName:"resourceId" type:"string"` +type GetAnalysisTemplateOutput struct { + _ struct{} `type:"structure"` - // The type of the conflicting resource. - ResourceType *string `locationName:"resourceType" type:"string" enum:"ResourceType"` + // The analysis template. + // + // AnalysisTemplate is a required field + AnalysisTemplate *AnalysisTemplate `locationName:"analysisTemplate" type:"structure" required:"true"` } // String returns the string representation. @@ -7481,7 +13274,7 @@ type ConflictException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) String() string { +func (s GetAnalysisTemplateOutput) String() string { return awsutil.Prettify(s) } @@ -7490,87 +13283,30 @@ func (s ConflictException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ConflictException) GoString() string { +func (s GetAnalysisTemplateOutput) 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 +// SetAnalysisTemplate sets the AnalysisTemplate field's value. +func (s *GetAnalysisTemplateOutput) SetAnalysisTemplate(v *AnalysisTemplate) *GetAnalysisTemplateOutput { + s.AnalysisTemplate = v + return s } -type CreateAnalysisTemplateInput struct { - _ struct{} `type:"structure"` - - // The parameters of the analysis template. - AnalysisParameters []*AnalysisParameter `locationName:"analysisParameters" type:"list"` - - // The description of the analysis template. - Description *string `locationName:"description" type:"string"` - - // The format of the analysis template. - // - // Format is a required field - Format *string `locationName:"format" type:"string" required:"true" enum:"AnalysisFormat"` - - // The identifier for a membership resource. - // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` +type GetCollaborationAnalysisTemplateInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The name of the analysis template. + // The Amazon Resource Name (ARN) associated with the analysis template within + // a collaboration. // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + // AnalysisTemplateArn is a required field + AnalysisTemplateArn *string `location:"uri" locationName:"analysisTemplateArn" type:"string" required:"true"` - // The information in the analysis template. Currently supports text, the query - // text for the analysis template. - // - // Source is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by CreateAnalysisTemplateInput's - // String and GoString methods. + // A unique identifier for the collaboration that the analysis templates belong + // to. Currently accepts collaboration ID. // - // Source is a required field - Source *AnalysisSource `locationName:"source" type:"structure" required:"true" sensitive:"true"` - - // An optional label that you can assign to a resource when you create it. Each - // tag consists of a key and an optional value, both of which you define. When - // you use tagging, you can also use tag-based access control in IAM policies - // to control access to this resource. - Tags map[string]*string `locationName:"tags" type:"map"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -7578,7 +13314,7 @@ type CreateAnalysisTemplateInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAnalysisTemplateInput) String() string { +func (s GetCollaborationAnalysisTemplateInput) String() string { return awsutil.Prettify(s) } @@ -7587,37 +13323,24 @@ func (s CreateAnalysisTemplateInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAnalysisTemplateInput) GoString() string { +func (s GetCollaborationAnalysisTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateAnalysisTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateAnalysisTemplateInput"} - if s.Format == nil { - invalidParams.Add(request.NewErrParamRequired("Format")) - } - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) - } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) +func (s *GetCollaborationAnalysisTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCollaborationAnalysisTemplateInput"} + if s.AnalysisTemplateArn == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateArn")) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) + if s.AnalysisTemplateArn != nil && len(*s.AnalysisTemplateArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateArn", 1)) } - if s.Source == nil { - invalidParams.Add(request.NewErrParamRequired("Source")) + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - if s.AnalysisParameters != nil { - for i, v := range s.AnalysisParameters { - if v == nil { - continue - } - if err := v.Validate(); err != nil { - invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AnalysisParameters", i), err.(request.ErrInvalidParams)) - } - } + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -7626,55 +13349,126 @@ func (s *CreateAnalysisTemplateInput) Validate() error { return nil } -// SetAnalysisParameters sets the AnalysisParameters field's value. -func (s *CreateAnalysisTemplateInput) SetAnalysisParameters(v []*AnalysisParameter) *CreateAnalysisTemplateInput { - s.AnalysisParameters = v +// SetAnalysisTemplateArn sets the AnalysisTemplateArn field's value. +func (s *GetCollaborationAnalysisTemplateInput) SetAnalysisTemplateArn(v string) *GetCollaborationAnalysisTemplateInput { + s.AnalysisTemplateArn = &v return s } -// SetDescription sets the Description field's value. -func (s *CreateAnalysisTemplateInput) SetDescription(v string) *CreateAnalysisTemplateInput { - s.Description = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *GetCollaborationAnalysisTemplateInput) SetCollaborationIdentifier(v string) *GetCollaborationAnalysisTemplateInput { + s.CollaborationIdentifier = &v + return s +} + +type GetCollaborationAnalysisTemplateOutput struct { + _ struct{} `type:"structure"` + + // The analysis template within a collaboration. + // + // CollaborationAnalysisTemplate is a required field + CollaborationAnalysisTemplate *CollaborationAnalysisTemplate `locationName:"collaborationAnalysisTemplate" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCollaborationAnalysisTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCollaborationAnalysisTemplateOutput) GoString() string { + return s.String() +} + +// SetCollaborationAnalysisTemplate sets the CollaborationAnalysisTemplate field's value. +func (s *GetCollaborationAnalysisTemplateOutput) SetCollaborationAnalysisTemplate(v *CollaborationAnalysisTemplate) *GetCollaborationAnalysisTemplateOutput { + s.CollaborationAnalysisTemplate = v return s } -// SetFormat sets the Format field's value. -func (s *CreateAnalysisTemplateInput) SetFormat(v string) *CreateAnalysisTemplateInput { - s.Format = &v - return s +type GetCollaborationConfiguredAudienceModelAssociationInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A unique identifier for the collaboration that the configured audience model + // association belongs to. Accepts a collaboration ID. + // + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + + // A unique identifier for the configured audience model association that you + // want to retrieve. + // + // ConfiguredAudienceModelAssociationIdentifier is a required field + ConfiguredAudienceModelAssociationIdentifier *string `location:"uri" locationName:"configuredAudienceModelAssociationIdentifier" min:"36" type:"string" required:"true"` } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *CreateAnalysisTemplateInput) SetMembershipIdentifier(v string) *CreateAnalysisTemplateInput { - s.MembershipIdentifier = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCollaborationConfiguredAudienceModelAssociationInput) String() string { + return awsutil.Prettify(s) } -// SetName sets the Name field's value. -func (s *CreateAnalysisTemplateInput) SetName(v string) *CreateAnalysisTemplateInput { - s.Name = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCollaborationConfiguredAudienceModelAssociationInput) GoString() string { + return s.String() } -// SetSource sets the Source field's value. -func (s *CreateAnalysisTemplateInput) SetSource(v *AnalysisSource) *CreateAnalysisTemplateInput { - s.Source = v +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCollaborationConfiguredAudienceModelAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCollaborationConfiguredAudienceModelAssociationInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) + } + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + } + if s.ConfiguredAudienceModelAssociationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelAssociationIdentifier")) + } + if s.ConfiguredAudienceModelAssociationIdentifier != nil && len(*s.ConfiguredAudienceModelAssociationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelAssociationIdentifier", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *GetCollaborationConfiguredAudienceModelAssociationInput) SetCollaborationIdentifier(v string) *GetCollaborationConfiguredAudienceModelAssociationInput { + s.CollaborationIdentifier = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateAnalysisTemplateInput) SetTags(v map[string]*string) *CreateAnalysisTemplateInput { - s.Tags = v +// SetConfiguredAudienceModelAssociationIdentifier sets the ConfiguredAudienceModelAssociationIdentifier field's value. +func (s *GetCollaborationConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelAssociationIdentifier(v string) *GetCollaborationConfiguredAudienceModelAssociationInput { + s.ConfiguredAudienceModelAssociationIdentifier = &v return s } -type CreateAnalysisTemplateOutput struct { +type GetCollaborationConfiguredAudienceModelAssociationOutput struct { _ struct{} `type:"structure"` - // The analysis template. + // The metadata of the configured audience model association. // - // AnalysisTemplate is a required field - AnalysisTemplate *AnalysisTemplate `locationName:"analysisTemplate" type:"structure" required:"true"` + // CollaborationConfiguredAudienceModelAssociation is a required field + CollaborationConfiguredAudienceModelAssociation *CollaborationConfiguredAudienceModelAssociation `locationName:"collaborationConfiguredAudienceModelAssociation" type:"structure" required:"true"` } // String returns the string representation. @@ -7682,7 +13476,7 @@ type CreateAnalysisTemplateOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAnalysisTemplateOutput) String() string { +func (s GetCollaborationConfiguredAudienceModelAssociationOutput) String() string { return awsutil.Prettify(s) } @@ -7691,66 +13485,23 @@ func (s CreateAnalysisTemplateOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateAnalysisTemplateOutput) GoString() string { +func (s GetCollaborationConfiguredAudienceModelAssociationOutput) GoString() string { return s.String() } -// SetAnalysisTemplate sets the AnalysisTemplate field's value. -func (s *CreateAnalysisTemplateOutput) SetAnalysisTemplate(v *AnalysisTemplate) *CreateAnalysisTemplateOutput { - s.AnalysisTemplate = v +// SetCollaborationConfiguredAudienceModelAssociation sets the CollaborationConfiguredAudienceModelAssociation field's value. +func (s *GetCollaborationConfiguredAudienceModelAssociationOutput) SetCollaborationConfiguredAudienceModelAssociation(v *CollaborationConfiguredAudienceModelAssociation) *GetCollaborationConfiguredAudienceModelAssociationOutput { + s.CollaborationConfiguredAudienceModelAssociation = v return s } -type CreateCollaborationInput struct { - _ struct{} `type:"structure"` - - // The display name of the collaboration creator. - // - // CreatorDisplayName is a required field - CreatorDisplayName *string `locationName:"creatorDisplayName" min:"1" type:"string" required:"true"` - - // The abilities granted to the collaboration creator. - // - // CreatorMemberAbilities is a required field - CreatorMemberAbilities []*string `locationName:"creatorMemberAbilities" type:"list" required:"true" enum:"MemberAbility"` - - // The collaboration creator's payment responsibilities set by the collaboration - // creator. - // - // If the collaboration creator hasn't specified anyone as the member paying - // for query compute costs, then the member who can query is the default payer. - CreatorPaymentConfiguration *PaymentConfiguration `locationName:"creatorPaymentConfiguration" type:"structure"` - - // The settings for client-side encryption with Cryptographic Computing for - // Clean Rooms. - DataEncryptionMetadata *DataEncryptionMetadata `locationName:"dataEncryptionMetadata" type:"structure"` - - // A description of the collaboration provided by the collaboration owner. - // - // Description is a required field - Description *string `locationName:"description" min:"1" type:"string" required:"true"` - - // A list of initial members, not including the creator. This list is immutable. - // - // Members is a required field - Members []*MemberSpecification `locationName:"members" type:"list" required:"true"` - - // The display name for a collaboration. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` +type GetCollaborationInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // An indicator as to whether query logging has been enabled or disabled for - // the collaboration. + // The identifier for the collaboration. // - // QueryLogStatus is a required field - QueryLogStatus *string `locationName:"queryLogStatus" type:"string" required:"true" enum:"CollaborationQueryLogStatus"` - - // An optional label that you can assign to a resource when you create it. Each - // tag consists of a key and an optional value, both of which you define. When - // you use tagging, you can also use tag-based access control in IAM policies - // to control access to this resource. - Tags map[string]*string `locationName:"tags" type:"map"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -7758,7 +13509,7 @@ type CreateCollaborationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateCollaborationInput) String() string { +func (s GetCollaborationInput) String() string { return awsutil.Prettify(s) } @@ -7767,59 +13518,18 @@ func (s CreateCollaborationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateCollaborationInput) GoString() string { +func (s GetCollaborationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateCollaborationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateCollaborationInput"} - if s.CreatorDisplayName == nil { - invalidParams.Add(request.NewErrParamRequired("CreatorDisplayName")) - } - if s.CreatorDisplayName != nil && len(*s.CreatorDisplayName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("CreatorDisplayName", 1)) - } - if s.CreatorMemberAbilities == nil { - invalidParams.Add(request.NewErrParamRequired("CreatorMemberAbilities")) - } - if s.Description == nil { - invalidParams.Add(request.NewErrParamRequired("Description")) - } - if s.Description != nil && len(*s.Description) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Description", 1)) - } - if s.Members == nil { - invalidParams.Add(request.NewErrParamRequired("Members")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.QueryLogStatus == nil { - invalidParams.Add(request.NewErrParamRequired("QueryLogStatus")) - } - if s.CreatorPaymentConfiguration != nil { - if err := s.CreatorPaymentConfiguration.Validate(); err != nil { - invalidParams.AddNested("CreatorPaymentConfiguration", err.(request.ErrInvalidParams)) - } - } - if s.DataEncryptionMetadata != nil { - if err := s.DataEncryptionMetadata.Validate(); err != nil { - invalidParams.AddNested("DataEncryptionMetadata", err.(request.ErrInvalidParams)) - } +func (s *GetCollaborationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCollaborationInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - 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 s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -7828,67 +13538,118 @@ func (s *CreateCollaborationInput) Validate() error { return nil } -// SetCreatorDisplayName sets the CreatorDisplayName field's value. -func (s *CreateCollaborationInput) SetCreatorDisplayName(v string) *CreateCollaborationInput { - s.CreatorDisplayName = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *GetCollaborationInput) SetCollaborationIdentifier(v string) *GetCollaborationInput { + s.CollaborationIdentifier = &v return s } -// SetCreatorMemberAbilities sets the CreatorMemberAbilities field's value. -func (s *CreateCollaborationInput) SetCreatorMemberAbilities(v []*string) *CreateCollaborationInput { - s.CreatorMemberAbilities = v - return s +type GetCollaborationOutput struct { + _ struct{} `type:"structure"` + + // The entire collaboration for this identifier. + // + // Collaboration is a required field + Collaboration *Collaboration `locationName:"collaboration" type:"structure" required:"true"` } -// SetCreatorPaymentConfiguration sets the CreatorPaymentConfiguration field's value. -func (s *CreateCollaborationInput) SetCreatorPaymentConfiguration(v *PaymentConfiguration) *CreateCollaborationInput { - s.CreatorPaymentConfiguration = v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCollaborationOutput) String() string { + return awsutil.Prettify(s) } -// SetDataEncryptionMetadata sets the DataEncryptionMetadata field's value. -func (s *CreateCollaborationInput) SetDataEncryptionMetadata(v *DataEncryptionMetadata) *CreateCollaborationInput { - s.DataEncryptionMetadata = v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCollaborationOutput) GoString() string { + return s.String() } -// SetDescription sets the Description field's value. -func (s *CreateCollaborationInput) SetDescription(v string) *CreateCollaborationInput { - s.Description = &v +// SetCollaboration sets the Collaboration field's value. +func (s *GetCollaborationOutput) SetCollaboration(v *Collaboration) *GetCollaborationOutput { + s.Collaboration = v return s } -// SetMembers sets the Members field's value. -func (s *CreateCollaborationInput) SetMembers(v []*MemberSpecification) *CreateCollaborationInput { - s.Members = v - return s +type GetCollaborationPrivacyBudgetTemplateInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // A unique identifier for one of your collaborations. + // + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + + // A unique identifier for one of your privacy budget templates. + // + // PrivacyBudgetTemplateIdentifier is a required field + PrivacyBudgetTemplateIdentifier *string `location:"uri" locationName:"privacyBudgetTemplateIdentifier" min:"36" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCollaborationPrivacyBudgetTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCollaborationPrivacyBudgetTemplateInput) GoString() string { + return s.String() } -// SetName sets the Name field's value. -func (s *CreateCollaborationInput) SetName(v string) *CreateCollaborationInput { - s.Name = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCollaborationPrivacyBudgetTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCollaborationPrivacyBudgetTemplateInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) + } + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + } + if s.PrivacyBudgetTemplateIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetTemplateIdentifier")) + } + if s.PrivacyBudgetTemplateIdentifier != nil && len(*s.PrivacyBudgetTemplateIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PrivacyBudgetTemplateIdentifier", 36)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetQueryLogStatus sets the QueryLogStatus field's value. -func (s *CreateCollaborationInput) SetQueryLogStatus(v string) *CreateCollaborationInput { - s.QueryLogStatus = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *GetCollaborationPrivacyBudgetTemplateInput) SetCollaborationIdentifier(v string) *GetCollaborationPrivacyBudgetTemplateInput { + s.CollaborationIdentifier = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateCollaborationInput) SetTags(v map[string]*string) *CreateCollaborationInput { - s.Tags = v +// SetPrivacyBudgetTemplateIdentifier sets the PrivacyBudgetTemplateIdentifier field's value. +func (s *GetCollaborationPrivacyBudgetTemplateInput) SetPrivacyBudgetTemplateIdentifier(v string) *GetCollaborationPrivacyBudgetTemplateInput { + s.PrivacyBudgetTemplateIdentifier = &v return s } -type CreateCollaborationOutput struct { +type GetCollaborationPrivacyBudgetTemplateOutput struct { _ struct{} `type:"structure"` - // The entire created collaboration object. + // Returns the details of the privacy budget template that you requested. // - // Collaboration is a required field - Collaboration *Collaboration `locationName:"collaboration" type:"structure" required:"true"` + // CollaborationPrivacyBudgetTemplate is a required field + CollaborationPrivacyBudgetTemplate *CollaborationPrivacyBudgetTemplate `locationName:"collaborationPrivacyBudgetTemplate" type:"structure" required:"true"` } // String returns the string representation. @@ -7896,7 +13657,7 @@ type CreateCollaborationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateCollaborationOutput) String() string { +func (s GetCollaborationPrivacyBudgetTemplateOutput) String() string { return awsutil.Prettify(s) } @@ -7905,34 +13666,30 @@ func (s CreateCollaborationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateCollaborationOutput) GoString() string { +func (s GetCollaborationPrivacyBudgetTemplateOutput) GoString() string { return s.String() } -// SetCollaboration sets the Collaboration field's value. -func (s *CreateCollaborationOutput) SetCollaboration(v *Collaboration) *CreateCollaborationOutput { - s.Collaboration = v +// SetCollaborationPrivacyBudgetTemplate sets the CollaborationPrivacyBudgetTemplate field's value. +func (s *GetCollaborationPrivacyBudgetTemplateOutput) SetCollaborationPrivacyBudgetTemplate(v *CollaborationPrivacyBudgetTemplate) *GetCollaborationPrivacyBudgetTemplateOutput { + s.CollaborationPrivacyBudgetTemplate = v return s } -type CreateConfiguredTableAnalysisRuleInput struct { - _ struct{} `type:"structure"` - - // The entire created configured table analysis rule object. - // - // AnalysisRulePolicy is a required field - AnalysisRulePolicy *ConfiguredTableAnalysisRulePolicy `locationName:"analysisRulePolicy" type:"structure" required:"true"` +type GetConfiguredAudienceModelAssociationInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The type of analysis rule. + // A unique identifier for the configured audience model association that you + // want to retrieve. // - // AnalysisRuleType is a required field - AnalysisRuleType *string `locationName:"analysisRuleType" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` + // ConfiguredAudienceModelAssociationIdentifier is a required field + ConfiguredAudienceModelAssociationIdentifier *string `location:"uri" locationName:"configuredAudienceModelAssociationIdentifier" min:"36" type:"string" required:"true"` - // The identifier for the configured table to create the analysis rule for. - // Currently accepts the configured table ID. + // A unique identifier for the membership that contains the configured audience + // model association that you want to retrieve. // - // ConfiguredTableIdentifier is a required field - ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -7940,7 +13697,7 @@ type CreateConfiguredTableAnalysisRuleInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConfiguredTableAnalysisRuleInput) String() string { +func (s GetConfiguredAudienceModelAssociationInput) String() string { return awsutil.Prettify(s) } @@ -7949,29 +13706,24 @@ func (s CreateConfiguredTableAnalysisRuleInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConfiguredTableAnalysisRuleInput) GoString() string { +func (s GetConfiguredAudienceModelAssociationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateConfiguredTableAnalysisRuleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredTableAnalysisRuleInput"} - if s.AnalysisRulePolicy == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisRulePolicy")) - } - if s.AnalysisRuleType == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisRuleType")) +func (s *GetConfiguredAudienceModelAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConfiguredAudienceModelAssociationInput"} + if s.ConfiguredAudienceModelAssociationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelAssociationIdentifier")) } - if s.ConfiguredTableIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) + if s.ConfiguredAudienceModelAssociationIdentifier != nil && len(*s.ConfiguredAudienceModelAssociationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelAssociationIdentifier", 36)) } - if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } - if s.AnalysisRulePolicy != nil { - if err := s.AnalysisRulePolicy.Validate(); err != nil { - invalidParams.AddNested("AnalysisRulePolicy", err.(request.ErrInvalidParams)) - } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -7980,31 +13732,25 @@ func (s *CreateConfiguredTableAnalysisRuleInput) Validate() error { return nil } -// SetAnalysisRulePolicy sets the AnalysisRulePolicy field's value. -func (s *CreateConfiguredTableAnalysisRuleInput) SetAnalysisRulePolicy(v *ConfiguredTableAnalysisRulePolicy) *CreateConfiguredTableAnalysisRuleInput { - s.AnalysisRulePolicy = v - return s -} - -// SetAnalysisRuleType sets the AnalysisRuleType field's value. -func (s *CreateConfiguredTableAnalysisRuleInput) SetAnalysisRuleType(v string) *CreateConfiguredTableAnalysisRuleInput { - s.AnalysisRuleType = &v +// SetConfiguredAudienceModelAssociationIdentifier sets the ConfiguredAudienceModelAssociationIdentifier field's value. +func (s *GetConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelAssociationIdentifier(v string) *GetConfiguredAudienceModelAssociationInput { + s.ConfiguredAudienceModelAssociationIdentifier = &v return s } -// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. -func (s *CreateConfiguredTableAnalysisRuleInput) SetConfiguredTableIdentifier(v string) *CreateConfiguredTableAnalysisRuleInput { - s.ConfiguredTableIdentifier = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *GetConfiguredAudienceModelAssociationInput) SetMembershipIdentifier(v string) *GetConfiguredAudienceModelAssociationInput { + s.MembershipIdentifier = &v return s } -type CreateConfiguredTableAnalysisRuleOutput struct { +type GetConfiguredAudienceModelAssociationOutput struct { _ struct{} `type:"structure"` - // The entire created analysis rule. + // Information about the configured audience model association that you requested. // - // AnalysisRule is a required field - AnalysisRule *ConfiguredTableAnalysisRule `locationName:"analysisRule" type:"structure" required:"true"` + // ConfiguredAudienceModelAssociation is a required field + ConfiguredAudienceModelAssociation *ConfiguredAudienceModelAssociation `locationName:"configuredAudienceModelAssociation" type:"structure" required:"true"` } // String returns the string representation. @@ -8012,7 +13758,7 @@ type CreateConfiguredTableAnalysisRuleOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConfiguredTableAnalysisRuleOutput) String() string { +func (s GetConfiguredAudienceModelAssociationOutput) String() string { return awsutil.Prettify(s) } @@ -8021,52 +13767,30 @@ func (s CreateConfiguredTableAnalysisRuleOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConfiguredTableAnalysisRuleOutput) GoString() string { +func (s GetConfiguredAudienceModelAssociationOutput) GoString() string { return s.String() } -// SetAnalysisRule sets the AnalysisRule field's value. -func (s *CreateConfiguredTableAnalysisRuleOutput) SetAnalysisRule(v *ConfiguredTableAnalysisRule) *CreateConfiguredTableAnalysisRuleOutput { - s.AnalysisRule = v +// SetConfiguredAudienceModelAssociation sets the ConfiguredAudienceModelAssociation field's value. +func (s *GetConfiguredAudienceModelAssociationOutput) SetConfiguredAudienceModelAssociation(v *ConfiguredAudienceModelAssociation) *GetConfiguredAudienceModelAssociationOutput { + s.ConfiguredAudienceModelAssociation = v return s } -type CreateConfiguredTableAssociationInput struct { - _ struct{} `type:"structure"` - - // A unique identifier for the configured table to be associated to. Currently - // accepts a configured table ID. - // - // ConfiguredTableIdentifier is a required field - ConfiguredTableIdentifier *string `locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` - - // A description for the configured table association. - Description *string `locationName:"description" type:"string"` - - // A unique identifier for one of your memberships for a collaboration. The - // configured table is associated to the collaboration that this membership - // belongs to. Currently accepts a membership ID. - // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` +type GetConfiguredTableAnalysisRuleInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // The name of the configured table association. This name is used to query - // the underlying configured table. + // The analysis rule to be retrieved. Configured table analysis rules are uniquely + // identified by their configured table identifier and analysis rule type. // - // Name is a required field - Name *string `locationName:"name" type:"string" required:"true"` + // AnalysisRuleType is a required field + AnalysisRuleType *string `location:"uri" locationName:"analysisRuleType" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` - // The service will assume this role to access catalog metadata and query the - // table. + // The unique identifier for the configured table to retrieve. Currently accepts + // the configured table ID. // - // RoleArn is a required field - RoleArn *string `locationName:"roleArn" min:"32" type:"string" required:"true"` - - // An optional label that you can assign to a resource when you create it. Each - // tag consists of a key and an optional value, both of which you define. When - // you use tagging, you can also use tag-based access control in IAM policies - // to control access to this resource. - Tags map[string]*string `locationName:"tags" type:"map"` + // ConfiguredTableIdentifier is a required field + ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -8074,7 +13798,7 @@ type CreateConfiguredTableAssociationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConfiguredTableAssociationInput) String() string { +func (s GetConfiguredTableAnalysisRuleInput) String() string { return awsutil.Prettify(s) } @@ -8083,34 +13807,25 @@ func (s CreateConfiguredTableAssociationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConfiguredTableAssociationInput) GoString() string { +func (s GetConfiguredTableAnalysisRuleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateConfiguredTableAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredTableAssociationInput"} +func (s *GetConfiguredTableAnalysisRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConfiguredTableAnalysisRuleInput"} + if s.AnalysisRuleType == nil { + invalidParams.Add(request.NewErrParamRequired("AnalysisRuleType")) + } + if s.AnalysisRuleType != nil && len(*s.AnalysisRuleType) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AnalysisRuleType", 1)) + } if s.ConfiguredTableIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) } if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) } - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) - } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.RoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("RoleArn")) - } - if s.RoleArn != nil && len(*s.RoleArn) < 32 { - invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32)) - } if invalidParams.Len() > 0 { return invalidParams @@ -8118,49 +13833,25 @@ func (s *CreateConfiguredTableAssociationInput) Validate() error { return nil } -// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. -func (s *CreateConfiguredTableAssociationInput) SetConfiguredTableIdentifier(v string) *CreateConfiguredTableAssociationInput { - s.ConfiguredTableIdentifier = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreateConfiguredTableAssociationInput) SetDescription(v string) *CreateConfiguredTableAssociationInput { - s.Description = &v - return s -} - -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *CreateConfiguredTableAssociationInput) SetMembershipIdentifier(v string) *CreateConfiguredTableAssociationInput { - s.MembershipIdentifier = &v - return s -} - -// SetName sets the Name field's value. -func (s *CreateConfiguredTableAssociationInput) SetName(v string) *CreateConfiguredTableAssociationInput { - s.Name = &v - return s -} - -// SetRoleArn sets the RoleArn field's value. -func (s *CreateConfiguredTableAssociationInput) SetRoleArn(v string) *CreateConfiguredTableAssociationInput { - s.RoleArn = &v +// SetAnalysisRuleType sets the AnalysisRuleType field's value. +func (s *GetConfiguredTableAnalysisRuleInput) SetAnalysisRuleType(v string) *GetConfiguredTableAnalysisRuleInput { + s.AnalysisRuleType = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateConfiguredTableAssociationInput) SetTags(v map[string]*string) *CreateConfiguredTableAssociationInput { - s.Tags = v +// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. +func (s *GetConfiguredTableAnalysisRuleInput) SetConfiguredTableIdentifier(v string) *GetConfiguredTableAnalysisRuleInput { + s.ConfiguredTableIdentifier = &v return s } -type CreateConfiguredTableAssociationOutput struct { +type GetConfiguredTableAnalysisRuleOutput struct { _ struct{} `type:"structure"` - // The entire configured table association object. + // The entire analysis rule output. // - // ConfiguredTableAssociation is a required field - ConfiguredTableAssociation *ConfiguredTableAssociation `locationName:"configuredTableAssociation" type:"structure" required:"true"` + // AnalysisRule is a required field + AnalysisRule *ConfiguredTableAnalysisRule `locationName:"analysisRule" type:"structure" required:"true"` } // String returns the string representation. @@ -8168,7 +13859,7 @@ type CreateConfiguredTableAssociationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConfiguredTableAssociationOutput) String() string { +func (s GetConfiguredTableAnalysisRuleOutput) String() string { return awsutil.Prettify(s) } @@ -8177,49 +13868,30 @@ func (s CreateConfiguredTableAssociationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConfiguredTableAssociationOutput) GoString() string { +func (s GetConfiguredTableAnalysisRuleOutput) GoString() string { return s.String() } -// SetConfiguredTableAssociation sets the ConfiguredTableAssociation field's value. -func (s *CreateConfiguredTableAssociationOutput) SetConfiguredTableAssociation(v *ConfiguredTableAssociation) *CreateConfiguredTableAssociationOutput { - s.ConfiguredTableAssociation = v +// SetAnalysisRule sets the AnalysisRule field's value. +func (s *GetConfiguredTableAnalysisRuleOutput) SetAnalysisRule(v *ConfiguredTableAnalysisRule) *GetConfiguredTableAnalysisRuleOutput { + s.AnalysisRule = v return s } -type CreateConfiguredTableInput struct { - _ struct{} `type:"structure"` - - // The columns of the underlying table that can be used by collaborations or - // analysis rules. - // - // AllowedColumns is a required field - AllowedColumns []*string `locationName:"allowedColumns" min:"1" type:"list" required:"true"` - - // The analysis method for the configured tables. The only valid value is currently - // `DIRECT_QUERY`. - // - // AnalysisMethod is a required field - AnalysisMethod *string `locationName:"analysisMethod" type:"string" required:"true" enum:"AnalysisMethod"` - - // A description for the configured table. - Description *string `locationName:"description" type:"string"` - - // The name of the configured table. - // - // Name is a required field - Name *string `locationName:"name" min:"1" type:"string" required:"true"` +type GetConfiguredTableAssociationInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // A reference to the Glue table being configured. + // The unique ID for the configured table association to retrieve. Currently + // accepts the configured table ID. // - // TableReference is a required field - TableReference *TableReference `locationName:"tableReference" type:"structure" required:"true"` + // ConfiguredTableAssociationIdentifier is a required field + ConfiguredTableAssociationIdentifier *string `location:"uri" locationName:"configuredTableAssociationIdentifier" min:"36" type:"string" required:"true"` - // An optional label that you can assign to a resource when you create it. Each - // tag consists of a key and an optional value, both of which you define. When - // you use tagging, you can also use tag-based access control in IAM policies - // to control access to this resource. - Tags map[string]*string `locationName:"tags" type:"map"` + // A unique identifier for the membership that the configured table association + // belongs to. Currently accepts the membership ID. + // + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -8227,7 +13899,7 @@ type CreateConfiguredTableInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConfiguredTableInput) String() string { +func (s GetConfiguredTableAssociationInput) String() string { return awsutil.Prettify(s) } @@ -8236,35 +13908,24 @@ func (s CreateConfiguredTableInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConfiguredTableInput) GoString() string { +func (s GetConfiguredTableAssociationInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateConfiguredTableInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredTableInput"} - if s.AllowedColumns == nil { - invalidParams.Add(request.NewErrParamRequired("AllowedColumns")) - } - if s.AllowedColumns != nil && len(s.AllowedColumns) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AllowedColumns", 1)) - } - if s.AnalysisMethod == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisMethod")) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) +func (s *GetConfiguredTableAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConfiguredTableAssociationInput"} + if s.ConfiguredTableAssociationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredTableAssociationIdentifier")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.ConfiguredTableAssociationIdentifier != nil && len(*s.ConfiguredTableAssociationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableAssociationIdentifier", 36)) } - if s.TableReference == nil { - invalidParams.Add(request.NewErrParamRequired("TableReference")) + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } - if s.TableReference != nil { - if err := s.TableReference.Validate(); err != nil { - invalidParams.AddNested("TableReference", err.(request.ErrInvalidParams)) - } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -8273,49 +13934,25 @@ func (s *CreateConfiguredTableInput) Validate() error { return nil } -// SetAllowedColumns sets the AllowedColumns field's value. -func (s *CreateConfiguredTableInput) SetAllowedColumns(v []*string) *CreateConfiguredTableInput { - s.AllowedColumns = v - return s -} - -// SetAnalysisMethod sets the AnalysisMethod field's value. -func (s *CreateConfiguredTableInput) SetAnalysisMethod(v string) *CreateConfiguredTableInput { - s.AnalysisMethod = &v - return s -} - -// SetDescription sets the Description field's value. -func (s *CreateConfiguredTableInput) SetDescription(v string) *CreateConfiguredTableInput { - s.Description = &v - return s -} - -// SetName sets the Name field's value. -func (s *CreateConfiguredTableInput) SetName(v string) *CreateConfiguredTableInput { - s.Name = &v - return s -} - -// SetTableReference sets the TableReference field's value. -func (s *CreateConfiguredTableInput) SetTableReference(v *TableReference) *CreateConfiguredTableInput { - s.TableReference = v +// SetConfiguredTableAssociationIdentifier sets the ConfiguredTableAssociationIdentifier field's value. +func (s *GetConfiguredTableAssociationInput) SetConfiguredTableAssociationIdentifier(v string) *GetConfiguredTableAssociationInput { + s.ConfiguredTableAssociationIdentifier = &v return s } -// SetTags sets the Tags field's value. -func (s *CreateConfiguredTableInput) SetTags(v map[string]*string) *CreateConfiguredTableInput { - s.Tags = v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *GetConfiguredTableAssociationInput) SetMembershipIdentifier(v string) *GetConfiguredTableAssociationInput { + s.MembershipIdentifier = &v return s } -type CreateConfiguredTableOutput struct { +type GetConfiguredTableAssociationOutput struct { _ struct{} `type:"structure"` - // The created configured table. + // The entire configured table association object. // - // ConfiguredTable is a required field - ConfiguredTable *ConfiguredTable `locationName:"configuredTable" type:"structure" required:"true"` + // ConfiguredTableAssociation is a required field + ConfiguredTableAssociation *ConfiguredTableAssociation `locationName:"configuredTableAssociation" type:"structure" required:"true"` } // String returns the string representation. @@ -8323,7 +13960,7 @@ type CreateConfiguredTableOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConfiguredTableOutput) String() string { +func (s GetConfiguredTableAssociationOutput) String() string { return awsutil.Prettify(s) } @@ -8332,47 +13969,23 @@ func (s CreateConfiguredTableOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateConfiguredTableOutput) GoString() string { +func (s GetConfiguredTableAssociationOutput) GoString() string { return s.String() } -// SetConfiguredTable sets the ConfiguredTable field's value. -func (s *CreateConfiguredTableOutput) SetConfiguredTable(v *ConfiguredTable) *CreateConfiguredTableOutput { - s.ConfiguredTable = v +// SetConfiguredTableAssociation sets the ConfiguredTableAssociation field's value. +func (s *GetConfiguredTableAssociationOutput) SetConfiguredTableAssociation(v *ConfiguredTableAssociation) *GetConfiguredTableAssociationOutput { + s.ConfiguredTableAssociation = v return s } -type CreateMembershipInput struct { - _ struct{} `type:"structure"` - - // The unique ID for the associated collaboration. - // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - - // The default protected query result configuration as specified by the member - // who can receive results. - DefaultResultConfiguration *MembershipProtectedQueryResultConfiguration `locationName:"defaultResultConfiguration" type:"structure"` - - // The payment responsibilities accepted by the collaboration member. - // - // Not required if the collaboration member has the member ability to run queries. - // - // Required if the collaboration member doesn't have the member ability to run - // queries but is configured as a payer by the collaboration creator. - PaymentConfiguration *MembershipPaymentConfiguration `locationName:"paymentConfiguration" type:"structure"` +type GetConfiguredTableInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // An indicator as to whether query logging has been enabled or disabled for - // the membership. + // The unique ID for the configured table to retrieve. // - // QueryLogStatus is a required field - QueryLogStatus *string `locationName:"queryLogStatus" type:"string" required:"true" enum:"MembershipQueryLogStatus"` - - // An optional label that you can assign to a resource when you create it. Each - // tag consists of a key and an optional value, both of which you define. When - // you use tagging, you can also use tag-based access control in IAM policies - // to control access to this resource. - Tags map[string]*string `locationName:"tags" type:"map"` + // ConfiguredTableIdentifier is a required field + ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -8380,7 +13993,7 @@ type CreateMembershipInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateMembershipInput) String() string { +func (s GetConfiguredTableInput) String() string { return awsutil.Prettify(s) } @@ -8389,31 +14002,18 @@ func (s CreateMembershipInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateMembershipInput) GoString() string { +func (s GetConfiguredTableInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *CreateMembershipInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "CreateMembershipInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) - } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) - } - if s.QueryLogStatus == nil { - invalidParams.Add(request.NewErrParamRequired("QueryLogStatus")) - } - if s.DefaultResultConfiguration != nil { - if err := s.DefaultResultConfiguration.Validate(); err != nil { - invalidParams.AddNested("DefaultResultConfiguration", err.(request.ErrInvalidParams)) - } +func (s *GetConfiguredTableInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConfiguredTableInput"} + if s.ConfiguredTableIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) } - if s.PaymentConfiguration != nil { - if err := s.PaymentConfiguration.Validate(); err != nil { - invalidParams.AddNested("PaymentConfiguration", err.(request.ErrInvalidParams)) - } + if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -8422,43 +14022,19 @@ func (s *CreateMembershipInput) Validate() error { return nil } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *CreateMembershipInput) SetCollaborationIdentifier(v string) *CreateMembershipInput { - s.CollaborationIdentifier = &v - return s -} - -// SetDefaultResultConfiguration sets the DefaultResultConfiguration field's value. -func (s *CreateMembershipInput) SetDefaultResultConfiguration(v *MembershipProtectedQueryResultConfiguration) *CreateMembershipInput { - s.DefaultResultConfiguration = v - return s -} - -// SetPaymentConfiguration sets the PaymentConfiguration field's value. -func (s *CreateMembershipInput) SetPaymentConfiguration(v *MembershipPaymentConfiguration) *CreateMembershipInput { - s.PaymentConfiguration = v - return s -} - -// SetQueryLogStatus sets the QueryLogStatus field's value. -func (s *CreateMembershipInput) SetQueryLogStatus(v string) *CreateMembershipInput { - s.QueryLogStatus = &v - return s -} - -// SetTags sets the Tags field's value. -func (s *CreateMembershipInput) SetTags(v map[string]*string) *CreateMembershipInput { - s.Tags = v +// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. +func (s *GetConfiguredTableInput) SetConfiguredTableIdentifier(v string) *GetConfiguredTableInput { + s.ConfiguredTableIdentifier = &v return s } -type CreateMembershipOutput struct { +type GetConfiguredTableOutput struct { _ struct{} `type:"structure"` - // The membership that was created. + // The retrieved configured table. // - // Membership is a required field - Membership *Membership `locationName:"membership" type:"structure" required:"true"` + // ConfiguredTable is a required field + ConfiguredTable *ConfiguredTable `locationName:"configuredTable" type:"structure" required:"true"` } // String returns the string representation. @@ -8466,7 +14042,7 @@ type CreateMembershipOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateMembershipOutput) String() string { +func (s GetConfiguredTableOutput) String() string { return awsutil.Prettify(s) } @@ -8475,44 +14051,23 @@ func (s CreateMembershipOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s CreateMembershipOutput) GoString() string { +func (s GetConfiguredTableOutput) GoString() string { return s.String() } -// SetMembership sets the Membership field's value. -func (s *CreateMembershipOutput) SetMembership(v *Membership) *CreateMembershipOutput { - s.Membership = v +// SetConfiguredTable sets the ConfiguredTable field's value. +func (s *GetConfiguredTableOutput) SetConfiguredTable(v *ConfiguredTable) *GetConfiguredTableOutput { + s.ConfiguredTable = v return s } -// The settings for client-side encryption for cryptographic computing. -type DataEncryptionMetadata struct { - _ struct{} `type:"structure"` - - // Indicates whether encrypted tables can contain cleartext data (TRUE) or are - // to cryptographically process every column (FALSE). - // - // AllowCleartext is a required field - AllowCleartext *bool `locationName:"allowCleartext" type:"boolean" required:"true"` - - // Indicates whether Fingerprint columns can contain duplicate entries (TRUE) - // or are to contain only non-repeated values (FALSE). - // - // AllowDuplicates is a required field - AllowDuplicates *bool `locationName:"allowDuplicates" type:"boolean" required:"true"` - - // Indicates whether Fingerprint columns can be joined on any other Fingerprint - // column with a different name (TRUE) or can only be joined on Fingerprint - // columns of the same name (FALSE). - // - // AllowJoinsOnColumnsWithDifferentNames is a required field - AllowJoinsOnColumnsWithDifferentNames *bool `locationName:"allowJoinsOnColumnsWithDifferentNames" type:"boolean" required:"true"` +type GetMembershipInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // Indicates whether NULL values are to be copied as NULL to encrypted tables - // (TRUE) or cryptographically processed (FALSE). + // The identifier for a membership resource. // - // PreserveNulls is a required field - PreserveNulls *bool `locationName:"preserveNulls" type:"boolean" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -8520,7 +14075,7 @@ type DataEncryptionMetadata struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataEncryptionMetadata) String() string { +func (s GetMembershipInput) String() string { return awsutil.Prettify(s) } @@ -8529,24 +14084,18 @@ func (s DataEncryptionMetadata) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DataEncryptionMetadata) GoString() string { +func (s GetMembershipInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DataEncryptionMetadata) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DataEncryptionMetadata"} - if s.AllowCleartext == nil { - invalidParams.Add(request.NewErrParamRequired("AllowCleartext")) - } - if s.AllowDuplicates == nil { - invalidParams.Add(request.NewErrParamRequired("AllowDuplicates")) - } - if s.AllowJoinsOnColumnsWithDifferentNames == nil { - invalidParams.Add(request.NewErrParamRequired("AllowJoinsOnColumnsWithDifferentNames")) +func (s *GetMembershipInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetMembershipInput"} + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } - if s.PreserveNulls == nil { - invalidParams.Add(request.NewErrParamRequired("PreserveNulls")) + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -8555,42 +14104,59 @@ func (s *DataEncryptionMetadata) Validate() error { return nil } -// SetAllowCleartext sets the AllowCleartext field's value. -func (s *DataEncryptionMetadata) SetAllowCleartext(v bool) *DataEncryptionMetadata { - s.AllowCleartext = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *GetMembershipInput) SetMembershipIdentifier(v string) *GetMembershipInput { + s.MembershipIdentifier = &v return s } -// SetAllowDuplicates sets the AllowDuplicates field's value. -func (s *DataEncryptionMetadata) SetAllowDuplicates(v bool) *DataEncryptionMetadata { - s.AllowDuplicates = &v - return s +type GetMembershipOutput struct { + _ struct{} `type:"structure"` + + // The membership retrieved for the provided identifier. + // + // Membership is a required field + Membership *Membership `locationName:"membership" type:"structure" required:"true"` } -// SetAllowJoinsOnColumnsWithDifferentNames sets the AllowJoinsOnColumnsWithDifferentNames field's value. -func (s *DataEncryptionMetadata) SetAllowJoinsOnColumnsWithDifferentNames(v bool) *DataEncryptionMetadata { - s.AllowJoinsOnColumnsWithDifferentNames = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetMembershipOutput) String() string { + return awsutil.Prettify(s) } -// SetPreserveNulls sets the PreserveNulls field's value. -func (s *DataEncryptionMetadata) SetPreserveNulls(v bool) *DataEncryptionMetadata { - s.PreserveNulls = &v +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetMembershipOutput) GoString() string { + return s.String() +} + +// SetMembership sets the Membership field's value. +func (s *GetMembershipOutput) SetMembership(v *Membership) *GetMembershipOutput { + s.Membership = v return s } -type DeleteAnalysisTemplateInput struct { +type GetPrivacyBudgetTemplateInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier for the analysis template resource. - // - // AnalysisTemplateIdentifier is a required field - AnalysisTemplateIdentifier *string `location:"uri" locationName:"analysisTemplateIdentifier" min:"36" type:"string" required:"true"` - - // The identifier for a membership resource. + // A unique identifier for one of your memberships for a collaboration. The + // privacy budget template is retrieved from the collaboration that this membership + // belongs to. Accepts a membership ID. // // MembershipIdentifier is a required field MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + + // A unique identifier for your privacy budget template. + // + // PrivacyBudgetTemplateIdentifier is a required field + PrivacyBudgetTemplateIdentifier *string `location:"uri" locationName:"privacyBudgetTemplateIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -8598,7 +14164,7 @@ type DeleteAnalysisTemplateInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAnalysisTemplateInput) String() string { +func (s GetPrivacyBudgetTemplateInput) String() string { return awsutil.Prettify(s) } @@ -8607,25 +14173,25 @@ func (s DeleteAnalysisTemplateInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAnalysisTemplateInput) GoString() string { +func (s GetPrivacyBudgetTemplateInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteAnalysisTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteAnalysisTemplateInput"} - if s.AnalysisTemplateIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateIdentifier")) - } - if s.AnalysisTemplateIdentifier != nil && len(*s.AnalysisTemplateIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateIdentifier", 36)) - } +func (s *GetPrivacyBudgetTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetPrivacyBudgetTemplateInput"} if s.MembershipIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } + if s.PrivacyBudgetTemplateIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetTemplateIdentifier")) + } + if s.PrivacyBudgetTemplateIdentifier != nil && len(*s.PrivacyBudgetTemplateIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PrivacyBudgetTemplateIdentifier", 36)) + } if invalidParams.Len() > 0 { return invalidParams @@ -8633,20 +14199,25 @@ func (s *DeleteAnalysisTemplateInput) Validate() error { return nil } -// SetAnalysisTemplateIdentifier sets the AnalysisTemplateIdentifier field's value. -func (s *DeleteAnalysisTemplateInput) SetAnalysisTemplateIdentifier(v string) *DeleteAnalysisTemplateInput { - s.AnalysisTemplateIdentifier = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *GetPrivacyBudgetTemplateInput) SetMembershipIdentifier(v string) *GetPrivacyBudgetTemplateInput { + s.MembershipIdentifier = &v return s } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *DeleteAnalysisTemplateInput) SetMembershipIdentifier(v string) *DeleteAnalysisTemplateInput { - s.MembershipIdentifier = &v +// SetPrivacyBudgetTemplateIdentifier sets the PrivacyBudgetTemplateIdentifier field's value. +func (s *GetPrivacyBudgetTemplateInput) SetPrivacyBudgetTemplateIdentifier(v string) *GetPrivacyBudgetTemplateInput { + s.PrivacyBudgetTemplateIdentifier = &v return s } -type DeleteAnalysisTemplateOutput struct { +type GetPrivacyBudgetTemplateOutput struct { _ struct{} `type:"structure"` + + // Returns the details of the privacy budget template that you requested. + // + // PrivacyBudgetTemplate is a required field + PrivacyBudgetTemplate *PrivacyBudgetTemplate `locationName:"privacyBudgetTemplate" type:"structure" required:"true"` } // String returns the string representation. @@ -8654,7 +14225,7 @@ type DeleteAnalysisTemplateOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAnalysisTemplateOutput) String() string { +func (s GetPrivacyBudgetTemplateOutput) String() string { return awsutil.Prettify(s) } @@ -8663,17 +14234,28 @@ func (s DeleteAnalysisTemplateOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteAnalysisTemplateOutput) GoString() string { +func (s GetPrivacyBudgetTemplateOutput) GoString() string { return s.String() } -type DeleteCollaborationInput struct { +// SetPrivacyBudgetTemplate sets the PrivacyBudgetTemplate field's value. +func (s *GetPrivacyBudgetTemplateOutput) SetPrivacyBudgetTemplate(v *PrivacyBudgetTemplate) *GetPrivacyBudgetTemplateOutput { + s.PrivacyBudgetTemplate = v + return s +} + +type GetProtectedQueryInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier for the collaboration. + // The identifier for a membership in a protected query instance. // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + + // The identifier for a protected query instance. + // + // ProtectedQueryIdentifier is a required field + ProtectedQueryIdentifier *string `location:"uri" locationName:"protectedQueryIdentifier" min:"36" type:"string" required:"true"` } // String returns the string representation. @@ -8681,7 +14263,7 @@ type DeleteCollaborationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteCollaborationInput) String() string { +func (s GetProtectedQueryInput) String() string { return awsutil.Prettify(s) } @@ -8690,18 +14272,24 @@ func (s DeleteCollaborationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteCollaborationInput) GoString() string { +func (s GetProtectedQueryInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteCollaborationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteCollaborationInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) +func (s *GetProtectedQueryInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetProtectedQueryInput"} + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + if s.ProtectedQueryIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ProtectedQueryIdentifier")) + } + if s.ProtectedQueryIdentifier != nil && len(*s.ProtectedQueryIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ProtectedQueryIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -8710,14 +14298,25 @@ func (s *DeleteCollaborationInput) Validate() error { return nil } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *DeleteCollaborationInput) SetCollaborationIdentifier(v string) *DeleteCollaborationInput { - s.CollaborationIdentifier = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *GetProtectedQueryInput) SetMembershipIdentifier(v string) *GetProtectedQueryInput { + s.MembershipIdentifier = &v return s } -type DeleteCollaborationOutput struct { +// SetProtectedQueryIdentifier sets the ProtectedQueryIdentifier field's value. +func (s *GetProtectedQueryInput) SetProtectedQueryIdentifier(v string) *GetProtectedQueryInput { + s.ProtectedQueryIdentifier = &v + return s +} + +type GetProtectedQueryOutput struct { _ struct{} `type:"structure"` + + // The query processing metadata. + // + // ProtectedQuery is a required field + ProtectedQuery *ProtectedQuery `locationName:"protectedQuery" type:"structure" required:"true"` } // String returns the string representation. @@ -8725,7 +14324,7 @@ type DeleteCollaborationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteCollaborationOutput) String() string { +func (s GetProtectedQueryOutput) String() string { return awsutil.Prettify(s) } @@ -8734,25 +14333,36 @@ func (s DeleteCollaborationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteCollaborationOutput) GoString() string { +func (s GetProtectedQueryOutput) GoString() string { return s.String() } -type DeleteConfiguredTableAnalysisRuleInput struct { +// SetProtectedQuery sets the ProtectedQuery field's value. +func (s *GetProtectedQueryOutput) SetProtectedQuery(v *ProtectedQuery) *GetProtectedQueryOutput { + s.ProtectedQuery = v + return s +} + +type GetSchemaAnalysisRuleInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The analysis rule type to be deleted. Configured table analysis rules are - // uniquely identified by their configured table identifier and analysis rule - // type. + // A unique identifier for the collaboration that the schema belongs to. Currently + // accepts a collaboration ID. // - // AnalysisRuleType is a required field - AnalysisRuleType *string `location:"uri" locationName:"analysisRuleType" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - // The unique identifier for the configured table that the analysis rule applies - // to. Currently accepts the configured table ID. + // The name of the schema to retrieve the analysis rule for. // - // ConfiguredTableIdentifier is a required field - ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` + // Name is a required field + Name *string `location:"uri" locationName:"name" type:"string" required:"true"` + + // The type of the schema analysis rule to retrieve. Schema analysis rules are + // uniquely identified by a combination of the collaboration, the schema name, + // and their type. + // + // Type is a required field + Type *string `location:"uri" locationName:"type" type:"string" required:"true" enum:"AnalysisRuleType"` } // String returns the string representation. @@ -8760,7 +14370,7 @@ type DeleteConfiguredTableAnalysisRuleInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteConfiguredTableAnalysisRuleInput) String() string { +func (s GetSchemaAnalysisRuleInput) String() string { return awsutil.Prettify(s) } @@ -8769,24 +14379,30 @@ func (s DeleteConfiguredTableAnalysisRuleInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteConfiguredTableAnalysisRuleInput) GoString() string { +func (s GetSchemaAnalysisRuleInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteConfiguredTableAnalysisRuleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredTableAnalysisRuleInput"} - if s.AnalysisRuleType == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisRuleType")) +func (s *GetSchemaAnalysisRuleInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSchemaAnalysisRuleInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - if s.AnalysisRuleType != nil && len(*s.AnalysisRuleType) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AnalysisRuleType", 1)) + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } - if s.ConfiguredTableIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 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 { @@ -8795,21 +14411,31 @@ func (s *DeleteConfiguredTableAnalysisRuleInput) Validate() error { return nil } -// SetAnalysisRuleType sets the AnalysisRuleType field's value. -func (s *DeleteConfiguredTableAnalysisRuleInput) SetAnalysisRuleType(v string) *DeleteConfiguredTableAnalysisRuleInput { - s.AnalysisRuleType = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *GetSchemaAnalysisRuleInput) SetCollaborationIdentifier(v string) *GetSchemaAnalysisRuleInput { + s.CollaborationIdentifier = &v return s } -// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. -func (s *DeleteConfiguredTableAnalysisRuleInput) SetConfiguredTableIdentifier(v string) *DeleteConfiguredTableAnalysisRuleInput { - s.ConfiguredTableIdentifier = &v +// SetName sets the Name field's value. +func (s *GetSchemaAnalysisRuleInput) SetName(v string) *GetSchemaAnalysisRuleInput { + s.Name = &v return s } -// An empty response that indicates a successful delete. -type DeleteConfiguredTableAnalysisRuleOutput struct { +// SetType sets the Type field's value. +func (s *GetSchemaAnalysisRuleInput) SetType(v string) *GetSchemaAnalysisRuleInput { + s.Type = &v + return s +} + +type GetSchemaAnalysisRuleOutput struct { _ struct{} `type:"structure"` + + // A specification about how data from the configured table can be used. + // + // AnalysisRule is a required field + AnalysisRule *AnalysisRule `locationName:"analysisRule" type:"structure" required:"true"` } // String returns the string representation. @@ -8817,7 +14443,7 @@ type DeleteConfiguredTableAnalysisRuleOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteConfiguredTableAnalysisRuleOutput) String() string { +func (s GetSchemaAnalysisRuleOutput) String() string { return awsutil.Prettify(s) } @@ -8826,24 +14452,29 @@ func (s DeleteConfiguredTableAnalysisRuleOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteConfiguredTableAnalysisRuleOutput) GoString() string { +func (s GetSchemaAnalysisRuleOutput) GoString() string { return s.String() } -type DeleteConfiguredTableAssociationInput struct { +// SetAnalysisRule sets the AnalysisRule field's value. +func (s *GetSchemaAnalysisRuleOutput) SetAnalysisRule(v *AnalysisRule) *GetSchemaAnalysisRuleOutput { + s.AnalysisRule = v + return s +} + +type GetSchemaInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The unique ID for the configured table association to be deleted. Currently - // accepts the configured table ID. + // A unique identifier for the collaboration that the schema belongs to. Currently + // accepts a collaboration ID. // - // ConfiguredTableAssociationIdentifier is a required field - ConfiguredTableAssociationIdentifier *string `location:"uri" locationName:"configuredTableAssociationIdentifier" min:"36" type:"string" required:"true"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - // A unique identifier for the membership that the configured table association - // belongs to. Currently accepts the membership ID. + // The name of the relation to retrieve the schema for. // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // Name is a required field + Name *string `location:"uri" locationName:"name" type:"string" required:"true"` } // String returns the string representation. @@ -8851,7 +14482,7 @@ type DeleteConfiguredTableAssociationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteConfiguredTableAssociationInput) String() string { +func (s GetSchemaInput) String() string { return awsutil.Prettify(s) } @@ -8860,24 +14491,24 @@ func (s DeleteConfiguredTableAssociationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteConfiguredTableAssociationInput) GoString() string { +func (s GetSchemaInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteConfiguredTableAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredTableAssociationInput"} - if s.ConfiguredTableAssociationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredTableAssociationIdentifier")) +func (s *GetSchemaInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetSchemaInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - if s.ConfiguredTableAssociationIdentifier != nil && len(*s.ConfiguredTableAssociationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableAssociationIdentifier", 36)) + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) } if invalidParams.Len() > 0 { @@ -8886,20 +14517,25 @@ func (s *DeleteConfiguredTableAssociationInput) Validate() error { return nil } -// SetConfiguredTableAssociationIdentifier sets the ConfiguredTableAssociationIdentifier field's value. -func (s *DeleteConfiguredTableAssociationInput) SetConfiguredTableAssociationIdentifier(v string) *DeleteConfiguredTableAssociationInput { - s.ConfiguredTableAssociationIdentifier = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *GetSchemaInput) SetCollaborationIdentifier(v string) *GetSchemaInput { + s.CollaborationIdentifier = &v return s } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *DeleteConfiguredTableAssociationInput) SetMembershipIdentifier(v string) *DeleteConfiguredTableAssociationInput { - s.MembershipIdentifier = &v +// SetName sets the Name field's value. +func (s *GetSchemaInput) SetName(v string) *GetSchemaInput { + s.Name = &v return s } -type DeleteConfiguredTableAssociationOutput struct { +type GetSchemaOutput struct { _ struct{} `type:"structure"` + + // The entire schema object. + // + // Schema is a required field + Schema *Schema `locationName:"schema" type:"structure" required:"true"` } // String returns the string representation. @@ -8907,7 +14543,7 @@ type DeleteConfiguredTableAssociationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteConfiguredTableAssociationOutput) String() string { +func (s GetSchemaOutput) String() string { return awsutil.Prettify(s) } @@ -8916,17 +14552,29 @@ func (s DeleteConfiguredTableAssociationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteConfiguredTableAssociationOutput) GoString() string { +func (s GetSchemaOutput) GoString() string { return s.String() } -type DeleteConfiguredTableInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetSchema sets the Schema field's value. +func (s *GetSchemaOutput) SetSchema(v *Schema) *GetSchemaOutput { + s.Schema = v + return s +} - // The unique ID for the configured table to delete. +// A reference to a table within an Glue data catalog. +type GlueTableReference struct { + _ struct{} `type:"structure"` + + // The name of the database the Glue table belongs to. // - // ConfiguredTableIdentifier is a required field - ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` + // DatabaseName is a required field + DatabaseName *string `locationName:"databaseName" type:"string" required:"true"` + + // The name of the Glue table. + // + // TableName is a required field + TableName *string `locationName:"tableName" type:"string" required:"true"` } // String returns the string representation. @@ -8934,7 +14582,7 @@ type DeleteConfiguredTableInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteConfiguredTableInput) String() string { +func (s GlueTableReference) String() string { return awsutil.Prettify(s) } @@ -8943,18 +14591,18 @@ func (s DeleteConfiguredTableInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteConfiguredTableInput) GoString() string { +func (s GlueTableReference) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteConfiguredTableInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredTableInput"} - if s.ConfiguredTableIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) +func (s *GlueTableReference) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GlueTableReference"} + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) } - if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) } if invalidParams.Len() > 0 { @@ -8963,15 +14611,24 @@ func (s *DeleteConfiguredTableInput) Validate() error { return nil } -// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. -func (s *DeleteConfiguredTableInput) SetConfiguredTableIdentifier(v string) *DeleteConfiguredTableInput { - s.ConfiguredTableIdentifier = &v +// SetDatabaseName sets the DatabaseName field's value. +func (s *GlueTableReference) SetDatabaseName(v string) *GlueTableReference { + s.DatabaseName = &v return s } -// The empty output for a successful deletion. -type DeleteConfiguredTableOutput struct { - _ struct{} `type:"structure"` +// SetTableName sets the TableName field's value. +func (s *GlueTableReference) SetTableName(v string) *GlueTableReference { + s.TableName = &v + return s +} + +// Unexpected error during processing of request. +type InternalServerException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` } // String returns the string representation. @@ -8979,7 +14636,7 @@ type DeleteConfiguredTableOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteConfiguredTableOutput) String() string { +func (s InternalServerException) String() string { return awsutil.Prettify(s) } @@ -8988,22 +14645,62 @@ func (s DeleteConfiguredTableOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteConfiguredTableOutput) GoString() string { +func (s InternalServerException) GoString() string { return s.String() } -type DeleteMemberInput struct { +func newErrorInternalServerException(v protocol.ResponseMetadata) error { + return &InternalServerException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *InternalServerException) Code() string { + return "InternalServerException" +} + +// Message returns the exception's message. +func (s *InternalServerException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *InternalServerException) OrigErr() error { + return nil +} + +func (s *InternalServerException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *InternalServerException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *InternalServerException) RequestID() string { + return s.RespMetadata.RequestID +} + +type ListAnalysisTemplatesInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The account ID of the member to remove. - // - // AccountId is a required field - AccountId *string `location:"uri" locationName:"accountId" min:"12" type:"string" required:"true"` + // The maximum size of the results that is returned per call. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The unique identifier for the associated collaboration. + // The identifier for a membership resource. // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9011,7 +14708,7 @@ type DeleteMemberInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteMemberInput) String() string { +func (s ListAnalysisTemplatesInput) String() string { return awsutil.Prettify(s) } @@ -9020,24 +14717,21 @@ func (s DeleteMemberInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteMemberInput) GoString() string { +func (s ListAnalysisTemplatesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteMemberInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteMemberInput"} - if s.AccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AccountId")) - } - if s.AccountId != nil && len(*s.AccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) +func (s *ListAnalysisTemplatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAnalysisTemplatesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -9046,20 +14740,35 @@ func (s *DeleteMemberInput) Validate() error { return nil } -// SetAccountId sets the AccountId field's value. -func (s *DeleteMemberInput) SetAccountId(v string) *DeleteMemberInput { - s.AccountId = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListAnalysisTemplatesInput) SetMaxResults(v int64) *ListAnalysisTemplatesInput { + s.MaxResults = &v return s } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *DeleteMemberInput) SetCollaborationIdentifier(v string) *DeleteMemberInput { - s.CollaborationIdentifier = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *ListAnalysisTemplatesInput) SetMembershipIdentifier(v string) *ListAnalysisTemplatesInput { + s.MembershipIdentifier = &v return s } -type DeleteMemberOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListAnalysisTemplatesInput) SetNextToken(v string) *ListAnalysisTemplatesInput { + s.NextToken = &v + return s +} + +type ListAnalysisTemplatesOutput struct { _ struct{} `type:"structure"` + + // Lists analysis template metadata. + // + // AnalysisTemplateSummaries is a required field + AnalysisTemplateSummaries []*AnalysisTemplateSummary `locationName:"analysisTemplateSummaries" type:"list" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9067,7 +14776,7 @@ type DeleteMemberOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteMemberOutput) String() string { +func (s ListAnalysisTemplatesOutput) String() string { return awsutil.Prettify(s) } @@ -9076,17 +14785,37 @@ func (s DeleteMemberOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteMemberOutput) GoString() string { +func (s ListAnalysisTemplatesOutput) GoString() string { return s.String() } -type DeleteMembershipInput struct { +// SetAnalysisTemplateSummaries sets the AnalysisTemplateSummaries field's value. +func (s *ListAnalysisTemplatesOutput) SetAnalysisTemplateSummaries(v []*AnalysisTemplateSummary) *ListAnalysisTemplatesOutput { + s.AnalysisTemplateSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAnalysisTemplatesOutput) SetNextToken(v string) *ListAnalysisTemplatesOutput { + s.NextToken = &v + return s +} + +type ListCollaborationAnalysisTemplatesInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier for a membership resource. + // A unique identifier for the collaboration that the analysis templates belong + // to. Currently accepts collaboration ID. // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + + // The maximum size of the results that is returned per call. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9094,7 +14823,7 @@ type DeleteMembershipInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteMembershipInput) String() string { +func (s ListCollaborationAnalysisTemplatesInput) String() string { return awsutil.Prettify(s) } @@ -9103,18 +14832,21 @@ func (s DeleteMembershipInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteMembershipInput) GoString() string { +func (s ListCollaborationAnalysisTemplatesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DeleteMembershipInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DeleteMembershipInput"} - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) +func (s *ListCollaborationAnalysisTemplatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCollaborationAnalysisTemplatesInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -9123,14 +14855,35 @@ func (s *DeleteMembershipInput) Validate() error { return nil } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *DeleteMembershipInput) SetMembershipIdentifier(v string) *DeleteMembershipInput { - s.MembershipIdentifier = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *ListCollaborationAnalysisTemplatesInput) SetCollaborationIdentifier(v string) *ListCollaborationAnalysisTemplatesInput { + s.CollaborationIdentifier = &v return s } -type DeleteMembershipOutput struct { +// SetMaxResults sets the MaxResults field's value. +func (s *ListCollaborationAnalysisTemplatesInput) SetMaxResults(v int64) *ListCollaborationAnalysisTemplatesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCollaborationAnalysisTemplatesInput) SetNextToken(v string) *ListCollaborationAnalysisTemplatesInput { + s.NextToken = &v + return s +} + +type ListCollaborationAnalysisTemplatesOutput struct { _ struct{} `type:"structure"` + + // The metadata of the analysis template within a collaboration. + // + // CollaborationAnalysisTemplateSummaries is a required field + CollaborationAnalysisTemplateSummaries []*CollaborationAnalysisTemplateSummary `locationName:"collaborationAnalysisTemplateSummaries" type:"list" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9138,7 +14891,7 @@ type DeleteMembershipOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteMembershipOutput) String() string { +func (s ListCollaborationAnalysisTemplatesOutput) String() string { return awsutil.Prettify(s) } @@ -9147,22 +14900,37 @@ func (s DeleteMembershipOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DeleteMembershipOutput) GoString() string { +func (s ListCollaborationAnalysisTemplatesOutput) GoString() string { return s.String() } -type GetAnalysisTemplateInput struct { +// SetCollaborationAnalysisTemplateSummaries sets the CollaborationAnalysisTemplateSummaries field's value. +func (s *ListCollaborationAnalysisTemplatesOutput) SetCollaborationAnalysisTemplateSummaries(v []*CollaborationAnalysisTemplateSummary) *ListCollaborationAnalysisTemplatesOutput { + s.CollaborationAnalysisTemplateSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCollaborationAnalysisTemplatesOutput) SetNextToken(v string) *ListCollaborationAnalysisTemplatesOutput { + s.NextToken = &v + return s +} + +type ListCollaborationConfiguredAudienceModelAssociationsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier for the analysis template resource. + // A unique identifier for the collaboration that the configured audience model + // association belongs to. Accepts a collaboration ID. // - // AnalysisTemplateIdentifier is a required field - AnalysisTemplateIdentifier *string `location:"uri" locationName:"analysisTemplateIdentifier" min:"36" type:"string" required:"true"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - // The identifier for a membership resource. - // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // The maximum size of the results that is returned per call. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9170,7 +14938,7 @@ type GetAnalysisTemplateInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetAnalysisTemplateInput) String() string { +func (s ListCollaborationConfiguredAudienceModelAssociationsInput) String() string { return awsutil.Prettify(s) } @@ -9179,24 +14947,21 @@ func (s GetAnalysisTemplateInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetAnalysisTemplateInput) GoString() string { +func (s ListCollaborationConfiguredAudienceModelAssociationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetAnalysisTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetAnalysisTemplateInput"} - if s.AnalysisTemplateIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateIdentifier")) - } - if s.AnalysisTemplateIdentifier != nil && len(*s.AnalysisTemplateIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateIdentifier", 36)) +func (s *ListCollaborationConfiguredAudienceModelAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCollaborationConfiguredAudienceModelAssociationsInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -9205,25 +14970,35 @@ func (s *GetAnalysisTemplateInput) Validate() error { return nil } -// SetAnalysisTemplateIdentifier sets the AnalysisTemplateIdentifier field's value. -func (s *GetAnalysisTemplateInput) SetAnalysisTemplateIdentifier(v string) *GetAnalysisTemplateInput { - s.AnalysisTemplateIdentifier = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *ListCollaborationConfiguredAudienceModelAssociationsInput) SetCollaborationIdentifier(v string) *ListCollaborationConfiguredAudienceModelAssociationsInput { + s.CollaborationIdentifier = &v return s } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *GetAnalysisTemplateInput) SetMembershipIdentifier(v string) *GetAnalysisTemplateInput { - s.MembershipIdentifier = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListCollaborationConfiguredAudienceModelAssociationsInput) SetMaxResults(v int64) *ListCollaborationConfiguredAudienceModelAssociationsInput { + s.MaxResults = &v return s } -type GetAnalysisTemplateOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListCollaborationConfiguredAudienceModelAssociationsInput) SetNextToken(v string) *ListCollaborationConfiguredAudienceModelAssociationsInput { + s.NextToken = &v + return s +} + +type ListCollaborationConfiguredAudienceModelAssociationsOutput struct { _ struct{} `type:"structure"` - // The analysis template. + // The metadata of the configured audience model association within a collaboration. // - // AnalysisTemplate is a required field - AnalysisTemplate *AnalysisTemplate `locationName:"analysisTemplate" type:"structure" required:"true"` + // CollaborationConfiguredAudienceModelAssociationSummaries is a required field + CollaborationConfiguredAudienceModelAssociationSummaries []*CollaborationConfiguredAudienceModelAssociationSummary `locationName:"collaborationConfiguredAudienceModelAssociationSummaries" type:"list" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9231,7 +15006,7 @@ type GetAnalysisTemplateOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetAnalysisTemplateOutput) String() string { +func (s ListCollaborationConfiguredAudienceModelAssociationsOutput) String() string { return awsutil.Prettify(s) } @@ -9240,30 +15015,38 @@ func (s GetAnalysisTemplateOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetAnalysisTemplateOutput) GoString() string { +func (s ListCollaborationConfiguredAudienceModelAssociationsOutput) GoString() string { return s.String() } -// SetAnalysisTemplate sets the AnalysisTemplate field's value. -func (s *GetAnalysisTemplateOutput) SetAnalysisTemplate(v *AnalysisTemplate) *GetAnalysisTemplateOutput { - s.AnalysisTemplate = v +// SetCollaborationConfiguredAudienceModelAssociationSummaries sets the CollaborationConfiguredAudienceModelAssociationSummaries field's value. +func (s *ListCollaborationConfiguredAudienceModelAssociationsOutput) SetCollaborationConfiguredAudienceModelAssociationSummaries(v []*CollaborationConfiguredAudienceModelAssociationSummary) *ListCollaborationConfiguredAudienceModelAssociationsOutput { + s.CollaborationConfiguredAudienceModelAssociationSummaries = v return s } -type GetCollaborationAnalysisTemplateInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetNextToken sets the NextToken field's value. +func (s *ListCollaborationConfiguredAudienceModelAssociationsOutput) SetNextToken(v string) *ListCollaborationConfiguredAudienceModelAssociationsOutput { + s.NextToken = &v + return s +} - // The Amazon Resource Name (ARN) associated with the analysis template within - // a collaboration. - // - // AnalysisTemplateArn is a required field - AnalysisTemplateArn *string `location:"uri" locationName:"analysisTemplateArn" type:"string" required:"true"` +type ListCollaborationPrivacyBudgetTemplatesInput struct { + _ struct{} `type:"structure" nopayload:"true"` - // A unique identifier for the collaboration that the analysis templates belong - // to. Currently accepts collaboration ID. + // A unique identifier for one of your collaborations. // // CollaborationIdentifier is a required field CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + + // The maximum size of the results that is returned per call. Service chooses + // a default if it has not been set. Service may return a nextToken even if + // the maximum results has not been met. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9271,7 +15054,7 @@ type GetCollaborationAnalysisTemplateInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCollaborationAnalysisTemplateInput) String() string { +func (s ListCollaborationPrivacyBudgetTemplatesInput) String() string { return awsutil.Prettify(s) } @@ -9280,25 +15063,22 @@ func (s GetCollaborationAnalysisTemplateInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCollaborationAnalysisTemplateInput) GoString() string { +func (s ListCollaborationPrivacyBudgetTemplatesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCollaborationAnalysisTemplateInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCollaborationAnalysisTemplateInput"} - if s.AnalysisTemplateArn == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisTemplateArn")) - } - if s.AnalysisTemplateArn != nil && len(*s.AnalysisTemplateArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AnalysisTemplateArn", 1)) - } +func (s *ListCollaborationPrivacyBudgetTemplatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCollaborationPrivacyBudgetTemplatesInput"} if s.CollaborationIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -9306,25 +15086,37 @@ func (s *GetCollaborationAnalysisTemplateInput) Validate() error { return nil } -// SetAnalysisTemplateArn sets the AnalysisTemplateArn field's value. -func (s *GetCollaborationAnalysisTemplateInput) SetAnalysisTemplateArn(v string) *GetCollaborationAnalysisTemplateInput { - s.AnalysisTemplateArn = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *ListCollaborationPrivacyBudgetTemplatesInput) SetCollaborationIdentifier(v string) *ListCollaborationPrivacyBudgetTemplatesInput { + s.CollaborationIdentifier = &v return s } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *GetCollaborationAnalysisTemplateInput) SetCollaborationIdentifier(v string) *GetCollaborationAnalysisTemplateInput { - s.CollaborationIdentifier = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListCollaborationPrivacyBudgetTemplatesInput) SetMaxResults(v int64) *ListCollaborationPrivacyBudgetTemplatesInput { + s.MaxResults = &v return s } -type GetCollaborationAnalysisTemplateOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListCollaborationPrivacyBudgetTemplatesInput) SetNextToken(v string) *ListCollaborationPrivacyBudgetTemplatesInput { + s.NextToken = &v + return s +} + +type ListCollaborationPrivacyBudgetTemplatesOutput struct { _ struct{} `type:"structure"` - // The analysis template within a collaboration. + // An array that summarizes the collaboration privacy budget templates. The + // summary includes collaboration information, creation information, the privacy + // budget type. // - // CollaborationAnalysisTemplate is a required field - CollaborationAnalysisTemplate *CollaborationAnalysisTemplate `locationName:"collaborationAnalysisTemplate" type:"structure" required:"true"` + // CollaborationPrivacyBudgetTemplateSummaries is a required field + CollaborationPrivacyBudgetTemplateSummaries []*CollaborationPrivacyBudgetTemplateSummary `locationName:"collaborationPrivacyBudgetTemplateSummaries" type:"list" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9332,7 +15124,7 @@ type GetCollaborationAnalysisTemplateOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCollaborationAnalysisTemplateOutput) String() string { +func (s ListCollaborationPrivacyBudgetTemplatesOutput) String() string { return awsutil.Prettify(s) } @@ -9341,23 +15133,43 @@ func (s GetCollaborationAnalysisTemplateOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCollaborationAnalysisTemplateOutput) GoString() string { +func (s ListCollaborationPrivacyBudgetTemplatesOutput) GoString() string { return s.String() } -// SetCollaborationAnalysisTemplate sets the CollaborationAnalysisTemplate field's value. -func (s *GetCollaborationAnalysisTemplateOutput) SetCollaborationAnalysisTemplate(v *CollaborationAnalysisTemplate) *GetCollaborationAnalysisTemplateOutput { - s.CollaborationAnalysisTemplate = v +// SetCollaborationPrivacyBudgetTemplateSummaries sets the CollaborationPrivacyBudgetTemplateSummaries field's value. +func (s *ListCollaborationPrivacyBudgetTemplatesOutput) SetCollaborationPrivacyBudgetTemplateSummaries(v []*CollaborationPrivacyBudgetTemplateSummary) *ListCollaborationPrivacyBudgetTemplatesOutput { + s.CollaborationPrivacyBudgetTemplateSummaries = v return s } -type GetCollaborationInput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListCollaborationPrivacyBudgetTemplatesOutput) SetNextToken(v string) *ListCollaborationPrivacyBudgetTemplatesOutput { + s.NextToken = &v + return s +} + +type ListCollaborationPrivacyBudgetsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier for the collaboration. + // A unique identifier for one of your collaborations. // // CollaborationIdentifier is a required field CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + + // The maximum size of the results that is returned per call. Service chooses + // a default if it has not been set. Service may return a nextToken even if + // the maximum results has not been met. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // Specifies the type of the privacy budget. + // + // PrivacyBudgetType is a required field + PrivacyBudgetType *string `location:"querystring" locationName:"privacyBudgetType" type:"string" required:"true" enum:"PrivacyBudgetType"` } // String returns the string representation. @@ -9365,7 +15177,7 @@ type GetCollaborationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCollaborationInput) String() string { +func (s ListCollaborationPrivacyBudgetsInput) String() string { return awsutil.Prettify(s) } @@ -9374,19 +15186,25 @@ func (s GetCollaborationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCollaborationInput) GoString() string { +func (s ListCollaborationPrivacyBudgetsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCollaborationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCollaborationInput"} +func (s *ListCollaborationPrivacyBudgetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCollaborationPrivacyBudgetsInput"} if s.CollaborationIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + if s.PrivacyBudgetType == nil { + invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetType")) + } if invalidParams.Len() > 0 { return invalidParams @@ -9395,18 +15213,40 @@ func (s *GetCollaborationInput) Validate() error { } // SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *GetCollaborationInput) SetCollaborationIdentifier(v string) *GetCollaborationInput { +func (s *ListCollaborationPrivacyBudgetsInput) SetCollaborationIdentifier(v string) *ListCollaborationPrivacyBudgetsInput { s.CollaborationIdentifier = &v return s } -type GetCollaborationOutput struct { +// SetMaxResults sets the MaxResults field's value. +func (s *ListCollaborationPrivacyBudgetsInput) SetMaxResults(v int64) *ListCollaborationPrivacyBudgetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListCollaborationPrivacyBudgetsInput) SetNextToken(v string) *ListCollaborationPrivacyBudgetsInput { + s.NextToken = &v + return s +} + +// SetPrivacyBudgetType sets the PrivacyBudgetType field's value. +func (s *ListCollaborationPrivacyBudgetsInput) SetPrivacyBudgetType(v string) *ListCollaborationPrivacyBudgetsInput { + s.PrivacyBudgetType = &v + return s +} + +type ListCollaborationPrivacyBudgetsOutput struct { _ struct{} `type:"structure"` - // The entire collaboration for this identifier. + // Summaries of the collaboration privacy budgets. // - // Collaboration is a required field - Collaboration *Collaboration `locationName:"collaboration" type:"structure" required:"true"` + // CollaborationPrivacyBudgetSummaries is a required field + CollaborationPrivacyBudgetSummaries []*CollaborationPrivacyBudgetSummary `locationName:"collaborationPrivacyBudgetSummaries" type:"list" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9414,7 +15254,7 @@ type GetCollaborationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCollaborationOutput) String() string { +func (s ListCollaborationPrivacyBudgetsOutput) String() string { return awsutil.Prettify(s) } @@ -9423,30 +15263,36 @@ func (s GetCollaborationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCollaborationOutput) GoString() string { +func (s ListCollaborationPrivacyBudgetsOutput) GoString() string { return s.String() } -// SetCollaboration sets the Collaboration field's value. -func (s *GetCollaborationOutput) SetCollaboration(v *Collaboration) *GetCollaborationOutput { - s.Collaboration = v +// SetCollaborationPrivacyBudgetSummaries sets the CollaborationPrivacyBudgetSummaries field's value. +func (s *ListCollaborationPrivacyBudgetsOutput) SetCollaborationPrivacyBudgetSummaries(v []*CollaborationPrivacyBudgetSummary) *ListCollaborationPrivacyBudgetsOutput { + s.CollaborationPrivacyBudgetSummaries = v return s } -type GetConfiguredTableAnalysisRuleInput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListCollaborationPrivacyBudgetsOutput) SetNextToken(v string) *ListCollaborationPrivacyBudgetsOutput { + s.NextToken = &v + return s +} + +type ListCollaborationsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The analysis rule to be retrieved. Configured table analysis rules are uniquely - // identified by their configured table identifier and analysis rule type. - // - // AnalysisRuleType is a required field - AnalysisRuleType *string `location:"uri" locationName:"analysisRuleType" type:"string" required:"true" enum:"ConfiguredTableAnalysisRuleType"` + // The maximum size of the results that is returned per call. Service chooses + // a default if it has not been set. Service may return a nextToken even if + // the maximum results has not been met. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The unique identifier for the configured table to retrieve. Currently accepts - // the configured table ID. - // - // ConfiguredTableIdentifier is a required field - ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` + // The caller's status in a collaboration. + MemberStatus *string `location:"querystring" locationName:"memberStatus" type:"string" enum:"FilterableMemberStatus"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9454,7 +15300,7 @@ type GetConfiguredTableAnalysisRuleInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfiguredTableAnalysisRuleInput) String() string { +func (s ListCollaborationsInput) String() string { return awsutil.Prettify(s) } @@ -9463,24 +15309,15 @@ func (s GetConfiguredTableAnalysisRuleInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfiguredTableAnalysisRuleInput) GoString() string { +func (s ListCollaborationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetConfiguredTableAnalysisRuleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetConfiguredTableAnalysisRuleInput"} - if s.AnalysisRuleType == nil { - invalidParams.Add(request.NewErrParamRequired("AnalysisRuleType")) - } - if s.AnalysisRuleType != nil && len(*s.AnalysisRuleType) < 1 { - invalidParams.Add(request.NewErrParamMinLen("AnalysisRuleType", 1)) - } - if s.ConfiguredTableIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) - } - if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) +func (s *ListCollaborationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListCollaborationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -9489,25 +15326,35 @@ func (s *GetConfiguredTableAnalysisRuleInput) Validate() error { return nil } -// SetAnalysisRuleType sets the AnalysisRuleType field's value. -func (s *GetConfiguredTableAnalysisRuleInput) SetAnalysisRuleType(v string) *GetConfiguredTableAnalysisRuleInput { - s.AnalysisRuleType = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListCollaborationsInput) SetMaxResults(v int64) *ListCollaborationsInput { + s.MaxResults = &v return s } -// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. -func (s *GetConfiguredTableAnalysisRuleInput) SetConfiguredTableIdentifier(v string) *GetConfiguredTableAnalysisRuleInput { - s.ConfiguredTableIdentifier = &v +// SetMemberStatus sets the MemberStatus field's value. +func (s *ListCollaborationsInput) SetMemberStatus(v string) *ListCollaborationsInput { + s.MemberStatus = &v return s } -type GetConfiguredTableAnalysisRuleOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListCollaborationsInput) SetNextToken(v string) *ListCollaborationsInput { + s.NextToken = &v + return s +} + +type ListCollaborationsOutput struct { _ struct{} `type:"structure"` - // The entire analysis rule output. + // The list of collaborations. // - // AnalysisRule is a required field - AnalysisRule *ConfiguredTableAnalysisRule `locationName:"analysisRule" type:"structure" required:"true"` + // CollaborationList is a required field + CollaborationList []*CollaborationSummary `locationName:"collaborationList" type:"list" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9515,7 +15362,7 @@ type GetConfiguredTableAnalysisRuleOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfiguredTableAnalysisRuleOutput) String() string { +func (s ListCollaborationsOutput) String() string { return awsutil.Prettify(s) } @@ -9524,30 +15371,39 @@ func (s GetConfiguredTableAnalysisRuleOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfiguredTableAnalysisRuleOutput) GoString() string { +func (s ListCollaborationsOutput) GoString() string { return s.String() } -// SetAnalysisRule sets the AnalysisRule field's value. -func (s *GetConfiguredTableAnalysisRuleOutput) SetAnalysisRule(v *ConfiguredTableAnalysisRule) *GetConfiguredTableAnalysisRuleOutput { - s.AnalysisRule = v +// SetCollaborationList sets the CollaborationList field's value. +func (s *ListCollaborationsOutput) SetCollaborationList(v []*CollaborationSummary) *ListCollaborationsOutput { + s.CollaborationList = v return s } -type GetConfiguredTableAssociationInput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListCollaborationsOutput) SetNextToken(v string) *ListCollaborationsOutput { + s.NextToken = &v + return s +} + +type ListConfiguredAudienceModelAssociationsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The unique ID for the configured table association to retrieve. Currently - // accepts the configured table ID. - // - // ConfiguredTableAssociationIdentifier is a required field - ConfiguredTableAssociationIdentifier *string `location:"uri" locationName:"configuredTableAssociationIdentifier" min:"36" type:"string" required:"true"` + // The maximum size of the results that is returned per call. Service chooses + // a default if it has not been set. Service may return a nextToken even if + // the maximum results has not been met. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // A unique identifier for the membership that the configured table association - // belongs to. Currently accepts the membership ID. + // A unique identifier for a membership that contains the configured audience + // model associations that you want to retrieve. // // MembershipIdentifier is a required field MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9555,7 +15411,7 @@ type GetConfiguredTableAssociationInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfiguredTableAssociationInput) String() string { +func (s ListConfiguredAudienceModelAssociationsInput) String() string { return awsutil.Prettify(s) } @@ -9564,18 +15420,15 @@ func (s GetConfiguredTableAssociationInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfiguredTableAssociationInput) GoString() string { +func (s ListConfiguredAudienceModelAssociationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetConfiguredTableAssociationInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetConfiguredTableAssociationInput"} - if s.ConfiguredTableAssociationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredTableAssociationIdentifier")) - } - if s.ConfiguredTableAssociationIdentifier != nil && len(*s.ConfiguredTableAssociationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableAssociationIdentifier", 36)) +func (s *ListConfiguredAudienceModelAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListConfiguredAudienceModelAssociationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if s.MembershipIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) @@ -9590,25 +15443,34 @@ func (s *GetConfiguredTableAssociationInput) Validate() error { return nil } -// SetConfiguredTableAssociationIdentifier sets the ConfiguredTableAssociationIdentifier field's value. -func (s *GetConfiguredTableAssociationInput) SetConfiguredTableAssociationIdentifier(v string) *GetConfiguredTableAssociationInput { - s.ConfiguredTableAssociationIdentifier = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListConfiguredAudienceModelAssociationsInput) SetMaxResults(v int64) *ListConfiguredAudienceModelAssociationsInput { + s.MaxResults = &v return s } // SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *GetConfiguredTableAssociationInput) SetMembershipIdentifier(v string) *GetConfiguredTableAssociationInput { +func (s *ListConfiguredAudienceModelAssociationsInput) SetMembershipIdentifier(v string) *ListConfiguredAudienceModelAssociationsInput { s.MembershipIdentifier = &v return s } -type GetConfiguredTableAssociationOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListConfiguredAudienceModelAssociationsInput) SetNextToken(v string) *ListConfiguredAudienceModelAssociationsInput { + s.NextToken = &v + return s +} + +type ListConfiguredAudienceModelAssociationsOutput struct { _ struct{} `type:"structure"` - // The entire configured table association object. + // Summaries of the configured audience model associations that you requested. // - // ConfiguredTableAssociation is a required field - ConfiguredTableAssociation *ConfiguredTableAssociation `locationName:"configuredTableAssociation" type:"structure" required:"true"` + // ConfiguredAudienceModelAssociationSummaries is a required field + ConfiguredAudienceModelAssociationSummaries []*ConfiguredAudienceModelAssociationSummary `locationName:"configuredAudienceModelAssociationSummaries" type:"list" required:"true"` + + // The token value provided to access the next page of results. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9616,7 +15478,7 @@ type GetConfiguredTableAssociationOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfiguredTableAssociationOutput) String() string { +func (s ListConfiguredAudienceModelAssociationsOutput) String() string { return awsutil.Prettify(s) } @@ -9625,23 +15487,37 @@ func (s GetConfiguredTableAssociationOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfiguredTableAssociationOutput) GoString() string { +func (s ListConfiguredAudienceModelAssociationsOutput) GoString() string { return s.String() } -// SetConfiguredTableAssociation sets the ConfiguredTableAssociation field's value. -func (s *GetConfiguredTableAssociationOutput) SetConfiguredTableAssociation(v *ConfiguredTableAssociation) *GetConfiguredTableAssociationOutput { - s.ConfiguredTableAssociation = v +// SetConfiguredAudienceModelAssociationSummaries sets the ConfiguredAudienceModelAssociationSummaries field's value. +func (s *ListConfiguredAudienceModelAssociationsOutput) SetConfiguredAudienceModelAssociationSummaries(v []*ConfiguredAudienceModelAssociationSummary) *ListConfiguredAudienceModelAssociationsOutput { + s.ConfiguredAudienceModelAssociationSummaries = v return s } -type GetConfiguredTableInput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListConfiguredAudienceModelAssociationsOutput) SetNextToken(v string) *ListConfiguredAudienceModelAssociationsOutput { + s.NextToken = &v + return s +} + +type ListConfiguredTableAssociationsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The unique ID for the configured table to retrieve. + // The maximum size of the results that is returned per call. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // A unique identifier for the membership to list configured table associations + // for. Currently accepts the membership ID. // - // ConfiguredTableIdentifier is a required field - ConfiguredTableIdentifier *string `location:"uri" locationName:"configuredTableIdentifier" min:"36" type:"string" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9649,7 +15525,7 @@ type GetConfiguredTableInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfiguredTableInput) String() string { +func (s ListConfiguredTableAssociationsInput) String() string { return awsutil.Prettify(s) } @@ -9658,18 +15534,21 @@ func (s GetConfiguredTableInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfiguredTableInput) GoString() string { +func (s ListConfiguredTableAssociationsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetConfiguredTableInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetConfiguredTableInput"} - if s.ConfiguredTableIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ConfiguredTableIdentifier")) +func (s *ListConfiguredTableAssociationsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListConfiguredTableAssociationsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.ConfiguredTableIdentifier != nil && len(*s.ConfiguredTableIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ConfiguredTableIdentifier", 36)) + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -9678,19 +15557,35 @@ func (s *GetConfiguredTableInput) Validate() error { return nil } -// SetConfiguredTableIdentifier sets the ConfiguredTableIdentifier field's value. -func (s *GetConfiguredTableInput) SetConfiguredTableIdentifier(v string) *GetConfiguredTableInput { - s.ConfiguredTableIdentifier = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListConfiguredTableAssociationsInput) SetMaxResults(v int64) *ListConfiguredTableAssociationsInput { + s.MaxResults = &v return s } -type GetConfiguredTableOutput struct { +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *ListConfiguredTableAssociationsInput) SetMembershipIdentifier(v string) *ListConfiguredTableAssociationsInput { + s.MembershipIdentifier = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListConfiguredTableAssociationsInput) SetNextToken(v string) *ListConfiguredTableAssociationsInput { + s.NextToken = &v + return s +} + +type ListConfiguredTableAssociationsOutput struct { _ struct{} `type:"structure"` - // The retrieved configured table. + // The retrieved list of configured table associations. // - // ConfiguredTable is a required field - ConfiguredTable *ConfiguredTable `locationName:"configuredTable" type:"structure" required:"true"` + // ConfiguredTableAssociationSummaries is a required field + ConfiguredTableAssociationSummaries []*ConfiguredTableAssociationSummary `locationName:"configuredTableAssociationSummaries" type:"list" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9698,7 +15593,7 @@ type GetConfiguredTableOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfiguredTableOutput) String() string { +func (s ListConfiguredTableAssociationsOutput) String() string { return awsutil.Prettify(s) } @@ -9707,23 +15602,31 @@ func (s GetConfiguredTableOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetConfiguredTableOutput) GoString() string { +func (s ListConfiguredTableAssociationsOutput) GoString() string { return s.String() } -// SetConfiguredTable sets the ConfiguredTable field's value. -func (s *GetConfiguredTableOutput) SetConfiguredTable(v *ConfiguredTable) *GetConfiguredTableOutput { - s.ConfiguredTable = v +// SetConfiguredTableAssociationSummaries sets the ConfiguredTableAssociationSummaries field's value. +func (s *ListConfiguredTableAssociationsOutput) SetConfiguredTableAssociationSummaries(v []*ConfiguredTableAssociationSummary) *ListConfiguredTableAssociationsOutput { + s.ConfiguredTableAssociationSummaries = v return s } -type GetMembershipInput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListConfiguredTableAssociationsOutput) SetNextToken(v string) *ListConfiguredTableAssociationsOutput { + s.NextToken = &v + return s +} + +type ListConfiguredTablesInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier for a membership resource. - // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // The maximum size of the results that is returned per call. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9731,7 +15634,7 @@ type GetMembershipInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetMembershipInput) String() string { +func (s ListConfiguredTablesInput) String() string { return awsutil.Prettify(s) } @@ -9740,18 +15643,15 @@ func (s GetMembershipInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetMembershipInput) GoString() string { +func (s ListConfiguredTablesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetMembershipInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetMembershipInput"} - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) - } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) +func (s *ListConfiguredTablesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListConfiguredTablesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -9760,19 +15660,29 @@ func (s *GetMembershipInput) Validate() error { return nil } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *GetMembershipInput) SetMembershipIdentifier(v string) *GetMembershipInput { - s.MembershipIdentifier = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListConfiguredTablesInput) SetMaxResults(v int64) *ListConfiguredTablesInput { + s.MaxResults = &v return s } -type GetMembershipOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListConfiguredTablesInput) SetNextToken(v string) *ListConfiguredTablesInput { + s.NextToken = &v + return s +} + +type ListConfiguredTablesOutput struct { _ struct{} `type:"structure"` - // The membership retrieved for the provided identifier. + // The configured tables listed by the request. // - // Membership is a required field - Membership *Membership `locationName:"membership" type:"structure" required:"true"` + // ConfiguredTableSummaries is a required field + ConfiguredTableSummaries []*ConfiguredTableSummary `locationName:"configuredTableSummaries" type:"list" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9780,7 +15690,7 @@ type GetMembershipOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetMembershipOutput) String() string { +func (s ListConfiguredTablesOutput) String() string { return awsutil.Prettify(s) } @@ -9789,28 +15699,36 @@ func (s GetMembershipOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetMembershipOutput) GoString() string { +func (s ListConfiguredTablesOutput) GoString() string { return s.String() } -// SetMembership sets the Membership field's value. -func (s *GetMembershipOutput) SetMembership(v *Membership) *GetMembershipOutput { - s.Membership = v +// SetConfiguredTableSummaries sets the ConfiguredTableSummaries field's value. +func (s *ListConfiguredTablesOutput) SetConfiguredTableSummaries(v []*ConfiguredTableSummary) *ListConfiguredTablesOutput { + s.ConfiguredTableSummaries = v return s } -type GetProtectedQueryInput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListConfiguredTablesOutput) SetNextToken(v string) *ListConfiguredTablesOutput { + s.NextToken = &v + return s +} + +type ListMembersInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The identifier for a membership in a protected query instance. + // The identifier of the collaboration in which the members are listed. // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // CollaborationIdentifier is a required field + CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` - // The identifier for a protected query instance. - // - // ProtectedQueryIdentifier is a required field - ProtectedQueryIdentifier *string `location:"uri" locationName:"protectedQueryIdentifier" min:"36" type:"string" required:"true"` + // The maximum size of the results that is returned per call. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9818,7 +15736,7 @@ type GetProtectedQueryInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetProtectedQueryInput) String() string { +func (s ListMembersInput) String() string { return awsutil.Prettify(s) } @@ -9827,24 +15745,21 @@ func (s GetProtectedQueryInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetProtectedQueryInput) GoString() string { +func (s ListMembersInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetProtectedQueryInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetProtectedQueryInput"} - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) - } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) +func (s *ListMembersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"} + if s.CollaborationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } - if s.ProtectedQueryIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("ProtectedQueryIdentifier")) + if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) } - if s.ProtectedQueryIdentifier != nil && len(*s.ProtectedQueryIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("ProtectedQueryIdentifier", 36)) + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -9853,25 +15768,35 @@ func (s *GetProtectedQueryInput) Validate() error { return nil } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *GetProtectedQueryInput) SetMembershipIdentifier(v string) *GetProtectedQueryInput { - s.MembershipIdentifier = &v +// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. +func (s *ListMembersInput) SetCollaborationIdentifier(v string) *ListMembersInput { + s.CollaborationIdentifier = &v return s } -// SetProtectedQueryIdentifier sets the ProtectedQueryIdentifier field's value. -func (s *GetProtectedQueryInput) SetProtectedQueryIdentifier(v string) *GetProtectedQueryInput { - s.ProtectedQueryIdentifier = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput { + s.MaxResults = &v return s } -type GetProtectedQueryOutput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput { + s.NextToken = &v + return s +} + +type ListMembersOutput struct { _ struct{} `type:"structure"` - // The query processing metadata. + // The list of members returned by the ListMembers operation. // - // ProtectedQuery is a required field - ProtectedQuery *ProtectedQuery `locationName:"protectedQuery" type:"structure" required:"true"` + // MemberSummaries is a required field + MemberSummaries []*MemberSummary `locationName:"memberSummaries" type:"list" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9879,7 +15804,7 @@ type GetProtectedQueryOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetProtectedQueryOutput) String() string { +func (s ListMembersOutput) String() string { return awsutil.Prettify(s) } @@ -9888,36 +15813,34 @@ func (s GetProtectedQueryOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetProtectedQueryOutput) GoString() string { +func (s ListMembersOutput) GoString() string { return s.String() } -// SetProtectedQuery sets the ProtectedQuery field's value. -func (s *GetProtectedQueryOutput) SetProtectedQuery(v *ProtectedQuery) *GetProtectedQueryOutput { - s.ProtectedQuery = v +// SetMemberSummaries sets the MemberSummaries field's value. +func (s *ListMembersOutput) SetMemberSummaries(v []*MemberSummary) *ListMembersOutput { + s.MemberSummaries = v return s } -type GetSchemaAnalysisRuleInput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput { + s.NextToken = &v + return s +} + +type ListMembershipsInput struct { _ struct{} `type:"structure" nopayload:"true"` - // A unique identifier for the collaboration that the schema belongs to. Currently - // accepts a collaboration ID. - // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // The maximum size of the results that is returned per call. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The name of the schema to retrieve the analysis rule for. - // - // Name is a required field - Name *string `location:"uri" locationName:"name" type:"string" required:"true"` + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` - // The type of the schema analysis rule to retrieve. Schema analysis rules are - // uniquely identified by a combination of the collaboration, the schema name, - // and their type. - // - // Type is a required field - Type *string `location:"uri" locationName:"type" type:"string" required:"true" enum:"AnalysisRuleType"` + // A filter which will return only memberships in the specified status. + Status *string `location:"querystring" locationName:"status" type:"string" enum:"MembershipStatus"` } // String returns the string representation. @@ -9925,7 +15848,7 @@ type GetSchemaAnalysisRuleInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSchemaAnalysisRuleInput) String() string { +func (s ListMembershipsInput) String() string { return awsutil.Prettify(s) } @@ -9934,30 +15857,15 @@ func (s GetSchemaAnalysisRuleInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSchemaAnalysisRuleInput) GoString() string { +func (s ListMembershipsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetSchemaAnalysisRuleInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSchemaAnalysisRuleInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) - } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) - } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) - } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) - } - if s.Type == nil { - invalidParams.Add(request.NewErrParamRequired("Type")) - } - if s.Type != nil && len(*s.Type) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Type", 1)) +func (s *ListMembershipsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMembershipsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } if invalidParams.Len() > 0 { @@ -9966,31 +15874,35 @@ func (s *GetSchemaAnalysisRuleInput) Validate() error { return nil } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *GetSchemaAnalysisRuleInput) SetCollaborationIdentifier(v string) *GetSchemaAnalysisRuleInput { - s.CollaborationIdentifier = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListMembershipsInput) SetMaxResults(v int64) *ListMembershipsInput { + s.MaxResults = &v return s } -// SetName sets the Name field's value. -func (s *GetSchemaAnalysisRuleInput) SetName(v string) *GetSchemaAnalysisRuleInput { - s.Name = &v +// SetNextToken sets the NextToken field's value. +func (s *ListMembershipsInput) SetNextToken(v string) *ListMembershipsInput { + s.NextToken = &v return s } -// SetType sets the Type field's value. -func (s *GetSchemaAnalysisRuleInput) SetType(v string) *GetSchemaAnalysisRuleInput { - s.Type = &v +// SetStatus sets the Status field's value. +func (s *ListMembershipsInput) SetStatus(v string) *ListMembershipsInput { + s.Status = &v return s } -type GetSchemaAnalysisRuleOutput struct { +type ListMembershipsOutput struct { _ struct{} `type:"structure"` - // A specification about how data from the configured table can be used. + // The list of memberships returned from the ListMemberships operation. // - // AnalysisRule is a required field - AnalysisRule *AnalysisRule `locationName:"analysisRule" type:"structure" required:"true"` + // MembershipSummaries is a required field + MembershipSummaries []*MembershipSummary `locationName:"membershipSummaries" type:"list" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -9998,7 +15910,7 @@ type GetSchemaAnalysisRuleOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSchemaAnalysisRuleOutput) String() string { +func (s ListMembershipsOutput) String() string { return awsutil.Prettify(s) } @@ -10007,29 +15919,40 @@ func (s GetSchemaAnalysisRuleOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSchemaAnalysisRuleOutput) GoString() string { +func (s ListMembershipsOutput) GoString() string { return s.String() } -// SetAnalysisRule sets the AnalysisRule field's value. -func (s *GetSchemaAnalysisRuleOutput) SetAnalysisRule(v *AnalysisRule) *GetSchemaAnalysisRuleOutput { - s.AnalysisRule = v +// SetMembershipSummaries sets the MembershipSummaries field's value. +func (s *ListMembershipsOutput) SetMembershipSummaries(v []*MembershipSummary) *ListMembershipsOutput { + s.MembershipSummaries = v return s } -type GetSchemaInput struct { +// SetNextToken sets the NextToken field's value. +func (s *ListMembershipsOutput) SetNextToken(v string) *ListMembershipsOutput { + s.NextToken = &v + return s +} + +type ListPrivacyBudgetTemplatesInput struct { _ struct{} `type:"structure" nopayload:"true"` - // A unique identifier for the collaboration that the schema belongs to. Currently - // accepts a collaboration ID. - // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // The maximum size of the results that is returned per call. Service chooses + // a default if it has not been set. Service may return a nextToken even if + // the maximum results has not been met. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The name of the relation to retrieve the schema for. + // A unique identifier for one of your memberships for a collaboration. The + // privacy budget templates are retrieved from the collaboration that this membership + // belongs to. Accepts a membership ID. // - // Name is a required field - Name *string `location:"uri" locationName:"name" type:"string" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` } // String returns the string representation. @@ -10037,7 +15960,7 @@ type GetSchemaInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSchemaInput) String() string { +func (s ListPrivacyBudgetTemplatesInput) String() string { return awsutil.Prettify(s) } @@ -10046,24 +15969,21 @@ func (s GetSchemaInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSchemaInput) GoString() string { +func (s ListPrivacyBudgetTemplatesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetSchemaInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetSchemaInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) - } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) +func (s *ListPrivacyBudgetTemplatesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPrivacyBudgetTemplatesInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.Name == nil { - invalidParams.Add(request.NewErrParamRequired("Name")) + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } - if s.Name != nil && len(*s.Name) < 1 { - invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } if invalidParams.Len() > 0 { @@ -10072,25 +15992,36 @@ func (s *GetSchemaInput) Validate() error { return nil } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *GetSchemaInput) SetCollaborationIdentifier(v string) *GetSchemaInput { - s.CollaborationIdentifier = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListPrivacyBudgetTemplatesInput) SetMaxResults(v int64) *ListPrivacyBudgetTemplatesInput { + s.MaxResults = &v return s } -// SetName sets the Name field's value. -func (s *GetSchemaInput) SetName(v string) *GetSchemaInput { - s.Name = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *ListPrivacyBudgetTemplatesInput) SetMembershipIdentifier(v string) *ListPrivacyBudgetTemplatesInput { + s.MembershipIdentifier = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListPrivacyBudgetTemplatesInput) SetNextToken(v string) *ListPrivacyBudgetTemplatesInput { + s.NextToken = &v return s } -type GetSchemaOutput struct { +type ListPrivacyBudgetTemplatesOutput struct { _ struct{} `type:"structure"` - // The entire schema object. + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" type:"string"` + + // An array that summarizes the privacy budget templates. The summary includes + // collaboration information, creation information, and privacy budget type. // - // Schema is a required field - Schema *Schema `locationName:"schema" type:"structure" required:"true"` + // PrivacyBudgetTemplateSummaries is a required field + PrivacyBudgetTemplateSummaries []*PrivacyBudgetTemplateSummary `locationName:"privacyBudgetTemplateSummaries" type:"list" required:"true"` } // String returns the string representation. @@ -10098,7 +16029,7 @@ type GetSchemaOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSchemaOutput) String() string { +func (s ListPrivacyBudgetTemplatesOutput) String() string { return awsutil.Prettify(s) } @@ -10107,29 +16038,45 @@ func (s GetSchemaOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetSchemaOutput) GoString() string { +func (s ListPrivacyBudgetTemplatesOutput) GoString() string { return s.String() } -// SetSchema sets the Schema field's value. -func (s *GetSchemaOutput) SetSchema(v *Schema) *GetSchemaOutput { - s.Schema = v +// SetNextToken sets the NextToken field's value. +func (s *ListPrivacyBudgetTemplatesOutput) SetNextToken(v string) *ListPrivacyBudgetTemplatesOutput { + s.NextToken = &v return s } -// A reference to a table within an Glue data catalog. -type GlueTableReference struct { - _ struct{} `type:"structure"` +// SetPrivacyBudgetTemplateSummaries sets the PrivacyBudgetTemplateSummaries field's value. +func (s *ListPrivacyBudgetTemplatesOutput) SetPrivacyBudgetTemplateSummaries(v []*PrivacyBudgetTemplateSummary) *ListPrivacyBudgetTemplatesOutput { + s.PrivacyBudgetTemplateSummaries = v + return s +} - // The name of the database the Glue table belongs to. +type ListPrivacyBudgetsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum size of the results that is returned per call. Service chooses + // a default if it has not been set. Service may return a nextToken even if + // the maximum results has not been met. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // A unique identifier for one of your memberships for a collaboration. The + // privacy budget is retrieved from the collaboration that this membership belongs + // to. Accepts a membership ID. // - // DatabaseName is a required field - DatabaseName *string `locationName:"databaseName" type:"string" required:"true"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // The name of the Glue table. + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // The privacy budget type. // - // TableName is a required field - TableName *string `locationName:"tableName" type:"string" required:"true"` + // PrivacyBudgetType is a required field + PrivacyBudgetType *string `location:"querystring" locationName:"privacyBudgetType" type:"string" required:"true" enum:"PrivacyBudgetType"` } // String returns the string representation. @@ -10137,7 +16084,7 @@ type GlueTableReference struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GlueTableReference) String() string { +func (s ListPrivacyBudgetsInput) String() string { return awsutil.Prettify(s) } @@ -10146,18 +16093,24 @@ func (s GlueTableReference) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GlueTableReference) GoString() string { +func (s ListPrivacyBudgetsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GlueTableReference) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GlueTableReference"} - if s.DatabaseName == nil { - invalidParams.Add(request.NewErrParamRequired("DatabaseName")) +func (s *ListPrivacyBudgetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListPrivacyBudgetsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } - if s.TableName == nil { - invalidParams.Add(request.NewErrParamRequired("TableName")) + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + if s.PrivacyBudgetType == nil { + invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetType")) } if invalidParams.Len() > 0 { @@ -10166,24 +16119,43 @@ func (s *GlueTableReference) Validate() error { return nil } -// SetDatabaseName sets the DatabaseName field's value. -func (s *GlueTableReference) SetDatabaseName(v string) *GlueTableReference { - s.DatabaseName = &v +// SetMaxResults sets the MaxResults field's value. +func (s *ListPrivacyBudgetsInput) SetMaxResults(v int64) *ListPrivacyBudgetsInput { + s.MaxResults = &v return s } -// SetTableName sets the TableName field's value. -func (s *GlueTableReference) SetTableName(v string) *GlueTableReference { - s.TableName = &v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *ListPrivacyBudgetsInput) SetMembershipIdentifier(v string) *ListPrivacyBudgetsInput { + s.MembershipIdentifier = &v return s } -// Unexpected error during processing of request. -type InternalServerException struct { - _ struct{} `type:"structure"` - RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` +// SetNextToken sets the NextToken field's value. +func (s *ListPrivacyBudgetsInput) SetNextToken(v string) *ListPrivacyBudgetsInput { + s.NextToken = &v + return s +} - Message_ *string `locationName:"message" type:"string"` +// SetPrivacyBudgetType sets the PrivacyBudgetType field's value. +func (s *ListPrivacyBudgetsInput) SetPrivacyBudgetType(v string) *ListPrivacyBudgetsInput { + s.PrivacyBudgetType = &v + return s +} + +type ListPrivacyBudgetsOutput struct { + _ struct{} `type:"structure"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" type:"string"` + + // An array that summarizes the privacy budgets. The summary includes collaboration + // information, membership information, privacy budget template information, + // and privacy budget details. + // + // PrivacyBudgetSummaries is a required field + PrivacyBudgetSummaries []*PrivacyBudgetSummary `locationName:"privacyBudgetSummaries" type:"list" required:"true"` } // String returns the string representation. @@ -10191,7 +16163,7 @@ type InternalServerException struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InternalServerException) String() string { +func (s ListPrivacyBudgetsOutput) String() string { return awsutil.Prettify(s) } @@ -10200,55 +16172,31 @@ func (s InternalServerException) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s InternalServerException) GoString() string { +func (s ListPrivacyBudgetsOutput) GoString() string { return s.String() } -func newErrorInternalServerException(v protocol.ResponseMetadata) error { - return &InternalServerException{ - RespMetadata: v, - } -} - -// Code returns the exception type name. -func (s *InternalServerException) Code() string { - return "InternalServerException" -} - -// Message returns the exception's message. -func (s *InternalServerException) Message() string { - if s.Message_ != nil { - return *s.Message_ - } - return "" -} - -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *InternalServerException) OrigErr() error { - return nil -} - -func (s *InternalServerException) Error() string { - return fmt.Sprintf("%s: %s", s.Code(), s.Message()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *InternalServerException) StatusCode() int { - return s.RespMetadata.StatusCode +// SetNextToken sets the NextToken field's value. +func (s *ListPrivacyBudgetsOutput) SetNextToken(v string) *ListPrivacyBudgetsOutput { + s.NextToken = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *InternalServerException) RequestID() string { - return s.RespMetadata.RequestID +// SetPrivacyBudgetSummaries sets the PrivacyBudgetSummaries field's value. +func (s *ListPrivacyBudgetsOutput) SetPrivacyBudgetSummaries(v []*PrivacyBudgetSummary) *ListPrivacyBudgetsOutput { + s.PrivacyBudgetSummaries = v + return s } -type ListAnalysisTemplatesInput struct { +type ListProtectedQueriesInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The maximum size of the results that is returned per call. + // The maximum size of the results that is returned per call. Service chooses + // a default if it has not been set. Service can return a nextToken even if + // the maximum results has not been met. MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - // The identifier for a membership resource. + // The identifier for the membership in the collaboration. // // MembershipIdentifier is a required field MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` @@ -10256,6 +16204,9 @@ type ListAnalysisTemplatesInput struct { // The token value retrieved from a previous call to access the next page of // results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // A filter on the status of the protected query. + Status *string `location:"querystring" locationName:"status" type:"string" enum:"ProtectedQueryStatus"` } // String returns the string representation. @@ -10263,7 +16214,7 @@ type ListAnalysisTemplatesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAnalysisTemplatesInput) String() string { +func (s ListProtectedQueriesInput) String() string { return awsutil.Prettify(s) } @@ -10272,13 +16223,13 @@ func (s ListAnalysisTemplatesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAnalysisTemplatesInput) GoString() string { +func (s ListProtectedQueriesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListAnalysisTemplatesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListAnalysisTemplatesInput"} +func (s *ListProtectedQueriesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListProtectedQueriesInput"} if s.MaxResults != nil && *s.MaxResults < 1 { invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) } @@ -10296,34 +16247,40 @@ func (s *ListAnalysisTemplatesInput) Validate() error { } // SetMaxResults sets the MaxResults field's value. -func (s *ListAnalysisTemplatesInput) SetMaxResults(v int64) *ListAnalysisTemplatesInput { +func (s *ListProtectedQueriesInput) SetMaxResults(v int64) *ListProtectedQueriesInput { s.MaxResults = &v return s } // SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *ListAnalysisTemplatesInput) SetMembershipIdentifier(v string) *ListAnalysisTemplatesInput { +func (s *ListProtectedQueriesInput) SetMembershipIdentifier(v string) *ListProtectedQueriesInput { s.MembershipIdentifier = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListAnalysisTemplatesInput) SetNextToken(v string) *ListAnalysisTemplatesInput { +func (s *ListProtectedQueriesInput) SetNextToken(v string) *ListProtectedQueriesInput { s.NextToken = &v return s } -type ListAnalysisTemplatesOutput struct { - _ struct{} `type:"structure"` +// SetStatus sets the Status field's value. +func (s *ListProtectedQueriesInput) SetStatus(v string) *ListProtectedQueriesInput { + s.Status = &v + return s +} - // Lists analysis template metadata. - // - // AnalysisTemplateSummaries is a required field - AnalysisTemplateSummaries []*AnalysisTemplateSummary `locationName:"analysisTemplateSummaries" type:"list" required:"true"` +type ListProtectedQueriesOutput struct { + _ struct{} `type:"structure"` // The token value retrieved from a previous call to access the next page of // results. NextToken *string `locationName:"nextToken" type:"string"` + + // A list of protected queries. + // + // ProtectedQueries is a required field + ProtectedQueries []*ProtectedQuerySummary `locationName:"protectedQueries" type:"list" required:"true"` } // String returns the string representation. @@ -10331,7 +16288,7 @@ type ListAnalysisTemplatesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAnalysisTemplatesOutput) String() string { +func (s ListProtectedQueriesOutput) String() string { return awsutil.Prettify(s) } @@ -10340,27 +16297,27 @@ func (s ListAnalysisTemplatesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListAnalysisTemplatesOutput) GoString() string { +func (s ListProtectedQueriesOutput) GoString() string { return s.String() } -// SetAnalysisTemplateSummaries sets the AnalysisTemplateSummaries field's value. -func (s *ListAnalysisTemplatesOutput) SetAnalysisTemplateSummaries(v []*AnalysisTemplateSummary) *ListAnalysisTemplatesOutput { - s.AnalysisTemplateSummaries = v +// SetNextToken sets the NextToken field's value. +func (s *ListProtectedQueriesOutput) SetNextToken(v string) *ListProtectedQueriesOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListAnalysisTemplatesOutput) SetNextToken(v string) *ListAnalysisTemplatesOutput { - s.NextToken = &v +// SetProtectedQueries sets the ProtectedQueries field's value. +func (s *ListProtectedQueriesOutput) SetProtectedQueries(v []*ProtectedQuerySummary) *ListProtectedQueriesOutput { + s.ProtectedQueries = v return s } -type ListCollaborationAnalysisTemplatesInput struct { +type ListSchemasInput struct { _ struct{} `type:"structure" nopayload:"true"` - // A unique identifier for the collaboration that the analysis templates belong - // to. Currently accepts collaboration ID. + // A unique identifier for the collaboration that the schema belongs to. Currently + // accepts a collaboration ID. // // CollaborationIdentifier is a required field CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` @@ -10371,6 +16328,10 @@ type ListCollaborationAnalysisTemplatesInput struct { // The token value retrieved from a previous call to access the next page of // results. NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + + // If present, filter schemas by schema type. The only valid schema type is + // currently `TABLE`. + SchemaType *string `location:"querystring" locationName:"schemaType" type:"string" enum:"SchemaType"` } // String returns the string representation. @@ -10378,7 +16339,7 @@ type ListCollaborationAnalysisTemplatesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCollaborationAnalysisTemplatesInput) String() string { +func (s ListSchemasInput) String() string { return awsutil.Prettify(s) } @@ -10387,13 +16348,13 @@ func (s ListCollaborationAnalysisTemplatesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCollaborationAnalysisTemplatesInput) GoString() string { +func (s ListSchemasInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListCollaborationAnalysisTemplatesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListCollaborationAnalysisTemplatesInput"} +func (s *ListSchemasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListSchemasInput"} if s.CollaborationIdentifier == nil { invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) } @@ -10411,34 +16372,40 @@ func (s *ListCollaborationAnalysisTemplatesInput) Validate() error { } // SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *ListCollaborationAnalysisTemplatesInput) SetCollaborationIdentifier(v string) *ListCollaborationAnalysisTemplatesInput { +func (s *ListSchemasInput) SetCollaborationIdentifier(v string) *ListSchemasInput { s.CollaborationIdentifier = &v return s } // SetMaxResults sets the MaxResults field's value. -func (s *ListCollaborationAnalysisTemplatesInput) SetMaxResults(v int64) *ListCollaborationAnalysisTemplatesInput { +func (s *ListSchemasInput) SetMaxResults(v int64) *ListSchemasInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListCollaborationAnalysisTemplatesInput) SetNextToken(v string) *ListCollaborationAnalysisTemplatesInput { +func (s *ListSchemasInput) SetNextToken(v string) *ListSchemasInput { s.NextToken = &v return s } -type ListCollaborationAnalysisTemplatesOutput struct { - _ struct{} `type:"structure"` +// SetSchemaType sets the SchemaType field's value. +func (s *ListSchemasInput) SetSchemaType(v string) *ListSchemasInput { + s.SchemaType = &v + return s +} - // The metadata of the analysis template within a collaboration. - // - // CollaborationAnalysisTemplateSummaries is a required field - CollaborationAnalysisTemplateSummaries []*CollaborationAnalysisTemplateSummary `locationName:"collaborationAnalysisTemplateSummaries" type:"list" required:"true"` +type ListSchemasOutput struct { + _ struct{} `type:"structure"` // The token value retrieved from a previous call to access the next page of // results. NextToken *string `locationName:"nextToken" type:"string"` + + // The retrieved list of schemas. + // + // SchemaSummaries is a required field + SchemaSummaries []*SchemaSummary `locationName:"schemaSummaries" type:"list" required:"true"` } // String returns the string representation. @@ -10446,7 +16413,7 @@ type ListCollaborationAnalysisTemplatesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCollaborationAnalysisTemplatesOutput) String() string { +func (s ListSchemasOutput) String() string { return awsutil.Prettify(s) } @@ -10455,36 +16422,30 @@ func (s ListCollaborationAnalysisTemplatesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCollaborationAnalysisTemplatesOutput) GoString() string { +func (s ListSchemasOutput) GoString() string { return s.String() } -// SetCollaborationAnalysisTemplateSummaries sets the CollaborationAnalysisTemplateSummaries field's value. -func (s *ListCollaborationAnalysisTemplatesOutput) SetCollaborationAnalysisTemplateSummaries(v []*CollaborationAnalysisTemplateSummary) *ListCollaborationAnalysisTemplatesOutput { - s.CollaborationAnalysisTemplateSummaries = v +// SetNextToken sets the NextToken field's value. +func (s *ListSchemasOutput) SetNextToken(v string) *ListSchemasOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListCollaborationAnalysisTemplatesOutput) SetNextToken(v string) *ListCollaborationAnalysisTemplatesOutput { - s.NextToken = &v +// SetSchemaSummaries sets the SchemaSummaries field's value. +func (s *ListSchemasOutput) SetSchemaSummaries(v []*SchemaSummary) *ListSchemasOutput { + s.SchemaSummaries = v return s } -type ListCollaborationsInput struct { +type ListTagsForResourceInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The maximum size of the results that is returned per call. Service chooses - // a default if it has not been set. Service may return a nextToken even if - // the maximum results has not been met. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` - - // The caller's status in a collaboration. - MemberStatus *string `location:"querystring" locationName:"memberStatus" type:"string" enum:"FilterableMemberStatus"` - - // The token value retrieved from a previous call to access the next page of - // results. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // The Amazon Resource Name (ARN) associated with the resource you want to list + // tags on. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` } // String returns the string representation. @@ -10492,7 +16453,7 @@ type ListCollaborationsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCollaborationsInput) String() string { +func (s ListTagsForResourceInput) String() string { return awsutil.Prettify(s) } @@ -10501,15 +16462,18 @@ func (s ListCollaborationsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCollaborationsInput) GoString() string { +func (s ListTagsForResourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListCollaborationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListCollaborationsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +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 { @@ -10518,35 +16482,19 @@ func (s *ListCollaborationsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListCollaborationsInput) SetMaxResults(v int64) *ListCollaborationsInput { - s.MaxResults = &v - return s -} - -// SetMemberStatus sets the MemberStatus field's value. -func (s *ListCollaborationsInput) SetMemberStatus(v string) *ListCollaborationsInput { - s.MemberStatus = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListCollaborationsInput) SetNextToken(v string) *ListCollaborationsInput { - s.NextToken = &v +// SetResourceArn sets the ResourceArn field's value. +func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { + s.ResourceArn = &v return s } -type ListCollaborationsOutput struct { +type ListTagsForResourceOutput struct { _ struct{} `type:"structure"` - // The list of collaborations. + // A map of objects specifying each key name and value. // - // CollaborationList is a required field - CollaborationList []*CollaborationSummary `locationName:"collaborationList" type:"list" required:"true"` - - // The token value retrieved from a previous call to access the next page of - // results. - NextToken *string `locationName:"nextToken" type:"string"` + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true"` } // String returns the string representation. @@ -10554,7 +16502,7 @@ type ListCollaborationsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCollaborationsOutput) String() string { +func (s ListTagsForResourceOutput) String() string { return awsutil.Prettify(s) } @@ -10563,37 +16511,42 @@ func (s ListCollaborationsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListCollaborationsOutput) GoString() string { +func (s ListTagsForResourceOutput) GoString() string { return s.String() } -// SetCollaborationList sets the CollaborationList field's value. -func (s *ListCollaborationsOutput) SetCollaborationList(v []*CollaborationSummary) *ListCollaborationsOutput { - s.CollaborationList = v +// SetTags sets the Tags field's value. +func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { + s.Tags = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListCollaborationsOutput) SetNextToken(v string) *ListCollaborationsOutput { - s.NextToken = &v - return s -} +// Basic metadata used to construct a new member. +type MemberSpecification struct { + _ struct{} `type:"structure"` -type ListConfiguredTableAssociationsInput struct { - _ struct{} `type:"structure" nopayload:"true"` + // The identifier used to reference members of the collaboration. Currently + // only supports Amazon Web Services account ID. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` - // The maximum size of the results that is returned per call. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // The member's display name. + // + // DisplayName is a required field + DisplayName *string `locationName:"displayName" min:"1" type:"string" required:"true"` - // A unique identifier for the membership to list configured table associations - // for. Currently accepts the membership ID. + // The abilities granted to the collaboration member. // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // MemberAbilities is a required field + MemberAbilities []*string `locationName:"memberAbilities" type:"list" required:"true" enum:"MemberAbility"` - // The token value retrieved from a previous call to access the next page of - // results. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // The collaboration member's payment responsibilities set by the collaboration + // creator. + // + // If the collaboration creator hasn't specified anyone as the member paying + // for query compute costs, then the member who can query is the default payer. + PaymentConfiguration *PaymentConfiguration `locationName:"paymentConfiguration" type:"structure"` } // String returns the string representation. @@ -10601,7 +16554,7 @@ type ListConfiguredTableAssociationsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListConfiguredTableAssociationsInput) String() string { +func (s MemberSpecification) String() string { return awsutil.Prettify(s) } @@ -10610,21 +16563,32 @@ func (s ListConfiguredTableAssociationsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListConfiguredTableAssociationsInput) GoString() string { +func (s MemberSpecification) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListConfiguredTableAssociationsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListConfiguredTableAssociationsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *MemberSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MemberSpecification"} + if s.AccountId == nil { + invalidParams.Add(request.NewErrParamRequired("AccountId")) } - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + if s.AccountId != nil && len(*s.AccountId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + if s.DisplayName == nil { + invalidParams.Add(request.NewErrParamRequired("DisplayName")) + } + if s.DisplayName != nil && len(*s.DisplayName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) + } + if s.MemberAbilities == nil { + invalidParams.Add(request.NewErrParamRequired("MemberAbilities")) + } + if s.PaymentConfiguration != nil { + if err := s.PaymentConfiguration.Validate(); err != nil { + invalidParams.AddNested("PaymentConfiguration", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -10633,35 +16597,76 @@ func (s *ListConfiguredTableAssociationsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListConfiguredTableAssociationsInput) SetMaxResults(v int64) *ListConfiguredTableAssociationsInput { - s.MaxResults = &v +// SetAccountId sets the AccountId field's value. +func (s *MemberSpecification) SetAccountId(v string) *MemberSpecification { + s.AccountId = &v return s } -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *ListConfiguredTableAssociationsInput) SetMembershipIdentifier(v string) *ListConfiguredTableAssociationsInput { - s.MembershipIdentifier = &v +// SetDisplayName sets the DisplayName field's value. +func (s *MemberSpecification) SetDisplayName(v string) *MemberSpecification { + s.DisplayName = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListConfiguredTableAssociationsInput) SetNextToken(v string) *ListConfiguredTableAssociationsInput { - s.NextToken = &v +// SetMemberAbilities sets the MemberAbilities field's value. +func (s *MemberSpecification) SetMemberAbilities(v []*string) *MemberSpecification { + s.MemberAbilities = v return s } -type ListConfiguredTableAssociationsOutput struct { +// SetPaymentConfiguration sets the PaymentConfiguration field's value. +func (s *MemberSpecification) SetPaymentConfiguration(v *PaymentConfiguration) *MemberSpecification { + s.PaymentConfiguration = v + return s +} + +// The member object listed by the request. +type MemberSummary struct { _ struct{} `type:"structure"` - // The retrieved list of configured table associations. + // The abilities granted to the collaboration member. // - // ConfiguredTableAssociationSummaries is a required field - ConfiguredTableAssociationSummaries []*ConfiguredTableAssociationSummary `locationName:"configuredTableAssociationSummaries" type:"list" required:"true"` + // Abilities is a required field + Abilities []*string `locationName:"abilities" type:"list" required:"true" enum:"MemberAbility"` - // The token value retrieved from a previous call to access the next page of - // results. - NextToken *string `locationName:"nextToken" type:"string"` + // The identifier used to reference members of the collaboration. Currently + // only supports Amazon Web Services account ID. + // + // AccountId is a required field + AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` + + // The time when the member was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The member's display name. + // + // DisplayName is a required field + DisplayName *string `locationName:"displayName" min:"1" type:"string" required:"true"` + + // The unique ARN for the member's associated membership, if present. + MembershipArn *string `locationName:"membershipArn" type:"string"` + + // The unique ID for the member's associated membership, if present. + MembershipId *string `locationName:"membershipId" min:"36" type:"string"` + + // The collaboration member's payment responsibilities set by the collaboration + // creator. + // + // PaymentConfiguration is a required field + PaymentConfiguration *PaymentConfiguration `locationName:"paymentConfiguration" type:"structure" required:"true"` + + // The status of the member. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"MemberStatus"` + + // The time the member metadata was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -10669,7 +16674,7 @@ type ListConfiguredTableAssociationsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListConfiguredTableAssociationsOutput) String() string { +func (s MemberSummary) String() string { return awsutil.Prettify(s) } @@ -10678,133 +16683,138 @@ func (s ListConfiguredTableAssociationsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListConfiguredTableAssociationsOutput) GoString() string { +func (s MemberSummary) GoString() string { return s.String() } -// SetConfiguredTableAssociationSummaries sets the ConfiguredTableAssociationSummaries field's value. -func (s *ListConfiguredTableAssociationsOutput) SetConfiguredTableAssociationSummaries(v []*ConfiguredTableAssociationSummary) *ListConfiguredTableAssociationsOutput { - s.ConfiguredTableAssociationSummaries = v +// SetAbilities sets the Abilities field's value. +func (s *MemberSummary) SetAbilities(v []*string) *MemberSummary { + s.Abilities = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListConfiguredTableAssociationsOutput) SetNextToken(v string) *ListConfiguredTableAssociationsOutput { - s.NextToken = &v +// SetAccountId sets the AccountId field's value. +func (s *MemberSummary) SetAccountId(v string) *MemberSummary { + s.AccountId = &v return s } -type ListConfiguredTablesInput struct { - _ struct{} `type:"structure" nopayload:"true"` - - // The maximum size of the results that is returned per call. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` +// SetCreateTime sets the CreateTime field's value. +func (s *MemberSummary) SetCreateTime(v time.Time) *MemberSummary { + s.CreateTime = &v + return s +} - // The token value retrieved from a previous call to access the next page of - // results. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +// SetDisplayName sets the DisplayName field's value. +func (s *MemberSummary) SetDisplayName(v string) *MemberSummary { + s.DisplayName = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListConfiguredTablesInput) String() string { - return awsutil.Prettify(s) +// SetMembershipArn sets the MembershipArn field's value. +func (s *MemberSummary) SetMembershipArn(v string) *MemberSummary { + s.MembershipArn = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListConfiguredTablesInput) GoString() string { - return s.String() +// SetMembershipId sets the MembershipId field's value. +func (s *MemberSummary) SetMembershipId(v string) *MemberSummary { + s.MembershipId = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListConfiguredTablesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListConfiguredTablesInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetPaymentConfiguration sets the PaymentConfiguration field's value. +func (s *MemberSummary) SetPaymentConfiguration(v *PaymentConfiguration) *MemberSummary { + s.PaymentConfiguration = v + return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListConfiguredTablesInput) SetMaxResults(v int64) *ListConfiguredTablesInput { - s.MaxResults = &v +// SetStatus sets the Status field's value. +func (s *MemberSummary) SetStatus(v string) *MemberSummary { + s.Status = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListConfiguredTablesInput) SetNextToken(v string) *ListConfiguredTablesInput { - s.NextToken = &v +// SetUpdateTime sets the UpdateTime field's value. +func (s *MemberSummary) SetUpdateTime(v time.Time) *MemberSummary { + s.UpdateTime = &v return s } -type ListConfiguredTablesOutput struct { +// The membership object. +type Membership struct { _ struct{} `type:"structure"` - // The configured tables listed by the request. + // The unique ARN for the membership. // - // ConfiguredTableSummaries is a required field - ConfiguredTableSummaries []*ConfiguredTableSummary `locationName:"configuredTableSummaries" type:"list" required:"true"` + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. - NextToken *string `locationName:"nextToken" type:"string"` -} + // The unique ARN for the membership's associated collaboration. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListConfiguredTablesOutput) String() string { - return awsutil.Prettify(s) -} + // The identifier used to reference members of the collaboration. Currently + // only supports Amazon Web Services account ID. + // + // CollaborationCreatorAccountId is a required field + CollaborationCreatorAccountId *string `locationName:"collaborationCreatorAccountId" min:"12" type:"string" required:"true"` -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListConfiguredTablesOutput) GoString() string { - return s.String() -} + // The display name of the collaboration creator. + // + // CollaborationCreatorDisplayName is a required field + CollaborationCreatorDisplayName *string `locationName:"collaborationCreatorDisplayName" min:"1" type:"string" required:"true"` -// SetConfiguredTableSummaries sets the ConfiguredTableSummaries field's value. -func (s *ListConfiguredTablesOutput) SetConfiguredTableSummaries(v []*ConfiguredTableSummary) *ListConfiguredTablesOutput { - s.ConfiguredTableSummaries = v - return s -} + // The unique ID for the membership's collaboration. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` -// SetNextToken sets the NextToken field's value. -func (s *ListConfiguredTablesOutput) SetNextToken(v string) *ListConfiguredTablesOutput { - s.NextToken = &v - return s -} + // The name of the membership's collaboration. + // + // CollaborationName is a required field + CollaborationName *string `locationName:"collaborationName" min:"1" type:"string" required:"true"` -type ListMembersInput struct { - _ struct{} `type:"structure" nopayload:"true"` + // The time when the membership was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // The identifier of the collaboration in which the members are listed. + // The default protected query result configuration as specified by the member + // who can receive results. + DefaultResultConfiguration *MembershipProtectedQueryResultConfiguration `locationName:"defaultResultConfiguration" type:"structure"` + + // The unique ID of the membership. // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The maximum size of the results that is returned per call. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // The abilities granted to the collaboration member. + // + // MemberAbilities is a required field + MemberAbilities []*string `locationName:"memberAbilities" type:"list" required:"true" enum:"MemberAbility"` - // The token value retrieved from a previous call to access the next page of - // results. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // The payment responsibilities accepted by the collaboration member. + // + // PaymentConfiguration is a required field + PaymentConfiguration *MembershipPaymentConfiguration `locationName:"paymentConfiguration" type:"structure" required:"true"` + + // An indicator as to whether query logging has been enabled or disabled for + // the membership. + // + // QueryLogStatus is a required field + QueryLogStatus *string `locationName:"queryLogStatus" type:"string" required:"true" enum:"MembershipQueryLogStatus"` + + // The status of the membership. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"MembershipStatus"` + + // The time the membership metadata was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -10812,7 +16822,7 @@ type ListMembersInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListMembersInput) String() string { +func (s Membership) String() string { return awsutil.Prettify(s) } @@ -10821,102 +16831,104 @@ func (s ListMembersInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListMembersInput) GoString() string { +func (s Membership) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListMembersInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) - } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } +// SetArn sets the Arn field's value. +func (s *Membership) SetArn(v string) *Membership { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *Membership) SetCollaborationArn(v string) *Membership { + s.CollaborationArn = &v + return s } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *ListMembersInput) SetCollaborationIdentifier(v string) *ListMembersInput { - s.CollaborationIdentifier = &v +// SetCollaborationCreatorAccountId sets the CollaborationCreatorAccountId field's value. +func (s *Membership) SetCollaborationCreatorAccountId(v string) *Membership { + s.CollaborationCreatorAccountId = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput { - s.MaxResults = &v +// SetCollaborationCreatorDisplayName sets the CollaborationCreatorDisplayName field's value. +func (s *Membership) SetCollaborationCreatorDisplayName(v string) *Membership { + s.CollaborationCreatorDisplayName = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput { - s.NextToken = &v +// SetCollaborationId sets the CollaborationId field's value. +func (s *Membership) SetCollaborationId(v string) *Membership { + s.CollaborationId = &v return s } -type ListMembersOutput struct { - _ struct{} `type:"structure"` +// SetCollaborationName sets the CollaborationName field's value. +func (s *Membership) SetCollaborationName(v string) *Membership { + s.CollaborationName = &v + return s +} - // The list of members returned by the ListMembers operation. - // - // MemberSummaries is a required field - MemberSummaries []*MemberSummary `locationName:"memberSummaries" type:"list" required:"true"` +// SetCreateTime sets the CreateTime field's value. +func (s *Membership) SetCreateTime(v time.Time) *Membership { + s.CreateTime = &v + return s +} - // The token value retrieved from a previous call to access the next page of - // results. - NextToken *string `locationName:"nextToken" type:"string"` +// SetDefaultResultConfiguration sets the DefaultResultConfiguration field's value. +func (s *Membership) SetDefaultResultConfiguration(v *MembershipProtectedQueryResultConfiguration) *Membership { + s.DefaultResultConfiguration = v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListMembersOutput) String() string { - return awsutil.Prettify(s) +// SetId sets the Id field's value. +func (s *Membership) SetId(v string) *Membership { + s.Id = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListMembersOutput) GoString() string { - return s.String() +// SetMemberAbilities sets the MemberAbilities field's value. +func (s *Membership) SetMemberAbilities(v []*string) *Membership { + s.MemberAbilities = v + return s } -// SetMemberSummaries sets the MemberSummaries field's value. -func (s *ListMembersOutput) SetMemberSummaries(v []*MemberSummary) *ListMembersOutput { - s.MemberSummaries = v +// SetPaymentConfiguration sets the PaymentConfiguration field's value. +func (s *Membership) SetPaymentConfiguration(v *MembershipPaymentConfiguration) *Membership { + s.PaymentConfiguration = v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput { - s.NextToken = &v +// SetQueryLogStatus sets the QueryLogStatus field's value. +func (s *Membership) SetQueryLogStatus(v string) *Membership { + s.QueryLogStatus = &v return s } -type ListMembershipsInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// SetStatus sets the Status field's value. +func (s *Membership) SetStatus(v string) *Membership { + s.Status = &v + return s +} - // The maximum size of the results that is returned per call. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` +// SetUpdateTime sets the UpdateTime field's value. +func (s *Membership) SetUpdateTime(v time.Time) *Membership { + s.UpdateTime = &v + return s +} - // The token value retrieved from a previous call to access the next page of - // results. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` +// An object representing the payment responsibilities accepted by the collaboration +// member. +type MembershipPaymentConfiguration struct { + _ struct{} `type:"structure"` - // A filter which will return only memberships in the specified status. - Status *string `location:"querystring" locationName:"status" type:"string" enum:"MembershipStatus"` + // The payment responsibilities accepted by the collaboration member for query + // compute costs. + // + // QueryCompute is a required field + QueryCompute *MembershipQueryComputePaymentConfig `locationName:"queryCompute" type:"structure" required:"true"` } // String returns the string representation. @@ -10924,7 +16936,7 @@ type ListMembershipsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListMembershipsInput) String() string { +func (s MembershipPaymentConfiguration) String() string { return awsutil.Prettify(s) } @@ -10933,15 +16945,20 @@ func (s ListMembershipsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListMembershipsInput) GoString() string { +func (s MembershipPaymentConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListMembershipsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListMembershipsInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *MembershipPaymentConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MembershipPaymentConfiguration"} + if s.QueryCompute == nil { + invalidParams.Add(request.NewErrParamRequired("QueryCompute")) + } + if s.QueryCompute != nil { + if err := s.QueryCompute.Validate(); err != nil { + invalidParams.AddNested("QueryCompute", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -10950,35 +16967,18 @@ func (s *ListMembershipsInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListMembershipsInput) SetMaxResults(v int64) *ListMembershipsInput { - s.MaxResults = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListMembershipsInput) SetNextToken(v string) *ListMembershipsInput { - s.NextToken = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *ListMembershipsInput) SetStatus(v string) *ListMembershipsInput { - s.Status = &v +// SetQueryCompute sets the QueryCompute field's value. +func (s *MembershipPaymentConfiguration) SetQueryCompute(v *MembershipQueryComputePaymentConfig) *MembershipPaymentConfiguration { + s.QueryCompute = v return s } -type ListMembershipsOutput struct { +// Contains configurations for protected query results. +type MembershipProtectedQueryOutputConfiguration struct { _ struct{} `type:"structure"` - // The list of memberships returned from the ListMemberships operation. - // - // MembershipSummaries is a required field - MembershipSummaries []*MembershipSummary `locationName:"membershipSummaries" type:"list" required:"true"` - - // The token value retrieved from a previous call to access the next page of - // results. - NextToken *string `locationName:"nextToken" type:"string"` + // Contains the configuration to write the query results to S3. + S3 *ProtectedQueryS3OutputConfiguration `locationName:"s3" type:"structure"` } // String returns the string representation. @@ -10986,7 +16986,7 @@ type ListMembershipsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListMembershipsOutput) String() string { +func (s MembershipProtectedQueryOutputConfiguration) String() string { return awsutil.Prettify(s) } @@ -10995,41 +16995,44 @@ func (s ListMembershipsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListMembershipsOutput) GoString() string { +func (s MembershipProtectedQueryOutputConfiguration) GoString() string { return s.String() } -// SetMembershipSummaries sets the MembershipSummaries field's value. -func (s *ListMembershipsOutput) SetMembershipSummaries(v []*MembershipSummary) *ListMembershipsOutput { - s.MembershipSummaries = v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *MembershipProtectedQueryOutputConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MembershipProtectedQueryOutputConfiguration"} + if s.S3 != nil { + if err := s.S3.Validate(); err != nil { + invalidParams.AddNested("S3", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetNextToken sets the NextToken field's value. -func (s *ListMembershipsOutput) SetNextToken(v string) *ListMembershipsOutput { - s.NextToken = &v +// SetS3 sets the S3 field's value. +func (s *MembershipProtectedQueryOutputConfiguration) SetS3(v *ProtectedQueryS3OutputConfiguration) *MembershipProtectedQueryOutputConfiguration { + s.S3 = v return s } -type ListProtectedQueriesInput struct { - _ struct{} `type:"structure" nopayload:"true"` - - // The maximum size of the results that is returned per call. Service chooses - // a default if it has not been set. Service can return a nextToken even if - // the maximum results has not been met. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` +// Contains configurations for protected query results. +type MembershipProtectedQueryResultConfiguration struct { + _ struct{} `type:"structure"` - // The identifier for the membership in the collaboration. + // Configuration for protected query results. // - // MembershipIdentifier is a required field - MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + // OutputConfiguration is a required field + OutputConfiguration *MembershipProtectedQueryOutputConfiguration `locationName:"outputConfiguration" type:"structure" required:"true"` - // The token value retrieved from a previous call to access the next page of + // The unique ARN for an IAM role that is used by Clean Rooms to write protected + // query results to the result location, given by the member who can receive // results. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` - - // A filter on the status of the protected query. - Status *string `location:"querystring" locationName:"status" type:"string" enum:"ProtectedQueryStatus"` + RoleArn *string `locationName:"roleArn" min:"32" type:"string"` } // String returns the string representation. @@ -11037,7 +17040,7 @@ type ListProtectedQueriesInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListProtectedQueriesInput) String() string { +func (s MembershipProtectedQueryResultConfiguration) String() string { return awsutil.Prettify(s) } @@ -11046,21 +17049,23 @@ func (s ListProtectedQueriesInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListProtectedQueriesInput) GoString() string { +func (s MembershipProtectedQueryResultConfiguration) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListProtectedQueriesInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListProtectedQueriesInput"} - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) +func (s *MembershipProtectedQueryResultConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MembershipProtectedQueryResultConfiguration"} + if s.OutputConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("OutputConfiguration")) } - if s.MembershipIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + if s.RoleArn != nil && len(*s.RoleArn) < 32 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32)) } - if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + if s.OutputConfiguration != nil { + if err := s.OutputConfiguration.Validate(); err != nil { + invalidParams.AddNested("OutputConfiguration", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -11069,41 +17074,39 @@ func (s *ListProtectedQueriesInput) Validate() error { return nil } -// SetMaxResults sets the MaxResults field's value. -func (s *ListProtectedQueriesInput) SetMaxResults(v int64) *ListProtectedQueriesInput { - s.MaxResults = &v - return s -} - -// SetMembershipIdentifier sets the MembershipIdentifier field's value. -func (s *ListProtectedQueriesInput) SetMembershipIdentifier(v string) *ListProtectedQueriesInput { - s.MembershipIdentifier = &v - return s -} - -// SetNextToken sets the NextToken field's value. -func (s *ListProtectedQueriesInput) SetNextToken(v string) *ListProtectedQueriesInput { - s.NextToken = &v +// SetOutputConfiguration sets the OutputConfiguration field's value. +func (s *MembershipProtectedQueryResultConfiguration) SetOutputConfiguration(v *MembershipProtectedQueryOutputConfiguration) *MembershipProtectedQueryResultConfiguration { + s.OutputConfiguration = v return s } -// SetStatus sets the Status field's value. -func (s *ListProtectedQueriesInput) SetStatus(v string) *ListProtectedQueriesInput { - s.Status = &v +// SetRoleArn sets the RoleArn field's value. +func (s *MembershipProtectedQueryResultConfiguration) SetRoleArn(v string) *MembershipProtectedQueryResultConfiguration { + s.RoleArn = &v return s } -type ListProtectedQueriesOutput struct { +// An object representing the payment responsibilities accepted by the collaboration +// member for query compute costs. +type MembershipQueryComputePaymentConfig struct { _ struct{} `type:"structure"` - // The token value retrieved from a previous call to access the next page of - // results. - NextToken *string `locationName:"nextToken" type:"string"` - - // A list of protected queries. + // Indicates whether the collaboration member has accepted to pay for query + // compute costs (TRUE) or has not accepted to pay for query compute costs (FALSE). // - // ProtectedQueries is a required field - ProtectedQueries []*ProtectedQuerySummary `locationName:"protectedQueries" type:"list" required:"true"` + // If the collaboration creator has not specified anyone to pay for query compute + // costs, then the member who can query is the default payer. + // + // An error message is returned for the following reasons: + // + // * If you set the value to FALSE but you are responsible to pay for query + // compute costs. + // + // * If you set the value to TRUE but you are not responsible to pay for + // query compute costs. + // + // IsResponsible is a required field + IsResponsible *bool `locationName:"isResponsible" type:"boolean" required:"true"` } // String returns the string representation. @@ -11111,7 +17114,7 @@ type ListProtectedQueriesOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListProtectedQueriesOutput) String() string { +func (s MembershipQueryComputePaymentConfig) String() string { return awsutil.Prettify(s) } @@ -11120,41 +17123,93 @@ func (s ListProtectedQueriesOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListProtectedQueriesOutput) GoString() string { +func (s MembershipQueryComputePaymentConfig) GoString() string { return s.String() } -// SetNextToken sets the NextToken field's value. -func (s *ListProtectedQueriesOutput) SetNextToken(v string) *ListProtectedQueriesOutput { - s.NextToken = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *MembershipQueryComputePaymentConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "MembershipQueryComputePaymentConfig"} + if s.IsResponsible == nil { + invalidParams.Add(request.NewErrParamRequired("IsResponsible")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetProtectedQueries sets the ProtectedQueries field's value. -func (s *ListProtectedQueriesOutput) SetProtectedQueries(v []*ProtectedQuerySummary) *ListProtectedQueriesOutput { - s.ProtectedQueries = v +// SetIsResponsible sets the IsResponsible field's value. +func (s *MembershipQueryComputePaymentConfig) SetIsResponsible(v bool) *MembershipQueryComputePaymentConfig { + s.IsResponsible = &v return s } -type ListSchemasInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// The membership object listed by the request. +type MembershipSummary struct { + _ struct{} `type:"structure"` - // A unique identifier for the collaboration that the schema belongs to. Currently - // accepts a collaboration ID. + // The unique ARN for the membership. // - // CollaborationIdentifier is a required field - CollaborationIdentifier *string `location:"uri" locationName:"collaborationIdentifier" min:"36" type:"string" required:"true"` + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // The unique ARN for the membership's associated collaboration. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // The identifier of the Amazon Web Services principal that created the collaboration. + // Currently only supports Amazon Web Services account ID. + // + // CollaborationCreatorAccountId is a required field + CollaborationCreatorAccountId *string `locationName:"collaborationCreatorAccountId" min:"12" type:"string" required:"true"` + + // The display name of the collaboration creator. + // + // CollaborationCreatorDisplayName is a required field + CollaborationCreatorDisplayName *string `locationName:"collaborationCreatorDisplayName" min:"1" type:"string" required:"true"` + + // The unique ID for the membership's collaboration. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The name for the membership's collaboration. + // + // CollaborationName is a required field + CollaborationName *string `locationName:"collaborationName" min:"1" type:"string" required:"true"` + + // The time when the membership was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The unique ID for the membership's collaboration. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The abilities granted to the collaboration member. + // + // MemberAbilities is a required field + MemberAbilities []*string `locationName:"memberAbilities" type:"list" required:"true" enum:"MemberAbility"` - // The maximum size of the results that is returned per call. - MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + // The payment responsibilities accepted by the collaboration member. + // + // PaymentConfiguration is a required field + PaymentConfiguration *MembershipPaymentConfiguration `locationName:"paymentConfiguration" type:"structure" required:"true"` - // The token value retrieved from a previous call to access the next page of - // results. - NextToken *string `location:"querystring" locationName:"nextToken" type:"string"` + // The status of the membership. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"MembershipStatus"` - // If present, filter schemas by schema type. The only valid schema type is - // currently `TABLE`. - SchemaType *string `location:"querystring" locationName:"schemaType" type:"string" enum:"SchemaType"` + // The time the membership metadata was last updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -11162,7 +17217,7 @@ type ListSchemasInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListSchemasInput) String() string { +func (s MembershipSummary) String() string { return awsutil.Prettify(s) } @@ -11171,104 +17226,92 @@ func (s ListSchemasInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListSchemasInput) GoString() string { +func (s MembershipSummary) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *ListSchemasInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListSchemasInput"} - if s.CollaborationIdentifier == nil { - invalidParams.Add(request.NewErrParamRequired("CollaborationIdentifier")) - } - if s.CollaborationIdentifier != nil && len(*s.CollaborationIdentifier) < 36 { - invalidParams.Add(request.NewErrParamMinLen("CollaborationIdentifier", 36)) - } - if s.MaxResults != nil && *s.MaxResults < 1 { - invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetArn sets the Arn field's value. +func (s *MembershipSummary) SetArn(v string) *MembershipSummary { + s.Arn = &v + return s } -// SetCollaborationIdentifier sets the CollaborationIdentifier field's value. -func (s *ListSchemasInput) SetCollaborationIdentifier(v string) *ListSchemasInput { - s.CollaborationIdentifier = &v +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *MembershipSummary) SetCollaborationArn(v string) *MembershipSummary { + s.CollaborationArn = &v return s } -// SetMaxResults sets the MaxResults field's value. -func (s *ListSchemasInput) SetMaxResults(v int64) *ListSchemasInput { - s.MaxResults = &v +// SetCollaborationCreatorAccountId sets the CollaborationCreatorAccountId field's value. +func (s *MembershipSummary) SetCollaborationCreatorAccountId(v string) *MembershipSummary { + s.CollaborationCreatorAccountId = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListSchemasInput) SetNextToken(v string) *ListSchemasInput { - s.NextToken = &v +// SetCollaborationCreatorDisplayName sets the CollaborationCreatorDisplayName field's value. +func (s *MembershipSummary) SetCollaborationCreatorDisplayName(v string) *MembershipSummary { + s.CollaborationCreatorDisplayName = &v return s } -// SetSchemaType sets the SchemaType field's value. -func (s *ListSchemasInput) SetSchemaType(v string) *ListSchemasInput { - s.SchemaType = &v +// SetCollaborationId sets the CollaborationId field's value. +func (s *MembershipSummary) SetCollaborationId(v string) *MembershipSummary { + s.CollaborationId = &v return s } -type ListSchemasOutput struct { - _ struct{} `type:"structure"` +// SetCollaborationName sets the CollaborationName field's value. +func (s *MembershipSummary) SetCollaborationName(v string) *MembershipSummary { + s.CollaborationName = &v + return s +} - // The token value retrieved from a previous call to access the next page of - // results. - NextToken *string `locationName:"nextToken" type:"string"` +// SetCreateTime sets the CreateTime field's value. +func (s *MembershipSummary) SetCreateTime(v time.Time) *MembershipSummary { + s.CreateTime = &v + return s +} - // The retrieved list of schemas. - // - // SchemaSummaries is a required field - SchemaSummaries []*SchemaSummary `locationName:"schemaSummaries" type:"list" required:"true"` +// SetId sets the Id field's value. +func (s *MembershipSummary) SetId(v string) *MembershipSummary { + s.Id = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListSchemasOutput) String() string { - return awsutil.Prettify(s) +// SetMemberAbilities sets the MemberAbilities field's value. +func (s *MembershipSummary) SetMemberAbilities(v []*string) *MembershipSummary { + s.MemberAbilities = v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListSchemasOutput) GoString() string { - return s.String() +// SetPaymentConfiguration sets the PaymentConfiguration field's value. +func (s *MembershipSummary) SetPaymentConfiguration(v *MembershipPaymentConfiguration) *MembershipSummary { + s.PaymentConfiguration = v + return s } -// SetNextToken sets the NextToken field's value. -func (s *ListSchemasOutput) SetNextToken(v string) *ListSchemasOutput { - s.NextToken = &v +// SetStatus sets the Status field's value. +func (s *MembershipSummary) SetStatus(v string) *MembershipSummary { + s.Status = &v return s } -// SetSchemaSummaries sets the SchemaSummaries field's value. -func (s *ListSchemasOutput) SetSchemaSummaries(v []*SchemaSummary) *ListSchemasOutput { - s.SchemaSummaries = v +// SetUpdateTime sets the UpdateTime field's value. +func (s *MembershipSummary) SetUpdateTime(v time.Time) *MembershipSummary { + s.UpdateTime = &v return s } -type ListTagsForResourceInput struct { - _ struct{} `type:"structure" nopayload:"true"` +// An object representing the collaboration member's payment responsibilities +// set by the collaboration creator. +type PaymentConfiguration struct { + _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) associated with the resource you want to list - // tags on. + // The collaboration member's payment responsibilities set by the collaboration + // creator for query compute costs. // - // ResourceArn is a required field - ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` + // QueryCompute is a required field + QueryCompute *QueryComputePaymentConfig `locationName:"queryCompute" type:"structure" required:"true"` } // String returns the string representation. @@ -11276,7 +17319,7 @@ type ListTagsForResourceInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceInput) String() string { +func (s PaymentConfiguration) String() string { return awsutil.Prettify(s) } @@ -11285,18 +17328,20 @@ func (s ListTagsForResourceInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListTagsForResourceInput) GoString() string { +func (s PaymentConfiguration) 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")) +func (s *PaymentConfiguration) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PaymentConfiguration"} + if s.QueryCompute == nil { + invalidParams.Add(request.NewErrParamRequired("QueryCompute")) } - if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) + if s.QueryCompute != nil { + if err := s.QueryCompute.Validate(); err != nil { + invalidParams.AddNested("QueryCompute", err.(request.ErrInvalidParams)) + } } if invalidParams.Len() > 0 { @@ -11305,71 +17350,25 @@ func (s *ListTagsForResourceInput) Validate() error { 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"` - - // A map of objects specifying each key name and value. - // - // Tags is a required field - Tags map[string]*string `locationName:"tags" type:"map" required:"true"` -} - -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s ListTagsForResourceOutput) String() string { - return awsutil.Prettify(s) -} - -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s 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 +// SetQueryCompute sets the QueryCompute field's value. +func (s *PaymentConfiguration) SetQueryCompute(v *QueryComputePaymentConfig) *PaymentConfiguration { + s.QueryCompute = v return s } -// Basic metadata used to construct a new member. -type MemberSpecification struct { +type PreviewPrivacyImpactInput struct { _ struct{} `type:"structure"` - // The identifier used to reference members of the collaboration. Currently - // only supports Amazon Web Services account ID. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` - - // The member's display name. - // - // DisplayName is a required field - DisplayName *string `locationName:"displayName" min:"1" type:"string" required:"true"` - - // The abilities granted to the collaboration member. + // A unique identifier for one of your memberships for a collaboration. Accepts + // a membership ID. // - // MemberAbilities is a required field - MemberAbilities []*string `locationName:"memberAbilities" type:"list" required:"true" enum:"MemberAbility"` + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` - // The collaboration member's payment responsibilities set by the collaboration - // creator. + // Specifies the desired epsilon and noise parameters to preview. // - // If the collaboration creator hasn't specified anyone as the member paying - // for query compute costs, then the member who can query is the default payer. - PaymentConfiguration *PaymentConfiguration `locationName:"paymentConfiguration" type:"structure"` + // Parameters is a required field + Parameters *PreviewPrivacyImpactParametersInput_ `locationName:"parameters" type:"structure" required:"true"` } // String returns the string representation. @@ -11377,7 +17376,7 @@ type MemberSpecification struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MemberSpecification) String() string { +func (s PreviewPrivacyImpactInput) String() string { return awsutil.Prettify(s) } @@ -11386,31 +17385,25 @@ func (s MemberSpecification) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MemberSpecification) GoString() string { +func (s PreviewPrivacyImpactInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *MemberSpecification) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MemberSpecification"} - if s.AccountId == nil { - invalidParams.Add(request.NewErrParamRequired("AccountId")) - } - if s.AccountId != nil && len(*s.AccountId) < 12 { - invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) - } - if s.DisplayName == nil { - invalidParams.Add(request.NewErrParamRequired("DisplayName")) +func (s *PreviewPrivacyImpactInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PreviewPrivacyImpactInput"} + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) } - if s.DisplayName != nil && len(*s.DisplayName) < 1 { - invalidParams.Add(request.NewErrParamMinLen("DisplayName", 1)) + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) } - if s.MemberAbilities == nil { - invalidParams.Add(request.NewErrParamRequired("MemberAbilities")) + if s.Parameters == nil { + invalidParams.Add(request.NewErrParamRequired("Parameters")) } - if s.PaymentConfiguration != nil { - if err := s.PaymentConfiguration.Validate(); err != nil { - invalidParams.AddNested("PaymentConfiguration", err.(request.ErrInvalidParams)) + if s.Parameters != nil { + if err := s.Parameters.Validate(); err != nil { + invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams)) } } @@ -11420,76 +17413,27 @@ func (s *MemberSpecification) Validate() error { return nil } -// SetAccountId sets the AccountId field's value. -func (s *MemberSpecification) SetAccountId(v string) *MemberSpecification { - s.AccountId = &v - return s -} - -// SetDisplayName sets the DisplayName field's value. -func (s *MemberSpecification) SetDisplayName(v string) *MemberSpecification { - s.DisplayName = &v - return s -} - -// SetMemberAbilities sets the MemberAbilities field's value. -func (s *MemberSpecification) SetMemberAbilities(v []*string) *MemberSpecification { - s.MemberAbilities = v +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *PreviewPrivacyImpactInput) SetMembershipIdentifier(v string) *PreviewPrivacyImpactInput { + s.MembershipIdentifier = &v return s } -// SetPaymentConfiguration sets the PaymentConfiguration field's value. -func (s *MemberSpecification) SetPaymentConfiguration(v *PaymentConfiguration) *MemberSpecification { - s.PaymentConfiguration = v +// SetParameters sets the Parameters field's value. +func (s *PreviewPrivacyImpactInput) SetParameters(v *PreviewPrivacyImpactParametersInput_) *PreviewPrivacyImpactInput { + s.Parameters = v return s } -// The member object listed by the request. -type MemberSummary struct { +type PreviewPrivacyImpactOutput struct { _ struct{} `type:"structure"` - // The abilities granted to the collaboration member. - // - // Abilities is a required field - Abilities []*string `locationName:"abilities" type:"list" required:"true" enum:"MemberAbility"` - - // The identifier used to reference members of the collaboration. Currently - // only supports Amazon Web Services account ID. - // - // AccountId is a required field - AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"` - - // The time when the member was created. - // - // CreateTime is a required field - CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - - // The member's display name. - // - // DisplayName is a required field - DisplayName *string `locationName:"displayName" min:"1" type:"string" required:"true"` - - // The unique ARN for the member's associated membership, if present. - MembershipArn *string `locationName:"membershipArn" type:"string"` - - // The unique ID for the member's associated membership, if present. - MembershipId *string `locationName:"membershipId" min:"36" type:"string"` - - // The collaboration member's payment responsibilities set by the collaboration - // creator. - // - // PaymentConfiguration is a required field - PaymentConfiguration *PaymentConfiguration `locationName:"paymentConfiguration" type:"structure" required:"true"` - - // The status of the member. - // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"MemberStatus"` - - // The time the member metadata was last updated. + // An estimate of the number of aggregation functions that the member who can + // query can run given the epsilon and noise parameters. This does not change + // the privacy budget. // - // UpdateTime is a required field - UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` + // PrivacyImpact is a required field + PrivacyImpact *PrivacyImpact `locationName:"privacyImpact" type:"structure" required:"true"` } // String returns the string representation. @@ -11497,7 +17441,7 @@ type MemberSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MemberSummary) String() string { +func (s PreviewPrivacyImpactOutput) String() string { return awsutil.Prettify(s) } @@ -11506,135 +17450,157 @@ func (s MemberSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MemberSummary) GoString() string { +func (s PreviewPrivacyImpactOutput) GoString() string { return s.String() } -// SetAbilities sets the Abilities field's value. -func (s *MemberSummary) SetAbilities(v []*string) *MemberSummary { - s.Abilities = v +// SetPrivacyImpact sets the PrivacyImpact field's value. +func (s *PreviewPrivacyImpactOutput) SetPrivacyImpact(v *PrivacyImpact) *PreviewPrivacyImpactOutput { + s.PrivacyImpact = v return s } -// SetAccountId sets the AccountId field's value. -func (s *MemberSummary) SetAccountId(v string) *MemberSummary { - s.AccountId = &v - return s +// Specifies the updated epsilon and noise parameters to preview. The preview +// allows you to see how the maximum number of each type of aggregation function +// would change with the new parameters. +type PreviewPrivacyImpactParametersInput_ struct { + _ struct{} `type:"structure"` + + // An array that specifies the epsilon and noise parameters. + DifferentialPrivacy *DifferentialPrivacyPreviewParametersInput_ `locationName:"differentialPrivacy" type:"structure"` } -// SetCreateTime sets the CreateTime field's value. -func (s *MemberSummary) SetCreateTime(v time.Time) *MemberSummary { - s.CreateTime = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PreviewPrivacyImpactParametersInput_) String() string { + return awsutil.Prettify(s) } -// SetDisplayName sets the DisplayName field's value. -func (s *MemberSummary) SetDisplayName(v string) *MemberSummary { - s.DisplayName = &v - return s +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PreviewPrivacyImpactParametersInput_) GoString() string { + return s.String() } -// SetMembershipArn sets the MembershipArn field's value. -func (s *MemberSummary) SetMembershipArn(v string) *MemberSummary { - s.MembershipArn = &v - return s +// Validate inspects the fields of the type to determine if they are valid. +func (s *PreviewPrivacyImpactParametersInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PreviewPrivacyImpactParametersInput_"} + if s.DifferentialPrivacy != nil { + if err := s.DifferentialPrivacy.Validate(); err != nil { + invalidParams.AddNested("DifferentialPrivacy", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil } -// SetMembershipId sets the MembershipId field's value. -func (s *MemberSummary) SetMembershipId(v string) *MemberSummary { - s.MembershipId = &v +// SetDifferentialPrivacy sets the DifferentialPrivacy field's value. +func (s *PreviewPrivacyImpactParametersInput_) SetDifferentialPrivacy(v *DifferentialPrivacyPreviewParametersInput_) *PreviewPrivacyImpactParametersInput_ { + s.DifferentialPrivacy = v return s } -// SetPaymentConfiguration sets the PaymentConfiguration field's value. -func (s *MemberSummary) SetPaymentConfiguration(v *PaymentConfiguration) *MemberSummary { - s.PaymentConfiguration = v - return s +// The epsilon parameter value and number of each aggregation function that +// you can perform. +type PrivacyBudget struct { + _ struct{} `type:"structure"` + + // An object that specifies the epsilon parameter and the utility in terms of + // total aggregations, as well as the remaining aggregations available. + DifferentialPrivacy *DifferentialPrivacyPrivacyBudget `locationName:"differentialPrivacy" type:"structure"` } -// SetStatus sets the Status field's value. -func (s *MemberSummary) SetStatus(v string) *MemberSummary { - s.Status = &v - return s +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PrivacyBudget) String() string { + return awsutil.Prettify(s) } -// SetUpdateTime sets the UpdateTime field's value. -func (s *MemberSummary) SetUpdateTime(v time.Time) *MemberSummary { - s.UpdateTime = &v +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PrivacyBudget) GoString() string { + return s.String() +} + +// SetDifferentialPrivacy sets the DifferentialPrivacy field's value. +func (s *PrivacyBudget) SetDifferentialPrivacy(v *DifferentialPrivacyPrivacyBudget) *PrivacyBudget { + s.DifferentialPrivacy = v return s } -// The membership object. -type Membership struct { +// An array that summaries the specified privacy budget. This summary includes +// collaboration information, creation information, membership information, +// and privacy budget information. +type PrivacyBudgetSummary struct { _ struct{} `type:"structure"` - // The unique ARN for the membership. + // The provided privacy budget. // - // Arn is a required field - Arn *string `locationName:"arn" type:"string" required:"true"` + // Budget is a required field + Budget *PrivacyBudget `locationName:"budget" type:"structure" required:"true"` - // The unique ARN for the membership's associated collaboration. + // The ARN of the collaboration that contains this privacy budget. // // CollaborationArn is a required field CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` - // The identifier used to reference members of the collaboration. Currently - // only supports Amazon Web Services account ID. - // - // CollaborationCreatorAccountId is a required field - CollaborationCreatorAccountId *string `locationName:"collaborationCreatorAccountId" min:"12" type:"string" required:"true"` - - // The display name of the collaboration creator. - // - // CollaborationCreatorDisplayName is a required field - CollaborationCreatorDisplayName *string `locationName:"collaborationCreatorDisplayName" min:"1" type:"string" required:"true"` - - // The unique ID for the membership's collaboration. + // The unique identifier of the collaboration that contains this privacy budget. // // CollaborationId is a required field CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` - // The name of the membership's collaboration. - // - // CollaborationName is a required field - CollaborationName *string `locationName:"collaborationName" min:"1" type:"string" required:"true"` - - // The time when the membership was created. + // The time at which the privacy budget was created. // // CreateTime is a required field CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // The default protected query result configuration as specified by the member - // who can receive results. - DefaultResultConfiguration *MembershipProtectedQueryResultConfiguration `locationName:"defaultResultConfiguration" type:"structure"` - - // The unique ID of the membership. + // The unique identifier of the privacy budget. // // Id is a required field Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The abilities granted to the collaboration member. + // The Amazon Resource Name (ARN) of the member who created the privacy budget + // summary. // - // MemberAbilities is a required field - MemberAbilities []*string `locationName:"memberAbilities" type:"list" required:"true" enum:"MemberAbility"` + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` - // The payment responsibilities accepted by the collaboration member. + // The identifier for a membership resource. // - // PaymentConfiguration is a required field - PaymentConfiguration *MembershipPaymentConfiguration `locationName:"paymentConfiguration" type:"structure" required:"true"` + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` - // An indicator as to whether query logging has been enabled or disabled for - // the membership. + // The ARN of the privacy budget template. // - // QueryLogStatus is a required field - QueryLogStatus *string `locationName:"queryLogStatus" type:"string" required:"true" enum:"MembershipQueryLogStatus"` + // PrivacyBudgetTemplateArn is a required field + PrivacyBudgetTemplateArn *string `locationName:"privacyBudgetTemplateArn" type:"string" required:"true"` - // The status of the membership. + // The unique identifier of the privacy budget template. // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"MembershipStatus"` + // PrivacyBudgetTemplateId is a required field + PrivacyBudgetTemplateId *string `locationName:"privacyBudgetTemplateId" min:"36" type:"string" required:"true"` - // The time the membership metadata was last updated. + // Specifies the type of the privacy budget. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"PrivacyBudgetType"` + + // The most recent time at which the privacy budget was updated. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` @@ -11645,7 +17611,7 @@ type Membership struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Membership) String() string { +func (s PrivacyBudgetSummary) String() string { return awsutil.Prettify(s) } @@ -11654,104 +17620,142 @@ func (s Membership) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s Membership) GoString() string { +func (s PrivacyBudgetSummary) GoString() string { return s.String() } -// SetArn sets the Arn field's value. -func (s *Membership) SetArn(v string) *Membership { - s.Arn = &v +// SetBudget sets the Budget field's value. +func (s *PrivacyBudgetSummary) SetBudget(v *PrivacyBudget) *PrivacyBudgetSummary { + s.Budget = v return s } // SetCollaborationArn sets the CollaborationArn field's value. -func (s *Membership) SetCollaborationArn(v string) *Membership { +func (s *PrivacyBudgetSummary) SetCollaborationArn(v string) *PrivacyBudgetSummary { s.CollaborationArn = &v return s } -// SetCollaborationCreatorAccountId sets the CollaborationCreatorAccountId field's value. -func (s *Membership) SetCollaborationCreatorAccountId(v string) *Membership { - s.CollaborationCreatorAccountId = &v +// SetCollaborationId sets the CollaborationId field's value. +func (s *PrivacyBudgetSummary) SetCollaborationId(v string) *PrivacyBudgetSummary { + s.CollaborationId = &v return s } -// SetCollaborationCreatorDisplayName sets the CollaborationCreatorDisplayName field's value. -func (s *Membership) SetCollaborationCreatorDisplayName(v string) *Membership { - s.CollaborationCreatorDisplayName = &v +// SetCreateTime sets the CreateTime field's value. +func (s *PrivacyBudgetSummary) SetCreateTime(v time.Time) *PrivacyBudgetSummary { + s.CreateTime = &v return s } -// SetCollaborationId sets the CollaborationId field's value. -func (s *Membership) SetCollaborationId(v string) *Membership { - s.CollaborationId = &v +// SetId sets the Id field's value. +func (s *PrivacyBudgetSummary) SetId(v string) *PrivacyBudgetSummary { + s.Id = &v return s } -// SetCollaborationName sets the CollaborationName field's value. -func (s *Membership) SetCollaborationName(v string) *Membership { - s.CollaborationName = &v +// SetMembershipArn sets the MembershipArn field's value. +func (s *PrivacyBudgetSummary) SetMembershipArn(v string) *PrivacyBudgetSummary { + s.MembershipArn = &v return s } -// SetCreateTime sets the CreateTime field's value. -func (s *Membership) SetCreateTime(v time.Time) *Membership { - s.CreateTime = &v +// SetMembershipId sets the MembershipId field's value. +func (s *PrivacyBudgetSummary) SetMembershipId(v string) *PrivacyBudgetSummary { + s.MembershipId = &v return s } -// SetDefaultResultConfiguration sets the DefaultResultConfiguration field's value. -func (s *Membership) SetDefaultResultConfiguration(v *MembershipProtectedQueryResultConfiguration) *Membership { - s.DefaultResultConfiguration = v +// SetPrivacyBudgetTemplateArn sets the PrivacyBudgetTemplateArn field's value. +func (s *PrivacyBudgetSummary) SetPrivacyBudgetTemplateArn(v string) *PrivacyBudgetSummary { + s.PrivacyBudgetTemplateArn = &v return s } -// SetId sets the Id field's value. -func (s *Membership) SetId(v string) *Membership { - s.Id = &v +// SetPrivacyBudgetTemplateId sets the PrivacyBudgetTemplateId field's value. +func (s *PrivacyBudgetSummary) SetPrivacyBudgetTemplateId(v string) *PrivacyBudgetSummary { + s.PrivacyBudgetTemplateId = &v return s } -// SetMemberAbilities sets the MemberAbilities field's value. -func (s *Membership) SetMemberAbilities(v []*string) *Membership { - s.MemberAbilities = v +// SetType sets the Type field's value. +func (s *PrivacyBudgetSummary) SetType(v string) *PrivacyBudgetSummary { + s.Type = &v return s } -// SetPaymentConfiguration sets the PaymentConfiguration field's value. -func (s *Membership) SetPaymentConfiguration(v *MembershipPaymentConfiguration) *Membership { - s.PaymentConfiguration = v +// SetUpdateTime sets the UpdateTime field's value. +func (s *PrivacyBudgetSummary) SetUpdateTime(v time.Time) *PrivacyBudgetSummary { + s.UpdateTime = &v return s } -// SetQueryLogStatus sets the QueryLogStatus field's value. -func (s *Membership) SetQueryLogStatus(v string) *Membership { - s.QueryLogStatus = &v - return s -} +// An object that defines the privacy budget template. +type PrivacyBudgetTemplate struct { + _ struct{} `type:"structure"` + + // The ARN of the privacy budget template. + // + // Arn is a required field + Arn *string `locationName:"arn" type:"string" required:"true"` + + // How often the privacy budget refreshes. + // + // If you plan to regularly bring new data into the collaboration, use CALENDAR_MONTH + // to automatically get a new privacy budget for the collaboration every calendar + // month. Choosing this option allows arbitrary amounts of information to be + // revealed about rows of the data when repeatedly queried across refreshes. + // Avoid choosing this if the same rows will be repeatedly queried between privacy + // budget refreshes. + // + // AutoRefresh is a required field + AutoRefresh *string `locationName:"autoRefresh" type:"string" required:"true" enum:"PrivacyBudgetTemplateAutoRefresh"` + + // The ARN of the collaboration that contains this privacy budget template. + // + // CollaborationArn is a required field + CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` + + // The unique ID of the collaboration that contains this privacy budget template. + // + // CollaborationId is a required field + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` + + // The time at which the privacy budget template was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + + // The unique identifier of the privacy budget template. + // + // Id is a required field + Id *string `locationName:"id" min:"36" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the member who created the privacy budget + // template. + // + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` -// SetStatus sets the Status field's value. -func (s *Membership) SetStatus(v string) *Membership { - s.Status = &v - return s -} + // The identifier for a membership resource. + // + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` -// SetUpdateTime sets the UpdateTime field's value. -func (s *Membership) SetUpdateTime(v time.Time) *Membership { - s.UpdateTime = &v - return s -} + // Specifies the epislon and noise parameters for the privacy budget template. + // + // Parameters is a required field + Parameters *PrivacyBudgetTemplateParametersOutput_ `locationName:"parameters" type:"structure" required:"true"` -// An object representing the payment responsibilities accepted by the collaboration -// member. -type MembershipPaymentConfiguration struct { - _ struct{} `type:"structure"` + // Specifies the type of the privacy budget template. + // + // PrivacyBudgetType is a required field + PrivacyBudgetType *string `locationName:"privacyBudgetType" type:"string" required:"true" enum:"PrivacyBudgetType"` - // The payment responsibilities accepted by the collaboration member for query - // compute costs. + // The most recent time at which the privacy budget template was updated. // - // QueryCompute is a required field - QueryCompute *MembershipQueryComputePaymentConfig `locationName:"queryCompute" type:"structure" required:"true"` + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` } // String returns the string representation. @@ -11759,7 +17763,7 @@ type MembershipPaymentConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MembershipPaymentConfiguration) String() string { +func (s PrivacyBudgetTemplate) String() string { return awsutil.Prettify(s) } @@ -11768,94 +17772,83 @@ func (s MembershipPaymentConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MembershipPaymentConfiguration) GoString() string { +func (s PrivacyBudgetTemplate) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *MembershipPaymentConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MembershipPaymentConfiguration"} - if s.QueryCompute == nil { - invalidParams.Add(request.NewErrParamRequired("QueryCompute")) - } - if s.QueryCompute != nil { - if err := s.QueryCompute.Validate(); err != nil { - invalidParams.AddNested("QueryCompute", err.(request.ErrInvalidParams)) - } - } +// SetArn sets the Arn field's value. +func (s *PrivacyBudgetTemplate) SetArn(v string) *PrivacyBudgetTemplate { + s.Arn = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetAutoRefresh sets the AutoRefresh field's value. +func (s *PrivacyBudgetTemplate) SetAutoRefresh(v string) *PrivacyBudgetTemplate { + s.AutoRefresh = &v + return s } -// SetQueryCompute sets the QueryCompute field's value. -func (s *MembershipPaymentConfiguration) SetQueryCompute(v *MembershipQueryComputePaymentConfig) *MembershipPaymentConfiguration { - s.QueryCompute = v +// SetCollaborationArn sets the CollaborationArn field's value. +func (s *PrivacyBudgetTemplate) SetCollaborationArn(v string) *PrivacyBudgetTemplate { + s.CollaborationArn = &v return s } -// Contains configurations for protected query results. -type MembershipProtectedQueryOutputConfiguration struct { - _ struct{} `type:"structure"` +// SetCollaborationId sets the CollaborationId field's value. +func (s *PrivacyBudgetTemplate) SetCollaborationId(v string) *PrivacyBudgetTemplate { + s.CollaborationId = &v + return s +} - // Contains the configuration to write the query results to S3. - S3 *ProtectedQueryS3OutputConfiguration `locationName:"s3" type:"structure"` +// SetCreateTime sets the CreateTime field's value. +func (s *PrivacyBudgetTemplate) SetCreateTime(v time.Time) *PrivacyBudgetTemplate { + s.CreateTime = &v + return s } -// String returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s MembershipProtectedQueryOutputConfiguration) String() string { - return awsutil.Prettify(s) +// SetId sets the Id field's value. +func (s *PrivacyBudgetTemplate) SetId(v string) *PrivacyBudgetTemplate { + s.Id = &v + return s } -// GoString returns the string representation. -// -// API parameter values that are decorated as "sensitive" in the API will not -// be included in the string output. The member name will be present, but the -// value will be replaced with "sensitive". -func (s MembershipProtectedQueryOutputConfiguration) GoString() string { - return s.String() +// SetMembershipArn sets the MembershipArn field's value. +func (s *PrivacyBudgetTemplate) SetMembershipArn(v string) *PrivacyBudgetTemplate { + s.MembershipArn = &v + return s } -// Validate inspects the fields of the type to determine if they are valid. -func (s *MembershipProtectedQueryOutputConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MembershipProtectedQueryOutputConfiguration"} - if s.S3 != nil { - if err := s.S3.Validate(); err != nil { - invalidParams.AddNested("S3", err.(request.ErrInvalidParams)) - } - } +// SetMembershipId sets the MembershipId field's value. +func (s *PrivacyBudgetTemplate) SetMembershipId(v string) *PrivacyBudgetTemplate { + s.MembershipId = &v + return s +} - if invalidParams.Len() > 0 { - return invalidParams - } - return nil +// SetParameters sets the Parameters field's value. +func (s *PrivacyBudgetTemplate) SetParameters(v *PrivacyBudgetTemplateParametersOutput_) *PrivacyBudgetTemplate { + s.Parameters = v + return s } -// SetS3 sets the S3 field's value. -func (s *MembershipProtectedQueryOutputConfiguration) SetS3(v *ProtectedQueryS3OutputConfiguration) *MembershipProtectedQueryOutputConfiguration { - s.S3 = v +// SetPrivacyBudgetType sets the PrivacyBudgetType field's value. +func (s *PrivacyBudgetTemplate) SetPrivacyBudgetType(v string) *PrivacyBudgetTemplate { + s.PrivacyBudgetType = &v return s } -// Contains configurations for protected query results. -type MembershipProtectedQueryResultConfiguration struct { - _ struct{} `type:"structure"` +// SetUpdateTime sets the UpdateTime field's value. +func (s *PrivacyBudgetTemplate) SetUpdateTime(v time.Time) *PrivacyBudgetTemplate { + s.UpdateTime = &v + return s +} - // Configuration for protected query results. - // - // OutputConfiguration is a required field - OutputConfiguration *MembershipProtectedQueryOutputConfiguration `locationName:"outputConfiguration" type:"structure" required:"true"` +// The epsilon and noise parameters that you want to use for the privacy budget +// template. +type PrivacyBudgetTemplateParametersInput_ struct { + _ struct{} `type:"structure"` - // The unique ARN for an IAM role that is used by Clean Rooms to write protected - // query results to the result location, given by the member who can receive - // results. - RoleArn *string `locationName:"roleArn" min:"32" type:"string"` + // An object that specifies the epsilon and noise parameters. + DifferentialPrivacy *DifferentialPrivacyTemplateParametersInput_ `locationName:"differentialPrivacy" type:"structure"` } // String returns the string representation. @@ -11863,7 +17856,7 @@ type MembershipProtectedQueryResultConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MembershipProtectedQueryResultConfiguration) String() string { +func (s PrivacyBudgetTemplateParametersInput_) String() string { return awsutil.Prettify(s) } @@ -11872,22 +17865,16 @@ func (s MembershipProtectedQueryResultConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MembershipProtectedQueryResultConfiguration) GoString() string { +func (s PrivacyBudgetTemplateParametersInput_) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *MembershipProtectedQueryResultConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MembershipProtectedQueryResultConfiguration"} - if s.OutputConfiguration == nil { - invalidParams.Add(request.NewErrParamRequired("OutputConfiguration")) - } - if s.RoleArn != nil && len(*s.RoleArn) < 32 { - invalidParams.Add(request.NewErrParamMinLen("RoleArn", 32)) - } - if s.OutputConfiguration != nil { - if err := s.OutputConfiguration.Validate(); err != nil { - invalidParams.AddNested("OutputConfiguration", err.(request.ErrInvalidParams)) +func (s *PrivacyBudgetTemplateParametersInput_) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PrivacyBudgetTemplateParametersInput_"} + if s.DifferentialPrivacy != nil { + if err := s.DifferentialPrivacy.Validate(); err != nil { + invalidParams.AddNested("DifferentialPrivacy", err.(request.ErrInvalidParams)) } } @@ -11897,39 +17884,18 @@ func (s *MembershipProtectedQueryResultConfiguration) Validate() error { return nil } -// SetOutputConfiguration sets the OutputConfiguration field's value. -func (s *MembershipProtectedQueryResultConfiguration) SetOutputConfiguration(v *MembershipProtectedQueryOutputConfiguration) *MembershipProtectedQueryResultConfiguration { - s.OutputConfiguration = v - return s -} - -// SetRoleArn sets the RoleArn field's value. -func (s *MembershipProtectedQueryResultConfiguration) SetRoleArn(v string) *MembershipProtectedQueryResultConfiguration { - s.RoleArn = &v +// SetDifferentialPrivacy sets the DifferentialPrivacy field's value. +func (s *PrivacyBudgetTemplateParametersInput_) SetDifferentialPrivacy(v *DifferentialPrivacyTemplateParametersInput_) *PrivacyBudgetTemplateParametersInput_ { + s.DifferentialPrivacy = v return s } -// An object representing the payment responsibilities accepted by the collaboration -// member for query compute costs. -type MembershipQueryComputePaymentConfig struct { +// The epsilon and noise parameters that were used in the privacy budget template. +type PrivacyBudgetTemplateParametersOutput_ struct { _ struct{} `type:"structure"` - // Indicates whether the collaboration member has accepted to pay for query - // compute costs (TRUE) or has not accepted to pay for query compute costs (FALSE). - // - // If the collaboration creator has not specified anyone to pay for query compute - // costs, then the member who can query is the default payer. - // - // An error message is returned for the following reasons: - // - // * If you set the value to FALSE but you are responsible to pay for query - // compute costs. - // - // * If you set the value to TRUE but you are not responsible to pay for - // query compute costs. - // - // IsResponsible is a required field - IsResponsible *bool `locationName:"isResponsible" type:"boolean" required:"true"` + // The epsilon and noise parameters. + DifferentialPrivacy *DifferentialPrivacyTemplateParametersOutput_ `locationName:"differentialPrivacy" type:"structure"` } // String returns the string representation. @@ -11937,7 +17903,7 @@ type MembershipQueryComputePaymentConfig struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MembershipQueryComputePaymentConfig) String() string { +func (s PrivacyBudgetTemplateParametersOutput_) String() string { return awsutil.Prettify(s) } @@ -11946,90 +17912,63 @@ func (s MembershipQueryComputePaymentConfig) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MembershipQueryComputePaymentConfig) GoString() string { +func (s PrivacyBudgetTemplateParametersOutput_) GoString() string { return s.String() } -// Validate inspects the fields of the type to determine if they are valid. -func (s *MembershipQueryComputePaymentConfig) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "MembershipQueryComputePaymentConfig"} - if s.IsResponsible == nil { - invalidParams.Add(request.NewErrParamRequired("IsResponsible")) - } - - if invalidParams.Len() > 0 { - return invalidParams - } - return nil -} - -// SetIsResponsible sets the IsResponsible field's value. -func (s *MembershipQueryComputePaymentConfig) SetIsResponsible(v bool) *MembershipQueryComputePaymentConfig { - s.IsResponsible = &v +// SetDifferentialPrivacy sets the DifferentialPrivacy field's value. +func (s *PrivacyBudgetTemplateParametersOutput_) SetDifferentialPrivacy(v *DifferentialPrivacyTemplateParametersOutput_) *PrivacyBudgetTemplateParametersOutput_ { + s.DifferentialPrivacy = v return s } -// The membership object listed by the request. -type MembershipSummary struct { +// A summary of the privacy budget template. The summary includes membership +// information, collaboration information, and creation information. +type PrivacyBudgetTemplateSummary struct { _ struct{} `type:"structure"` - // The unique ARN for the membership. + // The ARN of the privacy budget template. // // Arn is a required field Arn *string `locationName:"arn" type:"string" required:"true"` - // The unique ARN for the membership's associated collaboration. + // The ARN of the collaboration that contains this privacy budget template. // // CollaborationArn is a required field CollaborationArn *string `locationName:"collaborationArn" type:"string" required:"true"` - // The identifier of the Amazon Web Services principal that created the collaboration. - // Currently only supports Amazon Web Services account ID. - // - // CollaborationCreatorAccountId is a required field - CollaborationCreatorAccountId *string `locationName:"collaborationCreatorAccountId" min:"12" type:"string" required:"true"` - - // The display name of the collaboration creator. - // - // CollaborationCreatorDisplayName is a required field - CollaborationCreatorDisplayName *string `locationName:"collaborationCreatorDisplayName" min:"1" type:"string" required:"true"` - - // The unique ID for the membership's collaboration. + // The unique ID of the collaboration that contains this privacy budget template. // // CollaborationId is a required field CollaborationId *string `locationName:"collaborationId" min:"36" type:"string" required:"true"` - // The name for the membership's collaboration. - // - // CollaborationName is a required field - CollaborationName *string `locationName:"collaborationName" min:"1" type:"string" required:"true"` - - // The time when the membership was created. + // The time at which the privacy budget template was created. // // CreateTime is a required field CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` - // The unique ID for the membership's collaboration. + // The unique identifier of the privacy budget template. // // Id is a required field Id *string `locationName:"id" min:"36" type:"string" required:"true"` - // The abilities granted to the collaboration member. + // The Amazon Resource Name (ARN) of the member who created the privacy budget + // template. // - // MemberAbilities is a required field - MemberAbilities []*string `locationName:"memberAbilities" type:"list" required:"true" enum:"MemberAbility"` + // MembershipArn is a required field + MembershipArn *string `locationName:"membershipArn" type:"string" required:"true"` - // The payment responsibilities accepted by the collaboration member. + // The identifier for a membership resource. // - // PaymentConfiguration is a required field - PaymentConfiguration *MembershipPaymentConfiguration `locationName:"paymentConfiguration" type:"structure" required:"true"` + // MembershipId is a required field + MembershipId *string `locationName:"membershipId" min:"36" type:"string" required:"true"` - // The status of the membership. + // The type of the privacy budget template. // - // Status is a required field - Status *string `locationName:"status" type:"string" required:"true" enum:"MembershipStatus"` + // PrivacyBudgetType is a required field + PrivacyBudgetType *string `locationName:"privacyBudgetType" type:"string" required:"true" enum:"PrivacyBudgetType"` - // The time the membership metadata was last updated. + // The most recent time at which the privacy budget template was updated. // // UpdateTime is a required field UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" required:"true"` @@ -12040,7 +17979,7 @@ type MembershipSummary struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MembershipSummary) String() string { +func (s PrivacyBudgetTemplateSummary) String() string { return awsutil.Prettify(s) } @@ -12049,92 +17988,71 @@ func (s MembershipSummary) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s MembershipSummary) GoString() string { +func (s PrivacyBudgetTemplateSummary) GoString() string { return s.String() } // SetArn sets the Arn field's value. -func (s *MembershipSummary) SetArn(v string) *MembershipSummary { +func (s *PrivacyBudgetTemplateSummary) SetArn(v string) *PrivacyBudgetTemplateSummary { s.Arn = &v return s } // SetCollaborationArn sets the CollaborationArn field's value. -func (s *MembershipSummary) SetCollaborationArn(v string) *MembershipSummary { +func (s *PrivacyBudgetTemplateSummary) SetCollaborationArn(v string) *PrivacyBudgetTemplateSummary { s.CollaborationArn = &v return s } -// SetCollaborationCreatorAccountId sets the CollaborationCreatorAccountId field's value. -func (s *MembershipSummary) SetCollaborationCreatorAccountId(v string) *MembershipSummary { - s.CollaborationCreatorAccountId = &v - return s -} - -// SetCollaborationCreatorDisplayName sets the CollaborationCreatorDisplayName field's value. -func (s *MembershipSummary) SetCollaborationCreatorDisplayName(v string) *MembershipSummary { - s.CollaborationCreatorDisplayName = &v - return s -} - // SetCollaborationId sets the CollaborationId field's value. -func (s *MembershipSummary) SetCollaborationId(v string) *MembershipSummary { +func (s *PrivacyBudgetTemplateSummary) SetCollaborationId(v string) *PrivacyBudgetTemplateSummary { s.CollaborationId = &v return s } -// SetCollaborationName sets the CollaborationName field's value. -func (s *MembershipSummary) SetCollaborationName(v string) *MembershipSummary { - s.CollaborationName = &v - return s -} - // SetCreateTime sets the CreateTime field's value. -func (s *MembershipSummary) SetCreateTime(v time.Time) *MembershipSummary { +func (s *PrivacyBudgetTemplateSummary) SetCreateTime(v time.Time) *PrivacyBudgetTemplateSummary { s.CreateTime = &v return s } // SetId sets the Id field's value. -func (s *MembershipSummary) SetId(v string) *MembershipSummary { +func (s *PrivacyBudgetTemplateSummary) SetId(v string) *PrivacyBudgetTemplateSummary { s.Id = &v return s } -// SetMemberAbilities sets the MemberAbilities field's value. -func (s *MembershipSummary) SetMemberAbilities(v []*string) *MembershipSummary { - s.MemberAbilities = v +// SetMembershipArn sets the MembershipArn field's value. +func (s *PrivacyBudgetTemplateSummary) SetMembershipArn(v string) *PrivacyBudgetTemplateSummary { + s.MembershipArn = &v return s } -// SetPaymentConfiguration sets the PaymentConfiguration field's value. -func (s *MembershipSummary) SetPaymentConfiguration(v *MembershipPaymentConfiguration) *MembershipSummary { - s.PaymentConfiguration = v +// SetMembershipId sets the MembershipId field's value. +func (s *PrivacyBudgetTemplateSummary) SetMembershipId(v string) *PrivacyBudgetTemplateSummary { + s.MembershipId = &v return s } -// SetStatus sets the Status field's value. -func (s *MembershipSummary) SetStatus(v string) *MembershipSummary { - s.Status = &v +// SetPrivacyBudgetType sets the PrivacyBudgetType field's value. +func (s *PrivacyBudgetTemplateSummary) SetPrivacyBudgetType(v string) *PrivacyBudgetTemplateSummary { + s.PrivacyBudgetType = &v return s } // SetUpdateTime sets the UpdateTime field's value. -func (s *MembershipSummary) SetUpdateTime(v time.Time) *MembershipSummary { +func (s *PrivacyBudgetTemplateSummary) SetUpdateTime(v time.Time) *PrivacyBudgetTemplateSummary { s.UpdateTime = &v return s } -// An object representing the collaboration member's payment responsibilities -// set by the collaboration creator. -type PaymentConfiguration struct { +// The epsilon and noise parameters that you want to update in the privacy budget +// template. +type PrivacyBudgetTemplateUpdateParameters struct { _ struct{} `type:"structure"` - // The collaboration member's payment responsibilities set by the collaboration - // creator for query compute costs. - // - // QueryCompute is a required field - QueryCompute *QueryComputePaymentConfig `locationName:"queryCompute" type:"structure" required:"true"` + // An object that specifies the new values for the epsilon and noise parameters. + DifferentialPrivacy *DifferentialPrivacyTemplateUpdateParameters `locationName:"differentialPrivacy" type:"structure"` } // String returns the string representation. @@ -12142,7 +18060,7 @@ type PaymentConfiguration struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PaymentConfiguration) String() string { +func (s PrivacyBudgetTemplateUpdateParameters) String() string { return awsutil.Prettify(s) } @@ -12151,19 +18069,16 @@ func (s PaymentConfiguration) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s PaymentConfiguration) GoString() string { +func (s PrivacyBudgetTemplateUpdateParameters) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *PaymentConfiguration) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "PaymentConfiguration"} - if s.QueryCompute == nil { - invalidParams.Add(request.NewErrParamRequired("QueryCompute")) - } - if s.QueryCompute != nil { - if err := s.QueryCompute.Validate(); err != nil { - invalidParams.AddNested("QueryCompute", err.(request.ErrInvalidParams)) +func (s *PrivacyBudgetTemplateUpdateParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PrivacyBudgetTemplateUpdateParameters"} + if s.DifferentialPrivacy != nil { + if err := s.DifferentialPrivacy.Validate(); err != nil { + invalidParams.AddNested("DifferentialPrivacy", err.(request.ErrInvalidParams)) } } @@ -12173,9 +18088,43 @@ func (s *PaymentConfiguration) Validate() error { return nil } -// SetQueryCompute sets the QueryCompute field's value. -func (s *PaymentConfiguration) SetQueryCompute(v *QueryComputePaymentConfig) *PaymentConfiguration { - s.QueryCompute = v +// SetDifferentialPrivacy sets the DifferentialPrivacy field's value. +func (s *PrivacyBudgetTemplateUpdateParameters) SetDifferentialPrivacy(v *DifferentialPrivacyTemplateUpdateParameters) *PrivacyBudgetTemplateUpdateParameters { + s.DifferentialPrivacy = v + return s +} + +// Provides an estimate of the number of aggregation functions that the member +// who can query can run given the epsilon and noise parameters. +type PrivacyImpact struct { + _ struct{} `type:"structure"` + + // An object that lists the number and type of aggregation functions you can + // perform. + DifferentialPrivacy *DifferentialPrivacyPrivacyImpact `locationName:"differentialPrivacy" type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PrivacyImpact) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PrivacyImpact) GoString() string { + return s.String() +} + +// SetDifferentialPrivacy sets the DifferentialPrivacy field's value. +func (s *PrivacyImpact) SetDifferentialPrivacy(v *DifferentialPrivacyPrivacyImpact) *PrivacyImpact { + s.DifferentialPrivacy = v return s } @@ -12188,6 +18137,10 @@ type ProtectedQuery struct { // CreateTime is a required field CreateTime *time.Time `locationName:"createTime" type:"timestamp" required:"true"` + // The sensitivity parameters of the differential privacy results of the protected + // query. + DifferentialPrivacy *DifferentialPrivacyParameters `locationName:"differentialPrivacy" type:"structure"` + // An error thrown by the protected query. Error *ProtectedQueryError `locationName:"error" type:"structure"` @@ -12252,6 +18205,12 @@ func (s *ProtectedQuery) SetCreateTime(v time.Time) *ProtectedQuery { return s } +// SetDifferentialPrivacy sets the DifferentialPrivacy field's value. +func (s *ProtectedQuery) SetDifferentialPrivacy(v *DifferentialPrivacyParameters) *ProtectedQuery { + s.DifferentialPrivacy = v + return s +} + // SetError sets the Error field's value. func (s *ProtectedQuery) SetError(v *ProtectedQueryError) *ProtectedQuery { s.Error = v @@ -13940,6 +19899,128 @@ func (s *UpdateCollaborationOutput) SetCollaboration(v *Collaboration) *UpdateCo return s } +type UpdateConfiguredAudienceModelAssociationInput struct { + _ struct{} `type:"structure"` + + // A unique identifier for the configured audience model association that you + // want to update. + // + // ConfiguredAudienceModelAssociationIdentifier is a required field + ConfiguredAudienceModelAssociationIdentifier *string `location:"uri" locationName:"configuredAudienceModelAssociationIdentifier" min:"36" type:"string" required:"true"` + + // A new description for the configured audience model association. + Description *string `locationName:"description" type:"string"` + + // A unique identifier of the membership that contains the configured audience + // model association that you want to update. + // + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + + // A new name for the configured audience model association. + Name *string `locationName:"name" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateConfiguredAudienceModelAssociationInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateConfiguredAudienceModelAssociationInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateConfiguredAudienceModelAssociationInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateConfiguredAudienceModelAssociationInput"} + if s.ConfiguredAudienceModelAssociationIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelAssociationIdentifier")) + } + if s.ConfiguredAudienceModelAssociationIdentifier != nil && len(*s.ConfiguredAudienceModelAssociationIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelAssociationIdentifier", 36)) + } + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfiguredAudienceModelAssociationIdentifier sets the ConfiguredAudienceModelAssociationIdentifier field's value. +func (s *UpdateConfiguredAudienceModelAssociationInput) SetConfiguredAudienceModelAssociationIdentifier(v string) *UpdateConfiguredAudienceModelAssociationInput { + s.ConfiguredAudienceModelAssociationIdentifier = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateConfiguredAudienceModelAssociationInput) SetDescription(v string) *UpdateConfiguredAudienceModelAssociationInput { + s.Description = &v + return s +} + +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *UpdateConfiguredAudienceModelAssociationInput) SetMembershipIdentifier(v string) *UpdateConfiguredAudienceModelAssociationInput { + s.MembershipIdentifier = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateConfiguredAudienceModelAssociationInput) SetName(v string) *UpdateConfiguredAudienceModelAssociationInput { + s.Name = &v + return s +} + +type UpdateConfiguredAudienceModelAssociationOutput struct { + _ struct{} `type:"structure"` + + // Details about the configured audience model association that you updated. + // + // ConfiguredAudienceModelAssociation is a required field + ConfiguredAudienceModelAssociation *ConfiguredAudienceModelAssociation `locationName:"configuredAudienceModelAssociation" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateConfiguredAudienceModelAssociationOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateConfiguredAudienceModelAssociationOutput) GoString() string { + return s.String() +} + +// SetConfiguredAudienceModelAssociation sets the ConfiguredAudienceModelAssociation field's value. +func (s *UpdateConfiguredAudienceModelAssociationOutput) SetConfiguredAudienceModelAssociation(v *ConfiguredAudienceModelAssociation) *UpdateConfiguredAudienceModelAssociationOutput { + s.ConfiguredAudienceModelAssociation = v + return s +} + type UpdateConfiguredTableAnalysisRuleInput struct { _ struct{} `type:"structure"` @@ -14395,6 +20476,135 @@ func (s *UpdateMembershipOutput) SetMembership(v *Membership) *UpdateMembershipO return s } +type UpdatePrivacyBudgetTemplateInput struct { + _ struct{} `type:"structure"` + + // A unique identifier for one of your memberships for a collaboration. The + // privacy budget template is updated in the collaboration that this membership + // belongs to. Accepts a membership ID. + // + // MembershipIdentifier is a required field + MembershipIdentifier *string `location:"uri" locationName:"membershipIdentifier" min:"36" type:"string" required:"true"` + + // Specifies the epsilon and noise parameters for the privacy budget template. + Parameters *PrivacyBudgetTemplateUpdateParameters `locationName:"parameters" type:"structure"` + + // A unique identifier for your privacy budget template that you want to update. + // + // PrivacyBudgetTemplateIdentifier is a required field + PrivacyBudgetTemplateIdentifier *string `location:"uri" locationName:"privacyBudgetTemplateIdentifier" min:"36" type:"string" required:"true"` + + // Specifies the type of the privacy budget template. + // + // PrivacyBudgetType is a required field + PrivacyBudgetType *string `locationName:"privacyBudgetType" type:"string" required:"true" enum:"PrivacyBudgetType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePrivacyBudgetTemplateInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePrivacyBudgetTemplateInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdatePrivacyBudgetTemplateInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdatePrivacyBudgetTemplateInput"} + if s.MembershipIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("MembershipIdentifier")) + } + if s.MembershipIdentifier != nil && len(*s.MembershipIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("MembershipIdentifier", 36)) + } + if s.PrivacyBudgetTemplateIdentifier == nil { + invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetTemplateIdentifier")) + } + if s.PrivacyBudgetTemplateIdentifier != nil && len(*s.PrivacyBudgetTemplateIdentifier) < 36 { + invalidParams.Add(request.NewErrParamMinLen("PrivacyBudgetTemplateIdentifier", 36)) + } + if s.PrivacyBudgetType == nil { + invalidParams.Add(request.NewErrParamRequired("PrivacyBudgetType")) + } + if s.Parameters != nil { + if err := s.Parameters.Validate(); err != nil { + invalidParams.AddNested("Parameters", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMembershipIdentifier sets the MembershipIdentifier field's value. +func (s *UpdatePrivacyBudgetTemplateInput) SetMembershipIdentifier(v string) *UpdatePrivacyBudgetTemplateInput { + s.MembershipIdentifier = &v + return s +} + +// SetParameters sets the Parameters field's value. +func (s *UpdatePrivacyBudgetTemplateInput) SetParameters(v *PrivacyBudgetTemplateUpdateParameters) *UpdatePrivacyBudgetTemplateInput { + s.Parameters = v + return s +} + +// SetPrivacyBudgetTemplateIdentifier sets the PrivacyBudgetTemplateIdentifier field's value. +func (s *UpdatePrivacyBudgetTemplateInput) SetPrivacyBudgetTemplateIdentifier(v string) *UpdatePrivacyBudgetTemplateInput { + s.PrivacyBudgetTemplateIdentifier = &v + return s +} + +// SetPrivacyBudgetType sets the PrivacyBudgetType field's value. +func (s *UpdatePrivacyBudgetTemplateInput) SetPrivacyBudgetType(v string) *UpdatePrivacyBudgetTemplateInput { + s.PrivacyBudgetType = &v + return s +} + +type UpdatePrivacyBudgetTemplateOutput struct { + _ struct{} `type:"structure"` + + // Summary of the privacy budget template. + // + // PrivacyBudgetTemplate is a required field + PrivacyBudgetTemplate *PrivacyBudgetTemplate `locationName:"privacyBudgetTemplate" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePrivacyBudgetTemplateOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdatePrivacyBudgetTemplateOutput) GoString() string { + return s.String() +} + +// SetPrivacyBudgetTemplate sets the PrivacyBudgetTemplate field's value. +func (s *UpdatePrivacyBudgetTemplateOutput) SetPrivacyBudgetTemplate(v *PrivacyBudgetTemplate) *UpdatePrivacyBudgetTemplateOutput { + s.PrivacyBudgetTemplate = v + return s +} + type UpdateProtectedQueryInput struct { _ struct{} `type:"structure"` @@ -14776,6 +20986,34 @@ func ConflictExceptionReason_Values() []string { } } +const ( + // DifferentialPrivacyAggregationTypeAvg is a DifferentialPrivacyAggregationType enum value + DifferentialPrivacyAggregationTypeAvg = "AVG" + + // DifferentialPrivacyAggregationTypeCount is a DifferentialPrivacyAggregationType enum value + DifferentialPrivacyAggregationTypeCount = "COUNT" + + // DifferentialPrivacyAggregationTypeCountDistinct is a DifferentialPrivacyAggregationType enum value + DifferentialPrivacyAggregationTypeCountDistinct = "COUNT_DISTINCT" + + // DifferentialPrivacyAggregationTypeSum is a DifferentialPrivacyAggregationType enum value + DifferentialPrivacyAggregationTypeSum = "SUM" + + // DifferentialPrivacyAggregationTypeStddev is a DifferentialPrivacyAggregationType enum value + DifferentialPrivacyAggregationTypeStddev = "STDDEV" +) + +// DifferentialPrivacyAggregationType_Values returns all elements of the DifferentialPrivacyAggregationType enum +func DifferentialPrivacyAggregationType_Values() []string { + return []string{ + DifferentialPrivacyAggregationTypeAvg, + DifferentialPrivacyAggregationTypeCount, + DifferentialPrivacyAggregationTypeCountDistinct, + DifferentialPrivacyAggregationTypeSum, + DifferentialPrivacyAggregationTypeStddev, + } +} + const ( // FilterableMemberStatusInvited is a FilterableMemberStatus enum value FilterableMemberStatusInvited = "INVITED" @@ -14964,6 +21202,34 @@ func ParameterType_Values() []string { } } +const ( + // PrivacyBudgetTemplateAutoRefreshCalendarMonth is a PrivacyBudgetTemplateAutoRefresh enum value + PrivacyBudgetTemplateAutoRefreshCalendarMonth = "CALENDAR_MONTH" + + // PrivacyBudgetTemplateAutoRefreshNone is a PrivacyBudgetTemplateAutoRefresh enum value + PrivacyBudgetTemplateAutoRefreshNone = "NONE" +) + +// PrivacyBudgetTemplateAutoRefresh_Values returns all elements of the PrivacyBudgetTemplateAutoRefresh enum +func PrivacyBudgetTemplateAutoRefresh_Values() []string { + return []string{ + PrivacyBudgetTemplateAutoRefreshCalendarMonth, + PrivacyBudgetTemplateAutoRefreshNone, + } +} + +const ( + // PrivacyBudgetTypeDifferentialPrivacy is a PrivacyBudgetType enum value + PrivacyBudgetTypeDifferentialPrivacy = "DIFFERENTIAL_PRIVACY" +) + +// PrivacyBudgetType_Values returns all elements of the PrivacyBudgetType enum +func PrivacyBudgetType_Values() []string { + return []string{ + PrivacyBudgetTypeDifferentialPrivacy, + } +} + const ( // ProtectedQueryStatusSubmitted is a ProtectedQueryStatus enum value ProtectedQueryStatusSubmitted = "SUBMITTED" diff --git a/service/cleanrooms/cleanroomsiface/interface.go b/service/cleanrooms/cleanroomsiface/interface.go index 81e6192712c..0ce1ab74791 100644 --- a/service/cleanrooms/cleanroomsiface/interface.go +++ b/service/cleanrooms/cleanroomsiface/interface.go @@ -76,6 +76,10 @@ type CleanRoomsAPI interface { CreateCollaborationWithContext(aws.Context, *cleanrooms.CreateCollaborationInput, ...request.Option) (*cleanrooms.CreateCollaborationOutput, error) CreateCollaborationRequest(*cleanrooms.CreateCollaborationInput) (*request.Request, *cleanrooms.CreateCollaborationOutput) + CreateConfiguredAudienceModelAssociation(*cleanrooms.CreateConfiguredAudienceModelAssociationInput) (*cleanrooms.CreateConfiguredAudienceModelAssociationOutput, error) + CreateConfiguredAudienceModelAssociationWithContext(aws.Context, *cleanrooms.CreateConfiguredAudienceModelAssociationInput, ...request.Option) (*cleanrooms.CreateConfiguredAudienceModelAssociationOutput, error) + CreateConfiguredAudienceModelAssociationRequest(*cleanrooms.CreateConfiguredAudienceModelAssociationInput) (*request.Request, *cleanrooms.CreateConfiguredAudienceModelAssociationOutput) + CreateConfiguredTable(*cleanrooms.CreateConfiguredTableInput) (*cleanrooms.CreateConfiguredTableOutput, error) CreateConfiguredTableWithContext(aws.Context, *cleanrooms.CreateConfiguredTableInput, ...request.Option) (*cleanrooms.CreateConfiguredTableOutput, error) CreateConfiguredTableRequest(*cleanrooms.CreateConfiguredTableInput) (*request.Request, *cleanrooms.CreateConfiguredTableOutput) @@ -92,6 +96,10 @@ type CleanRoomsAPI interface { CreateMembershipWithContext(aws.Context, *cleanrooms.CreateMembershipInput, ...request.Option) (*cleanrooms.CreateMembershipOutput, error) CreateMembershipRequest(*cleanrooms.CreateMembershipInput) (*request.Request, *cleanrooms.CreateMembershipOutput) + CreatePrivacyBudgetTemplate(*cleanrooms.CreatePrivacyBudgetTemplateInput) (*cleanrooms.CreatePrivacyBudgetTemplateOutput, error) + CreatePrivacyBudgetTemplateWithContext(aws.Context, *cleanrooms.CreatePrivacyBudgetTemplateInput, ...request.Option) (*cleanrooms.CreatePrivacyBudgetTemplateOutput, error) + CreatePrivacyBudgetTemplateRequest(*cleanrooms.CreatePrivacyBudgetTemplateInput) (*request.Request, *cleanrooms.CreatePrivacyBudgetTemplateOutput) + DeleteAnalysisTemplate(*cleanrooms.DeleteAnalysisTemplateInput) (*cleanrooms.DeleteAnalysisTemplateOutput, error) DeleteAnalysisTemplateWithContext(aws.Context, *cleanrooms.DeleteAnalysisTemplateInput, ...request.Option) (*cleanrooms.DeleteAnalysisTemplateOutput, error) DeleteAnalysisTemplateRequest(*cleanrooms.DeleteAnalysisTemplateInput) (*request.Request, *cleanrooms.DeleteAnalysisTemplateOutput) @@ -100,6 +108,10 @@ type CleanRoomsAPI interface { DeleteCollaborationWithContext(aws.Context, *cleanrooms.DeleteCollaborationInput, ...request.Option) (*cleanrooms.DeleteCollaborationOutput, error) DeleteCollaborationRequest(*cleanrooms.DeleteCollaborationInput) (*request.Request, *cleanrooms.DeleteCollaborationOutput) + DeleteConfiguredAudienceModelAssociation(*cleanrooms.DeleteConfiguredAudienceModelAssociationInput) (*cleanrooms.DeleteConfiguredAudienceModelAssociationOutput, error) + DeleteConfiguredAudienceModelAssociationWithContext(aws.Context, *cleanrooms.DeleteConfiguredAudienceModelAssociationInput, ...request.Option) (*cleanrooms.DeleteConfiguredAudienceModelAssociationOutput, error) + DeleteConfiguredAudienceModelAssociationRequest(*cleanrooms.DeleteConfiguredAudienceModelAssociationInput) (*request.Request, *cleanrooms.DeleteConfiguredAudienceModelAssociationOutput) + DeleteConfiguredTable(*cleanrooms.DeleteConfiguredTableInput) (*cleanrooms.DeleteConfiguredTableOutput, error) DeleteConfiguredTableWithContext(aws.Context, *cleanrooms.DeleteConfiguredTableInput, ...request.Option) (*cleanrooms.DeleteConfiguredTableOutput, error) DeleteConfiguredTableRequest(*cleanrooms.DeleteConfiguredTableInput) (*request.Request, *cleanrooms.DeleteConfiguredTableOutput) @@ -120,6 +132,10 @@ type CleanRoomsAPI interface { DeleteMembershipWithContext(aws.Context, *cleanrooms.DeleteMembershipInput, ...request.Option) (*cleanrooms.DeleteMembershipOutput, error) DeleteMembershipRequest(*cleanrooms.DeleteMembershipInput) (*request.Request, *cleanrooms.DeleteMembershipOutput) + DeletePrivacyBudgetTemplate(*cleanrooms.DeletePrivacyBudgetTemplateInput) (*cleanrooms.DeletePrivacyBudgetTemplateOutput, error) + DeletePrivacyBudgetTemplateWithContext(aws.Context, *cleanrooms.DeletePrivacyBudgetTemplateInput, ...request.Option) (*cleanrooms.DeletePrivacyBudgetTemplateOutput, error) + DeletePrivacyBudgetTemplateRequest(*cleanrooms.DeletePrivacyBudgetTemplateInput) (*request.Request, *cleanrooms.DeletePrivacyBudgetTemplateOutput) + GetAnalysisTemplate(*cleanrooms.GetAnalysisTemplateInput) (*cleanrooms.GetAnalysisTemplateOutput, error) GetAnalysisTemplateWithContext(aws.Context, *cleanrooms.GetAnalysisTemplateInput, ...request.Option) (*cleanrooms.GetAnalysisTemplateOutput, error) GetAnalysisTemplateRequest(*cleanrooms.GetAnalysisTemplateInput) (*request.Request, *cleanrooms.GetAnalysisTemplateOutput) @@ -132,6 +148,18 @@ type CleanRoomsAPI interface { GetCollaborationAnalysisTemplateWithContext(aws.Context, *cleanrooms.GetCollaborationAnalysisTemplateInput, ...request.Option) (*cleanrooms.GetCollaborationAnalysisTemplateOutput, error) GetCollaborationAnalysisTemplateRequest(*cleanrooms.GetCollaborationAnalysisTemplateInput) (*request.Request, *cleanrooms.GetCollaborationAnalysisTemplateOutput) + GetCollaborationConfiguredAudienceModelAssociation(*cleanrooms.GetCollaborationConfiguredAudienceModelAssociationInput) (*cleanrooms.GetCollaborationConfiguredAudienceModelAssociationOutput, error) + GetCollaborationConfiguredAudienceModelAssociationWithContext(aws.Context, *cleanrooms.GetCollaborationConfiguredAudienceModelAssociationInput, ...request.Option) (*cleanrooms.GetCollaborationConfiguredAudienceModelAssociationOutput, error) + GetCollaborationConfiguredAudienceModelAssociationRequest(*cleanrooms.GetCollaborationConfiguredAudienceModelAssociationInput) (*request.Request, *cleanrooms.GetCollaborationConfiguredAudienceModelAssociationOutput) + + GetCollaborationPrivacyBudgetTemplate(*cleanrooms.GetCollaborationPrivacyBudgetTemplateInput) (*cleanrooms.GetCollaborationPrivacyBudgetTemplateOutput, error) + GetCollaborationPrivacyBudgetTemplateWithContext(aws.Context, *cleanrooms.GetCollaborationPrivacyBudgetTemplateInput, ...request.Option) (*cleanrooms.GetCollaborationPrivacyBudgetTemplateOutput, error) + GetCollaborationPrivacyBudgetTemplateRequest(*cleanrooms.GetCollaborationPrivacyBudgetTemplateInput) (*request.Request, *cleanrooms.GetCollaborationPrivacyBudgetTemplateOutput) + + GetConfiguredAudienceModelAssociation(*cleanrooms.GetConfiguredAudienceModelAssociationInput) (*cleanrooms.GetConfiguredAudienceModelAssociationOutput, error) + GetConfiguredAudienceModelAssociationWithContext(aws.Context, *cleanrooms.GetConfiguredAudienceModelAssociationInput, ...request.Option) (*cleanrooms.GetConfiguredAudienceModelAssociationOutput, error) + GetConfiguredAudienceModelAssociationRequest(*cleanrooms.GetConfiguredAudienceModelAssociationInput) (*request.Request, *cleanrooms.GetConfiguredAudienceModelAssociationOutput) + GetConfiguredTable(*cleanrooms.GetConfiguredTableInput) (*cleanrooms.GetConfiguredTableOutput, error) GetConfiguredTableWithContext(aws.Context, *cleanrooms.GetConfiguredTableInput, ...request.Option) (*cleanrooms.GetConfiguredTableOutput, error) GetConfiguredTableRequest(*cleanrooms.GetConfiguredTableInput) (*request.Request, *cleanrooms.GetConfiguredTableOutput) @@ -148,6 +176,10 @@ type CleanRoomsAPI interface { GetMembershipWithContext(aws.Context, *cleanrooms.GetMembershipInput, ...request.Option) (*cleanrooms.GetMembershipOutput, error) GetMembershipRequest(*cleanrooms.GetMembershipInput) (*request.Request, *cleanrooms.GetMembershipOutput) + GetPrivacyBudgetTemplate(*cleanrooms.GetPrivacyBudgetTemplateInput) (*cleanrooms.GetPrivacyBudgetTemplateOutput, error) + GetPrivacyBudgetTemplateWithContext(aws.Context, *cleanrooms.GetPrivacyBudgetTemplateInput, ...request.Option) (*cleanrooms.GetPrivacyBudgetTemplateOutput, error) + GetPrivacyBudgetTemplateRequest(*cleanrooms.GetPrivacyBudgetTemplateInput) (*request.Request, *cleanrooms.GetPrivacyBudgetTemplateOutput) + GetProtectedQuery(*cleanrooms.GetProtectedQueryInput) (*cleanrooms.GetProtectedQueryOutput, error) GetProtectedQueryWithContext(aws.Context, *cleanrooms.GetProtectedQueryInput, ...request.Option) (*cleanrooms.GetProtectedQueryOutput, error) GetProtectedQueryRequest(*cleanrooms.GetProtectedQueryInput) (*request.Request, *cleanrooms.GetProtectedQueryOutput) @@ -174,6 +206,27 @@ type CleanRoomsAPI interface { ListCollaborationAnalysisTemplatesPages(*cleanrooms.ListCollaborationAnalysisTemplatesInput, func(*cleanrooms.ListCollaborationAnalysisTemplatesOutput, bool) bool) error ListCollaborationAnalysisTemplatesPagesWithContext(aws.Context, *cleanrooms.ListCollaborationAnalysisTemplatesInput, func(*cleanrooms.ListCollaborationAnalysisTemplatesOutput, bool) bool, ...request.Option) error + ListCollaborationConfiguredAudienceModelAssociations(*cleanrooms.ListCollaborationConfiguredAudienceModelAssociationsInput) (*cleanrooms.ListCollaborationConfiguredAudienceModelAssociationsOutput, error) + ListCollaborationConfiguredAudienceModelAssociationsWithContext(aws.Context, *cleanrooms.ListCollaborationConfiguredAudienceModelAssociationsInput, ...request.Option) (*cleanrooms.ListCollaborationConfiguredAudienceModelAssociationsOutput, error) + ListCollaborationConfiguredAudienceModelAssociationsRequest(*cleanrooms.ListCollaborationConfiguredAudienceModelAssociationsInput) (*request.Request, *cleanrooms.ListCollaborationConfiguredAudienceModelAssociationsOutput) + + ListCollaborationConfiguredAudienceModelAssociationsPages(*cleanrooms.ListCollaborationConfiguredAudienceModelAssociationsInput, func(*cleanrooms.ListCollaborationConfiguredAudienceModelAssociationsOutput, bool) bool) error + ListCollaborationConfiguredAudienceModelAssociationsPagesWithContext(aws.Context, *cleanrooms.ListCollaborationConfiguredAudienceModelAssociationsInput, func(*cleanrooms.ListCollaborationConfiguredAudienceModelAssociationsOutput, bool) bool, ...request.Option) error + + ListCollaborationPrivacyBudgetTemplates(*cleanrooms.ListCollaborationPrivacyBudgetTemplatesInput) (*cleanrooms.ListCollaborationPrivacyBudgetTemplatesOutput, error) + ListCollaborationPrivacyBudgetTemplatesWithContext(aws.Context, *cleanrooms.ListCollaborationPrivacyBudgetTemplatesInput, ...request.Option) (*cleanrooms.ListCollaborationPrivacyBudgetTemplatesOutput, error) + ListCollaborationPrivacyBudgetTemplatesRequest(*cleanrooms.ListCollaborationPrivacyBudgetTemplatesInput) (*request.Request, *cleanrooms.ListCollaborationPrivacyBudgetTemplatesOutput) + + ListCollaborationPrivacyBudgetTemplatesPages(*cleanrooms.ListCollaborationPrivacyBudgetTemplatesInput, func(*cleanrooms.ListCollaborationPrivacyBudgetTemplatesOutput, bool) bool) error + ListCollaborationPrivacyBudgetTemplatesPagesWithContext(aws.Context, *cleanrooms.ListCollaborationPrivacyBudgetTemplatesInput, func(*cleanrooms.ListCollaborationPrivacyBudgetTemplatesOutput, bool) bool, ...request.Option) error + + ListCollaborationPrivacyBudgets(*cleanrooms.ListCollaborationPrivacyBudgetsInput) (*cleanrooms.ListCollaborationPrivacyBudgetsOutput, error) + ListCollaborationPrivacyBudgetsWithContext(aws.Context, *cleanrooms.ListCollaborationPrivacyBudgetsInput, ...request.Option) (*cleanrooms.ListCollaborationPrivacyBudgetsOutput, error) + ListCollaborationPrivacyBudgetsRequest(*cleanrooms.ListCollaborationPrivacyBudgetsInput) (*request.Request, *cleanrooms.ListCollaborationPrivacyBudgetsOutput) + + ListCollaborationPrivacyBudgetsPages(*cleanrooms.ListCollaborationPrivacyBudgetsInput, func(*cleanrooms.ListCollaborationPrivacyBudgetsOutput, bool) bool) error + ListCollaborationPrivacyBudgetsPagesWithContext(aws.Context, *cleanrooms.ListCollaborationPrivacyBudgetsInput, func(*cleanrooms.ListCollaborationPrivacyBudgetsOutput, bool) bool, ...request.Option) error + ListCollaborations(*cleanrooms.ListCollaborationsInput) (*cleanrooms.ListCollaborationsOutput, error) ListCollaborationsWithContext(aws.Context, *cleanrooms.ListCollaborationsInput, ...request.Option) (*cleanrooms.ListCollaborationsOutput, error) ListCollaborationsRequest(*cleanrooms.ListCollaborationsInput) (*request.Request, *cleanrooms.ListCollaborationsOutput) @@ -181,6 +234,13 @@ type CleanRoomsAPI interface { ListCollaborationsPages(*cleanrooms.ListCollaborationsInput, func(*cleanrooms.ListCollaborationsOutput, bool) bool) error ListCollaborationsPagesWithContext(aws.Context, *cleanrooms.ListCollaborationsInput, func(*cleanrooms.ListCollaborationsOutput, bool) bool, ...request.Option) error + ListConfiguredAudienceModelAssociations(*cleanrooms.ListConfiguredAudienceModelAssociationsInput) (*cleanrooms.ListConfiguredAudienceModelAssociationsOutput, error) + ListConfiguredAudienceModelAssociationsWithContext(aws.Context, *cleanrooms.ListConfiguredAudienceModelAssociationsInput, ...request.Option) (*cleanrooms.ListConfiguredAudienceModelAssociationsOutput, error) + ListConfiguredAudienceModelAssociationsRequest(*cleanrooms.ListConfiguredAudienceModelAssociationsInput) (*request.Request, *cleanrooms.ListConfiguredAudienceModelAssociationsOutput) + + ListConfiguredAudienceModelAssociationsPages(*cleanrooms.ListConfiguredAudienceModelAssociationsInput, func(*cleanrooms.ListConfiguredAudienceModelAssociationsOutput, bool) bool) error + ListConfiguredAudienceModelAssociationsPagesWithContext(aws.Context, *cleanrooms.ListConfiguredAudienceModelAssociationsInput, func(*cleanrooms.ListConfiguredAudienceModelAssociationsOutput, bool) bool, ...request.Option) error + ListConfiguredTableAssociations(*cleanrooms.ListConfiguredTableAssociationsInput) (*cleanrooms.ListConfiguredTableAssociationsOutput, error) ListConfiguredTableAssociationsWithContext(aws.Context, *cleanrooms.ListConfiguredTableAssociationsInput, ...request.Option) (*cleanrooms.ListConfiguredTableAssociationsOutput, error) ListConfiguredTableAssociationsRequest(*cleanrooms.ListConfiguredTableAssociationsInput) (*request.Request, *cleanrooms.ListConfiguredTableAssociationsOutput) @@ -209,6 +269,20 @@ type CleanRoomsAPI interface { ListMembershipsPages(*cleanrooms.ListMembershipsInput, func(*cleanrooms.ListMembershipsOutput, bool) bool) error ListMembershipsPagesWithContext(aws.Context, *cleanrooms.ListMembershipsInput, func(*cleanrooms.ListMembershipsOutput, bool) bool, ...request.Option) error + ListPrivacyBudgetTemplates(*cleanrooms.ListPrivacyBudgetTemplatesInput) (*cleanrooms.ListPrivacyBudgetTemplatesOutput, error) + ListPrivacyBudgetTemplatesWithContext(aws.Context, *cleanrooms.ListPrivacyBudgetTemplatesInput, ...request.Option) (*cleanrooms.ListPrivacyBudgetTemplatesOutput, error) + ListPrivacyBudgetTemplatesRequest(*cleanrooms.ListPrivacyBudgetTemplatesInput) (*request.Request, *cleanrooms.ListPrivacyBudgetTemplatesOutput) + + ListPrivacyBudgetTemplatesPages(*cleanrooms.ListPrivacyBudgetTemplatesInput, func(*cleanrooms.ListPrivacyBudgetTemplatesOutput, bool) bool) error + ListPrivacyBudgetTemplatesPagesWithContext(aws.Context, *cleanrooms.ListPrivacyBudgetTemplatesInput, func(*cleanrooms.ListPrivacyBudgetTemplatesOutput, bool) bool, ...request.Option) error + + ListPrivacyBudgets(*cleanrooms.ListPrivacyBudgetsInput) (*cleanrooms.ListPrivacyBudgetsOutput, error) + ListPrivacyBudgetsWithContext(aws.Context, *cleanrooms.ListPrivacyBudgetsInput, ...request.Option) (*cleanrooms.ListPrivacyBudgetsOutput, error) + ListPrivacyBudgetsRequest(*cleanrooms.ListPrivacyBudgetsInput) (*request.Request, *cleanrooms.ListPrivacyBudgetsOutput) + + ListPrivacyBudgetsPages(*cleanrooms.ListPrivacyBudgetsInput, func(*cleanrooms.ListPrivacyBudgetsOutput, bool) bool) error + ListPrivacyBudgetsPagesWithContext(aws.Context, *cleanrooms.ListPrivacyBudgetsInput, func(*cleanrooms.ListPrivacyBudgetsOutput, bool) bool, ...request.Option) error + ListProtectedQueries(*cleanrooms.ListProtectedQueriesInput) (*cleanrooms.ListProtectedQueriesOutput, error) ListProtectedQueriesWithContext(aws.Context, *cleanrooms.ListProtectedQueriesInput, ...request.Option) (*cleanrooms.ListProtectedQueriesOutput, error) ListProtectedQueriesRequest(*cleanrooms.ListProtectedQueriesInput) (*request.Request, *cleanrooms.ListProtectedQueriesOutput) @@ -227,6 +301,10 @@ type CleanRoomsAPI interface { ListTagsForResourceWithContext(aws.Context, *cleanrooms.ListTagsForResourceInput, ...request.Option) (*cleanrooms.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*cleanrooms.ListTagsForResourceInput) (*request.Request, *cleanrooms.ListTagsForResourceOutput) + PreviewPrivacyImpact(*cleanrooms.PreviewPrivacyImpactInput) (*cleanrooms.PreviewPrivacyImpactOutput, error) + PreviewPrivacyImpactWithContext(aws.Context, *cleanrooms.PreviewPrivacyImpactInput, ...request.Option) (*cleanrooms.PreviewPrivacyImpactOutput, error) + PreviewPrivacyImpactRequest(*cleanrooms.PreviewPrivacyImpactInput) (*request.Request, *cleanrooms.PreviewPrivacyImpactOutput) + StartProtectedQuery(*cleanrooms.StartProtectedQueryInput) (*cleanrooms.StartProtectedQueryOutput, error) StartProtectedQueryWithContext(aws.Context, *cleanrooms.StartProtectedQueryInput, ...request.Option) (*cleanrooms.StartProtectedQueryOutput, error) StartProtectedQueryRequest(*cleanrooms.StartProtectedQueryInput) (*request.Request, *cleanrooms.StartProtectedQueryOutput) @@ -247,6 +325,10 @@ type CleanRoomsAPI interface { UpdateCollaborationWithContext(aws.Context, *cleanrooms.UpdateCollaborationInput, ...request.Option) (*cleanrooms.UpdateCollaborationOutput, error) UpdateCollaborationRequest(*cleanrooms.UpdateCollaborationInput) (*request.Request, *cleanrooms.UpdateCollaborationOutput) + UpdateConfiguredAudienceModelAssociation(*cleanrooms.UpdateConfiguredAudienceModelAssociationInput) (*cleanrooms.UpdateConfiguredAudienceModelAssociationOutput, error) + UpdateConfiguredAudienceModelAssociationWithContext(aws.Context, *cleanrooms.UpdateConfiguredAudienceModelAssociationInput, ...request.Option) (*cleanrooms.UpdateConfiguredAudienceModelAssociationOutput, error) + UpdateConfiguredAudienceModelAssociationRequest(*cleanrooms.UpdateConfiguredAudienceModelAssociationInput) (*request.Request, *cleanrooms.UpdateConfiguredAudienceModelAssociationOutput) + UpdateConfiguredTable(*cleanrooms.UpdateConfiguredTableInput) (*cleanrooms.UpdateConfiguredTableOutput, error) UpdateConfiguredTableWithContext(aws.Context, *cleanrooms.UpdateConfiguredTableInput, ...request.Option) (*cleanrooms.UpdateConfiguredTableOutput, error) UpdateConfiguredTableRequest(*cleanrooms.UpdateConfiguredTableInput) (*request.Request, *cleanrooms.UpdateConfiguredTableOutput) @@ -263,6 +345,10 @@ type CleanRoomsAPI interface { UpdateMembershipWithContext(aws.Context, *cleanrooms.UpdateMembershipInput, ...request.Option) (*cleanrooms.UpdateMembershipOutput, error) UpdateMembershipRequest(*cleanrooms.UpdateMembershipInput) (*request.Request, *cleanrooms.UpdateMembershipOutput) + UpdatePrivacyBudgetTemplate(*cleanrooms.UpdatePrivacyBudgetTemplateInput) (*cleanrooms.UpdatePrivacyBudgetTemplateOutput, error) + UpdatePrivacyBudgetTemplateWithContext(aws.Context, *cleanrooms.UpdatePrivacyBudgetTemplateInput, ...request.Option) (*cleanrooms.UpdatePrivacyBudgetTemplateOutput, error) + UpdatePrivacyBudgetTemplateRequest(*cleanrooms.UpdatePrivacyBudgetTemplateInput) (*request.Request, *cleanrooms.UpdatePrivacyBudgetTemplateOutput) + UpdateProtectedQuery(*cleanrooms.UpdateProtectedQueryInput) (*cleanrooms.UpdateProtectedQueryOutput, error) UpdateProtectedQueryWithContext(aws.Context, *cleanrooms.UpdateProtectedQueryInput, ...request.Option) (*cleanrooms.UpdateProtectedQueryOutput, error) UpdateProtectedQueryRequest(*cleanrooms.UpdateProtectedQueryInput) (*request.Request, *cleanrooms.UpdateProtectedQueryOutput) diff --git a/service/cleanroomsml/api.go b/service/cleanroomsml/api.go new file mode 100644 index 00000000000..2709c8d62d0 --- /dev/null +++ b/service/cleanroomsml/api.go @@ -0,0 +1,7752 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package cleanroomsml + +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 opCreateAudienceModel = "CreateAudienceModel" + +// CreateAudienceModelRequest generates a "aws/request.Request" representing the +// client's request for the CreateAudienceModel 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 CreateAudienceModel for more information on using the CreateAudienceModel +// 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 CreateAudienceModelRequest method. +// req, resp := client.CreateAudienceModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/CreateAudienceModel +func (c *CleanRoomsML) CreateAudienceModelRequest(input *CreateAudienceModelInput) (req *request.Request, output *CreateAudienceModelOutput) { + op := &request.Operation{ + Name: opCreateAudienceModel, + HTTPMethod: "POST", + HTTPPath: "/audience-model", + } + + if input == nil { + input = &CreateAudienceModelInput{} + } + + output = &CreateAudienceModelOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateAudienceModel API operation for cleanrooms-ml. +// +// Defines the information necessary to create an audience model. An audience +// model is a machine learning model that Clean Rooms ML trains to measure similarity +// between users. Clean Rooms ML manages training and storing the audience model. +// The audience model can be used in multiple calls to the StartAudienceGenerationJob +// API. +// +// 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 cleanrooms-ml's +// API operation CreateAudienceModel for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// A resource with that name already exists in this region. +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// - ServiceQuotaExceededException +// You have exceeded your service quota. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/CreateAudienceModel +func (c *CleanRoomsML) CreateAudienceModel(input *CreateAudienceModelInput) (*CreateAudienceModelOutput, error) { + req, out := c.CreateAudienceModelRequest(input) + return out, req.Send() +} + +// CreateAudienceModelWithContext is the same as CreateAudienceModel with the addition of +// the ability to pass a context and additional request options. +// +// See CreateAudienceModel 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 *CleanRoomsML) CreateAudienceModelWithContext(ctx aws.Context, input *CreateAudienceModelInput, opts ...request.Option) (*CreateAudienceModelOutput, error) { + req, out := c.CreateAudienceModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateConfiguredAudienceModel = "CreateConfiguredAudienceModel" + +// CreateConfiguredAudienceModelRequest generates a "aws/request.Request" representing the +// client's request for the CreateConfiguredAudienceModel 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 CreateConfiguredAudienceModel for more information on using the CreateConfiguredAudienceModel +// 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 CreateConfiguredAudienceModelRequest method. +// req, resp := client.CreateConfiguredAudienceModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/CreateConfiguredAudienceModel +func (c *CleanRoomsML) CreateConfiguredAudienceModelRequest(input *CreateConfiguredAudienceModelInput) (req *request.Request, output *CreateConfiguredAudienceModelOutput) { + op := &request.Operation{ + Name: opCreateConfiguredAudienceModel, + HTTPMethod: "POST", + HTTPPath: "/configured-audience-model", + } + + if input == nil { + input = &CreateConfiguredAudienceModelInput{} + } + + output = &CreateConfiguredAudienceModelOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateConfiguredAudienceModel API operation for cleanrooms-ml. +// +// Defines the information necessary to create a configured audience model. +// +// 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 cleanrooms-ml's +// API operation CreateConfiguredAudienceModel for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// A resource with that name already exists in this region. +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// - ServiceQuotaExceededException +// You have exceeded your service quota. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/CreateConfiguredAudienceModel +func (c *CleanRoomsML) CreateConfiguredAudienceModel(input *CreateConfiguredAudienceModelInput) (*CreateConfiguredAudienceModelOutput, error) { + req, out := c.CreateConfiguredAudienceModelRequest(input) + return out, req.Send() +} + +// CreateConfiguredAudienceModelWithContext is the same as CreateConfiguredAudienceModel with the addition of +// the ability to pass a context and additional request options. +// +// See CreateConfiguredAudienceModel 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 *CleanRoomsML) CreateConfiguredAudienceModelWithContext(ctx aws.Context, input *CreateConfiguredAudienceModelInput, opts ...request.Option) (*CreateConfiguredAudienceModelOutput, error) { + req, out := c.CreateConfiguredAudienceModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opCreateTrainingDataset = "CreateTrainingDataset" + +// CreateTrainingDatasetRequest generates a "aws/request.Request" representing the +// client's request for the CreateTrainingDataset 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 CreateTrainingDataset for more information on using the CreateTrainingDataset +// 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 CreateTrainingDatasetRequest method. +// req, resp := client.CreateTrainingDatasetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/CreateTrainingDataset +func (c *CleanRoomsML) CreateTrainingDatasetRequest(input *CreateTrainingDatasetInput) (req *request.Request, output *CreateTrainingDatasetOutput) { + op := &request.Operation{ + Name: opCreateTrainingDataset, + HTTPMethod: "POST", + HTTPPath: "/training-dataset", + } + + if input == nil { + input = &CreateTrainingDatasetInput{} + } + + output = &CreateTrainingDatasetOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateTrainingDataset API operation for cleanrooms-ml. +// +// Defines the information necessary to create a training dataset, or seed audience. +// In Clean Rooms ML, the TrainingDataset is metadata that points to a Glue +// table, which is read only during AudienceModel creation. +// +// 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 cleanrooms-ml's +// API operation CreateTrainingDataset for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// A resource with that name already exists in this region. +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/CreateTrainingDataset +func (c *CleanRoomsML) CreateTrainingDataset(input *CreateTrainingDatasetInput) (*CreateTrainingDatasetOutput, error) { + req, out := c.CreateTrainingDatasetRequest(input) + return out, req.Send() +} + +// CreateTrainingDatasetWithContext is the same as CreateTrainingDataset with the addition of +// the ability to pass a context and additional request options. +// +// See CreateTrainingDataset 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 *CleanRoomsML) CreateTrainingDatasetWithContext(ctx aws.Context, input *CreateTrainingDatasetInput, opts ...request.Option) (*CreateTrainingDatasetOutput, error) { + req, out := c.CreateTrainingDatasetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteAudienceGenerationJob = "DeleteAudienceGenerationJob" + +// DeleteAudienceGenerationJobRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAudienceGenerationJob 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 DeleteAudienceGenerationJob for more information on using the DeleteAudienceGenerationJob +// 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 DeleteAudienceGenerationJobRequest method. +// req, resp := client.DeleteAudienceGenerationJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/DeleteAudienceGenerationJob +func (c *CleanRoomsML) DeleteAudienceGenerationJobRequest(input *DeleteAudienceGenerationJobInput) (req *request.Request, output *DeleteAudienceGenerationJobOutput) { + op := &request.Operation{ + Name: opDeleteAudienceGenerationJob, + HTTPMethod: "DELETE", + HTTPPath: "/audience-generation-job/{audienceGenerationJobArn}", + } + + if input == nil { + input = &DeleteAudienceGenerationJobInput{} + } + + output = &DeleteAudienceGenerationJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteAudienceGenerationJob API operation for cleanrooms-ml. +// +// Deletes the specified audience generation job, and removes all data associated +// with the job. +// +// 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 cleanrooms-ml's +// API operation DeleteAudienceGenerationJob for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// A resource with that name already exists in this region. +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/DeleteAudienceGenerationJob +func (c *CleanRoomsML) DeleteAudienceGenerationJob(input *DeleteAudienceGenerationJobInput) (*DeleteAudienceGenerationJobOutput, error) { + req, out := c.DeleteAudienceGenerationJobRequest(input) + return out, req.Send() +} + +// DeleteAudienceGenerationJobWithContext is the same as DeleteAudienceGenerationJob with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAudienceGenerationJob 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 *CleanRoomsML) DeleteAudienceGenerationJobWithContext(ctx aws.Context, input *DeleteAudienceGenerationJobInput, opts ...request.Option) (*DeleteAudienceGenerationJobOutput, error) { + req, out := c.DeleteAudienceGenerationJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteAudienceModel = "DeleteAudienceModel" + +// DeleteAudienceModelRequest generates a "aws/request.Request" representing the +// client's request for the DeleteAudienceModel 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 DeleteAudienceModel for more information on using the DeleteAudienceModel +// 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 DeleteAudienceModelRequest method. +// req, resp := client.DeleteAudienceModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/DeleteAudienceModel +func (c *CleanRoomsML) DeleteAudienceModelRequest(input *DeleteAudienceModelInput) (req *request.Request, output *DeleteAudienceModelOutput) { + op := &request.Operation{ + Name: opDeleteAudienceModel, + HTTPMethod: "DELETE", + HTTPPath: "/audience-model/{audienceModelArn}", + } + + if input == nil { + input = &DeleteAudienceModelInput{} + } + + output = &DeleteAudienceModelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteAudienceModel API operation for cleanrooms-ml. +// +// Specifies an audience model that you want to delete. You can't delete an +// audience model if there are any configured audience models that depend on +// the audience model. +// +// 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 cleanrooms-ml's +// API operation DeleteAudienceModel for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// A resource with that name already exists in this region. +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/DeleteAudienceModel +func (c *CleanRoomsML) DeleteAudienceModel(input *DeleteAudienceModelInput) (*DeleteAudienceModelOutput, error) { + req, out := c.DeleteAudienceModelRequest(input) + return out, req.Send() +} + +// DeleteAudienceModelWithContext is the same as DeleteAudienceModel with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteAudienceModel 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 *CleanRoomsML) DeleteAudienceModelWithContext(ctx aws.Context, input *DeleteAudienceModelInput, opts ...request.Option) (*DeleteAudienceModelOutput, error) { + req, out := c.DeleteAudienceModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteConfiguredAudienceModel = "DeleteConfiguredAudienceModel" + +// DeleteConfiguredAudienceModelRequest generates a "aws/request.Request" representing the +// client's request for the DeleteConfiguredAudienceModel 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 DeleteConfiguredAudienceModel for more information on using the DeleteConfiguredAudienceModel +// 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 DeleteConfiguredAudienceModelRequest method. +// req, resp := client.DeleteConfiguredAudienceModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/DeleteConfiguredAudienceModel +func (c *CleanRoomsML) DeleteConfiguredAudienceModelRequest(input *DeleteConfiguredAudienceModelInput) (req *request.Request, output *DeleteConfiguredAudienceModelOutput) { + op := &request.Operation{ + Name: opDeleteConfiguredAudienceModel, + HTTPMethod: "DELETE", + HTTPPath: "/configured-audience-model/{configuredAudienceModelArn}", + } + + if input == nil { + input = &DeleteConfiguredAudienceModelInput{} + } + + output = &DeleteConfiguredAudienceModelOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteConfiguredAudienceModel API operation for cleanrooms-ml. +// +// Deletes the specified configured audience model. You can't delete a configured +// audience model if there are any lookalike models that use the configured +// audience model. If you delete a configured audience model, it will be removed +// from any collaborations that it is associated to. +// +// 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 cleanrooms-ml's +// API operation DeleteConfiguredAudienceModel for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// A resource with that name already exists in this region. +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/DeleteConfiguredAudienceModel +func (c *CleanRoomsML) DeleteConfiguredAudienceModel(input *DeleteConfiguredAudienceModelInput) (*DeleteConfiguredAudienceModelOutput, error) { + req, out := c.DeleteConfiguredAudienceModelRequest(input) + return out, req.Send() +} + +// DeleteConfiguredAudienceModelWithContext is the same as DeleteConfiguredAudienceModel with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteConfiguredAudienceModel 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 *CleanRoomsML) DeleteConfiguredAudienceModelWithContext(ctx aws.Context, input *DeleteConfiguredAudienceModelInput, opts ...request.Option) (*DeleteConfiguredAudienceModelOutput, error) { + req, out := c.DeleteConfiguredAudienceModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteConfiguredAudienceModelPolicy = "DeleteConfiguredAudienceModelPolicy" + +// DeleteConfiguredAudienceModelPolicyRequest generates a "aws/request.Request" representing the +// client's request for the DeleteConfiguredAudienceModelPolicy 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 DeleteConfiguredAudienceModelPolicy for more information on using the DeleteConfiguredAudienceModelPolicy +// 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 DeleteConfiguredAudienceModelPolicyRequest method. +// req, resp := client.DeleteConfiguredAudienceModelPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/DeleteConfiguredAudienceModelPolicy +func (c *CleanRoomsML) DeleteConfiguredAudienceModelPolicyRequest(input *DeleteConfiguredAudienceModelPolicyInput) (req *request.Request, output *DeleteConfiguredAudienceModelPolicyOutput) { + op := &request.Operation{ + Name: opDeleteConfiguredAudienceModelPolicy, + HTTPMethod: "DELETE", + HTTPPath: "/configured-audience-model/{configuredAudienceModelArn}/policy", + } + + if input == nil { + input = &DeleteConfiguredAudienceModelPolicyInput{} + } + + output = &DeleteConfiguredAudienceModelPolicyOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteConfiguredAudienceModelPolicy API operation for cleanrooms-ml. +// +// Deletes the specified configured audience model policy. +// +// 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 cleanrooms-ml's +// API operation DeleteConfiguredAudienceModelPolicy for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/DeleteConfiguredAudienceModelPolicy +func (c *CleanRoomsML) DeleteConfiguredAudienceModelPolicy(input *DeleteConfiguredAudienceModelPolicyInput) (*DeleteConfiguredAudienceModelPolicyOutput, error) { + req, out := c.DeleteConfiguredAudienceModelPolicyRequest(input) + return out, req.Send() +} + +// DeleteConfiguredAudienceModelPolicyWithContext is the same as DeleteConfiguredAudienceModelPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteConfiguredAudienceModelPolicy 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 *CleanRoomsML) DeleteConfiguredAudienceModelPolicyWithContext(ctx aws.Context, input *DeleteConfiguredAudienceModelPolicyInput, opts ...request.Option) (*DeleteConfiguredAudienceModelPolicyOutput, error) { + req, out := c.DeleteConfiguredAudienceModelPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteTrainingDataset = "DeleteTrainingDataset" + +// DeleteTrainingDatasetRequest generates a "aws/request.Request" representing the +// client's request for the DeleteTrainingDataset 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 DeleteTrainingDataset for more information on using the DeleteTrainingDataset +// 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 DeleteTrainingDatasetRequest method. +// req, resp := client.DeleteTrainingDatasetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/DeleteTrainingDataset +func (c *CleanRoomsML) DeleteTrainingDatasetRequest(input *DeleteTrainingDatasetInput) (req *request.Request, output *DeleteTrainingDatasetOutput) { + op := &request.Operation{ + Name: opDeleteTrainingDataset, + HTTPMethod: "DELETE", + HTTPPath: "/training-dataset/{trainingDatasetArn}", + } + + if input == nil { + input = &DeleteTrainingDatasetInput{} + } + + output = &DeleteTrainingDatasetOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteTrainingDataset API operation for cleanrooms-ml. +// +// Specifies a training dataset that you want to delete. You can't delete a +// training dataset if there are any audience models that depend on the training +// dataset. In Clean Rooms ML, the TrainingDataset is metadata that points to +// a Glue table, which is read only during AudienceModel creation. This action +// deletes the metadata. +// +// 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 cleanrooms-ml's +// API operation DeleteTrainingDataset for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// A resource with that name already exists in this region. +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/DeleteTrainingDataset +func (c *CleanRoomsML) DeleteTrainingDataset(input *DeleteTrainingDatasetInput) (*DeleteTrainingDatasetOutput, error) { + req, out := c.DeleteTrainingDatasetRequest(input) + return out, req.Send() +} + +// DeleteTrainingDatasetWithContext is the same as DeleteTrainingDataset with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteTrainingDataset 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 *CleanRoomsML) DeleteTrainingDatasetWithContext(ctx aws.Context, input *DeleteTrainingDatasetInput, opts ...request.Option) (*DeleteTrainingDatasetOutput, error) { + req, out := c.DeleteTrainingDatasetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetAudienceGenerationJob = "GetAudienceGenerationJob" + +// GetAudienceGenerationJobRequest generates a "aws/request.Request" representing the +// client's request for the GetAudienceGenerationJob 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 GetAudienceGenerationJob for more information on using the GetAudienceGenerationJob +// 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 GetAudienceGenerationJobRequest method. +// req, resp := client.GetAudienceGenerationJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/GetAudienceGenerationJob +func (c *CleanRoomsML) GetAudienceGenerationJobRequest(input *GetAudienceGenerationJobInput) (req *request.Request, output *GetAudienceGenerationJobOutput) { + op := &request.Operation{ + Name: opGetAudienceGenerationJob, + HTTPMethod: "GET", + HTTPPath: "/audience-generation-job/{audienceGenerationJobArn}", + } + + if input == nil { + input = &GetAudienceGenerationJobInput{} + } + + output = &GetAudienceGenerationJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetAudienceGenerationJob API operation for cleanrooms-ml. +// +// Returns information about an audience generation job. +// +// 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 cleanrooms-ml's +// API operation GetAudienceGenerationJob for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/GetAudienceGenerationJob +func (c *CleanRoomsML) GetAudienceGenerationJob(input *GetAudienceGenerationJobInput) (*GetAudienceGenerationJobOutput, error) { + req, out := c.GetAudienceGenerationJobRequest(input) + return out, req.Send() +} + +// GetAudienceGenerationJobWithContext is the same as GetAudienceGenerationJob with the addition of +// the ability to pass a context and additional request options. +// +// See GetAudienceGenerationJob 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 *CleanRoomsML) GetAudienceGenerationJobWithContext(ctx aws.Context, input *GetAudienceGenerationJobInput, opts ...request.Option) (*GetAudienceGenerationJobOutput, error) { + req, out := c.GetAudienceGenerationJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetAudienceModel = "GetAudienceModel" + +// GetAudienceModelRequest generates a "aws/request.Request" representing the +// client's request for the GetAudienceModel 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 GetAudienceModel for more information on using the GetAudienceModel +// 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 GetAudienceModelRequest method. +// req, resp := client.GetAudienceModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/GetAudienceModel +func (c *CleanRoomsML) GetAudienceModelRequest(input *GetAudienceModelInput) (req *request.Request, output *GetAudienceModelOutput) { + op := &request.Operation{ + Name: opGetAudienceModel, + HTTPMethod: "GET", + HTTPPath: "/audience-model/{audienceModelArn}", + } + + if input == nil { + input = &GetAudienceModelInput{} + } + + output = &GetAudienceModelOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetAudienceModel API operation for cleanrooms-ml. +// +// # Returns information about an audience model +// +// 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 cleanrooms-ml's +// API operation GetAudienceModel for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/GetAudienceModel +func (c *CleanRoomsML) GetAudienceModel(input *GetAudienceModelInput) (*GetAudienceModelOutput, error) { + req, out := c.GetAudienceModelRequest(input) + return out, req.Send() +} + +// GetAudienceModelWithContext is the same as GetAudienceModel with the addition of +// the ability to pass a context and additional request options. +// +// See GetAudienceModel 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 *CleanRoomsML) GetAudienceModelWithContext(ctx aws.Context, input *GetAudienceModelInput, opts ...request.Option) (*GetAudienceModelOutput, error) { + req, out := c.GetAudienceModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetConfiguredAudienceModel = "GetConfiguredAudienceModel" + +// GetConfiguredAudienceModelRequest generates a "aws/request.Request" representing the +// client's request for the GetConfiguredAudienceModel 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 GetConfiguredAudienceModel for more information on using the GetConfiguredAudienceModel +// 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 GetConfiguredAudienceModelRequest method. +// req, resp := client.GetConfiguredAudienceModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/GetConfiguredAudienceModel +func (c *CleanRoomsML) GetConfiguredAudienceModelRequest(input *GetConfiguredAudienceModelInput) (req *request.Request, output *GetConfiguredAudienceModelOutput) { + op := &request.Operation{ + Name: opGetConfiguredAudienceModel, + HTTPMethod: "GET", + HTTPPath: "/configured-audience-model/{configuredAudienceModelArn}", + } + + if input == nil { + input = &GetConfiguredAudienceModelInput{} + } + + output = &GetConfiguredAudienceModelOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetConfiguredAudienceModel API operation for cleanrooms-ml. +// +// Returns information about a specified configured audience model. +// +// 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 cleanrooms-ml's +// API operation GetConfiguredAudienceModel for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/GetConfiguredAudienceModel +func (c *CleanRoomsML) GetConfiguredAudienceModel(input *GetConfiguredAudienceModelInput) (*GetConfiguredAudienceModelOutput, error) { + req, out := c.GetConfiguredAudienceModelRequest(input) + return out, req.Send() +} + +// GetConfiguredAudienceModelWithContext is the same as GetConfiguredAudienceModel with the addition of +// the ability to pass a context and additional request options. +// +// See GetConfiguredAudienceModel 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 *CleanRoomsML) GetConfiguredAudienceModelWithContext(ctx aws.Context, input *GetConfiguredAudienceModelInput, opts ...request.Option) (*GetConfiguredAudienceModelOutput, error) { + req, out := c.GetConfiguredAudienceModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetConfiguredAudienceModelPolicy = "GetConfiguredAudienceModelPolicy" + +// GetConfiguredAudienceModelPolicyRequest generates a "aws/request.Request" representing the +// client's request for the GetConfiguredAudienceModelPolicy 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 GetConfiguredAudienceModelPolicy for more information on using the GetConfiguredAudienceModelPolicy +// 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 GetConfiguredAudienceModelPolicyRequest method. +// req, resp := client.GetConfiguredAudienceModelPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/GetConfiguredAudienceModelPolicy +func (c *CleanRoomsML) GetConfiguredAudienceModelPolicyRequest(input *GetConfiguredAudienceModelPolicyInput) (req *request.Request, output *GetConfiguredAudienceModelPolicyOutput) { + op := &request.Operation{ + Name: opGetConfiguredAudienceModelPolicy, + HTTPMethod: "GET", + HTTPPath: "/configured-audience-model/{configuredAudienceModelArn}/policy", + } + + if input == nil { + input = &GetConfiguredAudienceModelPolicyInput{} + } + + output = &GetConfiguredAudienceModelPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetConfiguredAudienceModelPolicy API operation for cleanrooms-ml. +// +// Returns information about a configured audience model policy. +// +// 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 cleanrooms-ml's +// API operation GetConfiguredAudienceModelPolicy for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/GetConfiguredAudienceModelPolicy +func (c *CleanRoomsML) GetConfiguredAudienceModelPolicy(input *GetConfiguredAudienceModelPolicyInput) (*GetConfiguredAudienceModelPolicyOutput, error) { + req, out := c.GetConfiguredAudienceModelPolicyRequest(input) + return out, req.Send() +} + +// GetConfiguredAudienceModelPolicyWithContext is the same as GetConfiguredAudienceModelPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See GetConfiguredAudienceModelPolicy 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 *CleanRoomsML) GetConfiguredAudienceModelPolicyWithContext(ctx aws.Context, input *GetConfiguredAudienceModelPolicyInput, opts ...request.Option) (*GetConfiguredAudienceModelPolicyOutput, error) { + req, out := c.GetConfiguredAudienceModelPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opGetTrainingDataset = "GetTrainingDataset" + +// GetTrainingDatasetRequest generates a "aws/request.Request" representing the +// client's request for the GetTrainingDataset 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 GetTrainingDataset for more information on using the GetTrainingDataset +// 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 GetTrainingDatasetRequest method. +// req, resp := client.GetTrainingDatasetRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/GetTrainingDataset +func (c *CleanRoomsML) GetTrainingDatasetRequest(input *GetTrainingDatasetInput) (req *request.Request, output *GetTrainingDatasetOutput) { + op := &request.Operation{ + Name: opGetTrainingDataset, + HTTPMethod: "GET", + HTTPPath: "/training-dataset/{trainingDatasetArn}", + } + + if input == nil { + input = &GetTrainingDatasetInput{} + } + + output = &GetTrainingDatasetOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetTrainingDataset API operation for cleanrooms-ml. +// +// Returns information about a training dataset. +// +// 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 cleanrooms-ml's +// API operation GetTrainingDataset for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/GetTrainingDataset +func (c *CleanRoomsML) GetTrainingDataset(input *GetTrainingDatasetInput) (*GetTrainingDatasetOutput, error) { + req, out := c.GetTrainingDatasetRequest(input) + return out, req.Send() +} + +// GetTrainingDatasetWithContext is the same as GetTrainingDataset with the addition of +// the ability to pass a context and additional request options. +// +// See GetTrainingDataset 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 *CleanRoomsML) GetTrainingDatasetWithContext(ctx aws.Context, input *GetTrainingDatasetInput, opts ...request.Option) (*GetTrainingDatasetOutput, error) { + req, out := c.GetTrainingDatasetRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListAudienceExportJobs = "ListAudienceExportJobs" + +// ListAudienceExportJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListAudienceExportJobs 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 ListAudienceExportJobs for more information on using the ListAudienceExportJobs +// 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 ListAudienceExportJobsRequest method. +// req, resp := client.ListAudienceExportJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/ListAudienceExportJobs +func (c *CleanRoomsML) ListAudienceExportJobsRequest(input *ListAudienceExportJobsInput) (req *request.Request, output *ListAudienceExportJobsOutput) { + op := &request.Operation{ + Name: opListAudienceExportJobs, + HTTPMethod: "GET", + HTTPPath: "/audience-export-job", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListAudienceExportJobsInput{} + } + + output = &ListAudienceExportJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAudienceExportJobs API operation for cleanrooms-ml. +// +// Returns a list of the audience export jobs. +// +// 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 cleanrooms-ml's +// API operation ListAudienceExportJobs for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/ListAudienceExportJobs +func (c *CleanRoomsML) ListAudienceExportJobs(input *ListAudienceExportJobsInput) (*ListAudienceExportJobsOutput, error) { + req, out := c.ListAudienceExportJobsRequest(input) + return out, req.Send() +} + +// ListAudienceExportJobsWithContext is the same as ListAudienceExportJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListAudienceExportJobs 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 *CleanRoomsML) ListAudienceExportJobsWithContext(ctx aws.Context, input *ListAudienceExportJobsInput, opts ...request.Option) (*ListAudienceExportJobsOutput, error) { + req, out := c.ListAudienceExportJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListAudienceExportJobsPages iterates over the pages of a ListAudienceExportJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAudienceExportJobs 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 ListAudienceExportJobs operation. +// pageNum := 0 +// err := client.ListAudienceExportJobsPages(params, +// func(page *cleanroomsml.ListAudienceExportJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRoomsML) ListAudienceExportJobsPages(input *ListAudienceExportJobsInput, fn func(*ListAudienceExportJobsOutput, bool) bool) error { + return c.ListAudienceExportJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAudienceExportJobsPagesWithContext same as ListAudienceExportJobsPages 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 *CleanRoomsML) ListAudienceExportJobsPagesWithContext(ctx aws.Context, input *ListAudienceExportJobsInput, fn func(*ListAudienceExportJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAudienceExportJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAudienceExportJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAudienceExportJobsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListAudienceGenerationJobs = "ListAudienceGenerationJobs" + +// ListAudienceGenerationJobsRequest generates a "aws/request.Request" representing the +// client's request for the ListAudienceGenerationJobs 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 ListAudienceGenerationJobs for more information on using the ListAudienceGenerationJobs +// 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 ListAudienceGenerationJobsRequest method. +// req, resp := client.ListAudienceGenerationJobsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/ListAudienceGenerationJobs +func (c *CleanRoomsML) ListAudienceGenerationJobsRequest(input *ListAudienceGenerationJobsInput) (req *request.Request, output *ListAudienceGenerationJobsOutput) { + op := &request.Operation{ + Name: opListAudienceGenerationJobs, + HTTPMethod: "GET", + HTTPPath: "/audience-generation-job", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListAudienceGenerationJobsInput{} + } + + output = &ListAudienceGenerationJobsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAudienceGenerationJobs API operation for cleanrooms-ml. +// +// Returns a list of audience generation jobs. +// +// 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 cleanrooms-ml's +// API operation ListAudienceGenerationJobs for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/ListAudienceGenerationJobs +func (c *CleanRoomsML) ListAudienceGenerationJobs(input *ListAudienceGenerationJobsInput) (*ListAudienceGenerationJobsOutput, error) { + req, out := c.ListAudienceGenerationJobsRequest(input) + return out, req.Send() +} + +// ListAudienceGenerationJobsWithContext is the same as ListAudienceGenerationJobs with the addition of +// the ability to pass a context and additional request options. +// +// See ListAudienceGenerationJobs 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 *CleanRoomsML) ListAudienceGenerationJobsWithContext(ctx aws.Context, input *ListAudienceGenerationJobsInput, opts ...request.Option) (*ListAudienceGenerationJobsOutput, error) { + req, out := c.ListAudienceGenerationJobsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListAudienceGenerationJobsPages iterates over the pages of a ListAudienceGenerationJobs operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAudienceGenerationJobs 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 ListAudienceGenerationJobs operation. +// pageNum := 0 +// err := client.ListAudienceGenerationJobsPages(params, +// func(page *cleanroomsml.ListAudienceGenerationJobsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRoomsML) ListAudienceGenerationJobsPages(input *ListAudienceGenerationJobsInput, fn func(*ListAudienceGenerationJobsOutput, bool) bool) error { + return c.ListAudienceGenerationJobsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAudienceGenerationJobsPagesWithContext same as ListAudienceGenerationJobsPages 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 *CleanRoomsML) ListAudienceGenerationJobsPagesWithContext(ctx aws.Context, input *ListAudienceGenerationJobsInput, fn func(*ListAudienceGenerationJobsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAudienceGenerationJobsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAudienceGenerationJobsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAudienceGenerationJobsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListAudienceModels = "ListAudienceModels" + +// ListAudienceModelsRequest generates a "aws/request.Request" representing the +// client's request for the ListAudienceModels 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 ListAudienceModels for more information on using the ListAudienceModels +// 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 ListAudienceModelsRequest method. +// req, resp := client.ListAudienceModelsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/ListAudienceModels +func (c *CleanRoomsML) ListAudienceModelsRequest(input *ListAudienceModelsInput) (req *request.Request, output *ListAudienceModelsOutput) { + op := &request.Operation{ + Name: opListAudienceModels, + HTTPMethod: "GET", + HTTPPath: "/audience-model", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListAudienceModelsInput{} + } + + output = &ListAudienceModelsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListAudienceModels API operation for cleanrooms-ml. +// +// Returns a list of audience models. +// +// 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 cleanrooms-ml's +// API operation ListAudienceModels for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/ListAudienceModels +func (c *CleanRoomsML) ListAudienceModels(input *ListAudienceModelsInput) (*ListAudienceModelsOutput, error) { + req, out := c.ListAudienceModelsRequest(input) + return out, req.Send() +} + +// ListAudienceModelsWithContext is the same as ListAudienceModels with the addition of +// the ability to pass a context and additional request options. +// +// See ListAudienceModels 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 *CleanRoomsML) ListAudienceModelsWithContext(ctx aws.Context, input *ListAudienceModelsInput, opts ...request.Option) (*ListAudienceModelsOutput, error) { + req, out := c.ListAudienceModelsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListAudienceModelsPages iterates over the pages of a ListAudienceModels operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListAudienceModels 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 ListAudienceModels operation. +// pageNum := 0 +// err := client.ListAudienceModelsPages(params, +// func(page *cleanroomsml.ListAudienceModelsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRoomsML) ListAudienceModelsPages(input *ListAudienceModelsInput, fn func(*ListAudienceModelsOutput, bool) bool) error { + return c.ListAudienceModelsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListAudienceModelsPagesWithContext same as ListAudienceModelsPages 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 *CleanRoomsML) ListAudienceModelsPagesWithContext(ctx aws.Context, input *ListAudienceModelsInput, fn func(*ListAudienceModelsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListAudienceModelsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListAudienceModelsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListAudienceModelsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListConfiguredAudienceModels = "ListConfiguredAudienceModels" + +// ListConfiguredAudienceModelsRequest generates a "aws/request.Request" representing the +// client's request for the ListConfiguredAudienceModels 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 ListConfiguredAudienceModels for more information on using the ListConfiguredAudienceModels +// 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 ListConfiguredAudienceModelsRequest method. +// req, resp := client.ListConfiguredAudienceModelsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/ListConfiguredAudienceModels +func (c *CleanRoomsML) ListConfiguredAudienceModelsRequest(input *ListConfiguredAudienceModelsInput) (req *request.Request, output *ListConfiguredAudienceModelsOutput) { + op := &request.Operation{ + Name: opListConfiguredAudienceModels, + HTTPMethod: "GET", + HTTPPath: "/configured-audience-model", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListConfiguredAudienceModelsInput{} + } + + output = &ListConfiguredAudienceModelsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListConfiguredAudienceModels API operation for cleanrooms-ml. +// +// Returns a list of the configured audience models. +// +// 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 cleanrooms-ml's +// API operation ListConfiguredAudienceModels for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/ListConfiguredAudienceModels +func (c *CleanRoomsML) ListConfiguredAudienceModels(input *ListConfiguredAudienceModelsInput) (*ListConfiguredAudienceModelsOutput, error) { + req, out := c.ListConfiguredAudienceModelsRequest(input) + return out, req.Send() +} + +// ListConfiguredAudienceModelsWithContext is the same as ListConfiguredAudienceModels with the addition of +// the ability to pass a context and additional request options. +// +// See ListConfiguredAudienceModels 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 *CleanRoomsML) ListConfiguredAudienceModelsWithContext(ctx aws.Context, input *ListConfiguredAudienceModelsInput, opts ...request.Option) (*ListConfiguredAudienceModelsOutput, error) { + req, out := c.ListConfiguredAudienceModelsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListConfiguredAudienceModelsPages iterates over the pages of a ListConfiguredAudienceModels operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListConfiguredAudienceModels 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 ListConfiguredAudienceModels operation. +// pageNum := 0 +// err := client.ListConfiguredAudienceModelsPages(params, +// func(page *cleanroomsml.ListConfiguredAudienceModelsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRoomsML) ListConfiguredAudienceModelsPages(input *ListConfiguredAudienceModelsInput, fn func(*ListConfiguredAudienceModelsOutput, bool) bool) error { + return c.ListConfiguredAudienceModelsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListConfiguredAudienceModelsPagesWithContext same as ListConfiguredAudienceModelsPages 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 *CleanRoomsML) ListConfiguredAudienceModelsPagesWithContext(ctx aws.Context, input *ListConfiguredAudienceModelsInput, fn func(*ListConfiguredAudienceModelsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListConfiguredAudienceModelsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListConfiguredAudienceModelsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListConfiguredAudienceModelsOutput), !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/cleanroomsml-2023-09-06/ListTagsForResource +func (c *CleanRoomsML) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { + op := &request.Operation{ + Name: opListTagsForResource, + HTTPMethod: "GET", + HTTPPath: "/tags/{resourceArn}", + } + + if input == nil { + input = &ListTagsForResourceInput{} + } + + output = &ListTagsForResourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTagsForResource API operation for cleanrooms-ml. +// +// Returns a list of tags for a provided 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 cleanrooms-ml's +// API operation ListTagsForResource for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/ListTagsForResource +func (c *CleanRoomsML) 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 *CleanRoomsML) 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 opListTrainingDatasets = "ListTrainingDatasets" + +// ListTrainingDatasetsRequest generates a "aws/request.Request" representing the +// client's request for the ListTrainingDatasets 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 ListTrainingDatasets for more information on using the ListTrainingDatasets +// 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 ListTrainingDatasetsRequest method. +// req, resp := client.ListTrainingDatasetsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/ListTrainingDatasets +func (c *CleanRoomsML) ListTrainingDatasetsRequest(input *ListTrainingDatasetsInput) (req *request.Request, output *ListTrainingDatasetsOutput) { + op := &request.Operation{ + Name: opListTrainingDatasets, + HTTPMethod: "GET", + HTTPPath: "/training-dataset", + Paginator: &request.Paginator{ + InputTokens: []string{"nextToken"}, + OutputTokens: []string{"nextToken"}, + LimitToken: "maxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListTrainingDatasetsInput{} + } + + output = &ListTrainingDatasetsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListTrainingDatasets API operation for cleanrooms-ml. +// +// Returns a list of training datasets. +// +// 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 cleanrooms-ml's +// API operation ListTrainingDatasets for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/ListTrainingDatasets +func (c *CleanRoomsML) ListTrainingDatasets(input *ListTrainingDatasetsInput) (*ListTrainingDatasetsOutput, error) { + req, out := c.ListTrainingDatasetsRequest(input) + return out, req.Send() +} + +// ListTrainingDatasetsWithContext is the same as ListTrainingDatasets with the addition of +// the ability to pass a context and additional request options. +// +// See ListTrainingDatasets 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 *CleanRoomsML) ListTrainingDatasetsWithContext(ctx aws.Context, input *ListTrainingDatasetsInput, opts ...request.Option) (*ListTrainingDatasetsOutput, error) { + req, out := c.ListTrainingDatasetsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListTrainingDatasetsPages iterates over the pages of a ListTrainingDatasets operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListTrainingDatasets 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 ListTrainingDatasets operation. +// pageNum := 0 +// err := client.ListTrainingDatasetsPages(params, +// func(page *cleanroomsml.ListTrainingDatasetsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *CleanRoomsML) ListTrainingDatasetsPages(input *ListTrainingDatasetsInput, fn func(*ListTrainingDatasetsOutput, bool) bool) error { + return c.ListTrainingDatasetsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListTrainingDatasetsPagesWithContext same as ListTrainingDatasetsPages 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 *CleanRoomsML) ListTrainingDatasetsPagesWithContext(ctx aws.Context, input *ListTrainingDatasetsInput, fn func(*ListTrainingDatasetsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListTrainingDatasetsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListTrainingDatasetsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListTrainingDatasetsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opPutConfiguredAudienceModelPolicy = "PutConfiguredAudienceModelPolicy" + +// PutConfiguredAudienceModelPolicyRequest generates a "aws/request.Request" representing the +// client's request for the PutConfiguredAudienceModelPolicy 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 PutConfiguredAudienceModelPolicy for more information on using the PutConfiguredAudienceModelPolicy +// 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 PutConfiguredAudienceModelPolicyRequest method. +// req, resp := client.PutConfiguredAudienceModelPolicyRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/PutConfiguredAudienceModelPolicy +func (c *CleanRoomsML) PutConfiguredAudienceModelPolicyRequest(input *PutConfiguredAudienceModelPolicyInput) (req *request.Request, output *PutConfiguredAudienceModelPolicyOutput) { + op := &request.Operation{ + Name: opPutConfiguredAudienceModelPolicy, + HTTPMethod: "PUT", + HTTPPath: "/configured-audience-model/{configuredAudienceModelArn}/policy", + } + + if input == nil { + input = &PutConfiguredAudienceModelPolicyInput{} + } + + output = &PutConfiguredAudienceModelPolicyOutput{} + req = c.newRequest(op, input, output) + return +} + +// PutConfiguredAudienceModelPolicy API operation for cleanrooms-ml. +// +// Create or update the resource policy for a configured audience model. +// +// 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 cleanrooms-ml's +// API operation PutConfiguredAudienceModelPolicy for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/PutConfiguredAudienceModelPolicy +func (c *CleanRoomsML) PutConfiguredAudienceModelPolicy(input *PutConfiguredAudienceModelPolicyInput) (*PutConfiguredAudienceModelPolicyOutput, error) { + req, out := c.PutConfiguredAudienceModelPolicyRequest(input) + return out, req.Send() +} + +// PutConfiguredAudienceModelPolicyWithContext is the same as PutConfiguredAudienceModelPolicy with the addition of +// the ability to pass a context and additional request options. +// +// See PutConfiguredAudienceModelPolicy 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 *CleanRoomsML) PutConfiguredAudienceModelPolicyWithContext(ctx aws.Context, input *PutConfiguredAudienceModelPolicyInput, opts ...request.Option) (*PutConfiguredAudienceModelPolicyOutput, error) { + req, out := c.PutConfiguredAudienceModelPolicyRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartAudienceExportJob = "StartAudienceExportJob" + +// StartAudienceExportJobRequest generates a "aws/request.Request" representing the +// client's request for the StartAudienceExportJob 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 StartAudienceExportJob for more information on using the StartAudienceExportJob +// 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 StartAudienceExportJobRequest method. +// req, resp := client.StartAudienceExportJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/StartAudienceExportJob +func (c *CleanRoomsML) StartAudienceExportJobRequest(input *StartAudienceExportJobInput) (req *request.Request, output *StartAudienceExportJobOutput) { + op := &request.Operation{ + Name: opStartAudienceExportJob, + HTTPMethod: "POST", + HTTPPath: "/audience-export-job", + } + + if input == nil { + input = &StartAudienceExportJobInput{} + } + + output = &StartAudienceExportJobOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// StartAudienceExportJob API operation for cleanrooms-ml. +// +// Export an audience of a specified size after you have generated an audience. +// +// 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 cleanrooms-ml's +// API operation StartAudienceExportJob for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// A resource with that name already exists in this region. +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// - ServiceQuotaExceededException +// You have exceeded your service quota. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/StartAudienceExportJob +func (c *CleanRoomsML) StartAudienceExportJob(input *StartAudienceExportJobInput) (*StartAudienceExportJobOutput, error) { + req, out := c.StartAudienceExportJobRequest(input) + return out, req.Send() +} + +// StartAudienceExportJobWithContext is the same as StartAudienceExportJob with the addition of +// the ability to pass a context and additional request options. +// +// See StartAudienceExportJob 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 *CleanRoomsML) StartAudienceExportJobWithContext(ctx aws.Context, input *StartAudienceExportJobInput, opts ...request.Option) (*StartAudienceExportJobOutput, error) { + req, out := c.StartAudienceExportJobRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opStartAudienceGenerationJob = "StartAudienceGenerationJob" + +// StartAudienceGenerationJobRequest generates a "aws/request.Request" representing the +// client's request for the StartAudienceGenerationJob 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 StartAudienceGenerationJob for more information on using the StartAudienceGenerationJob +// 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 StartAudienceGenerationJobRequest method. +// req, resp := client.StartAudienceGenerationJobRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/StartAudienceGenerationJob +func (c *CleanRoomsML) StartAudienceGenerationJobRequest(input *StartAudienceGenerationJobInput) (req *request.Request, output *StartAudienceGenerationJobOutput) { + op := &request.Operation{ + Name: opStartAudienceGenerationJob, + HTTPMethod: "POST", + HTTPPath: "/audience-generation-job", + } + + if input == nil { + input = &StartAudienceGenerationJobInput{} + } + + output = &StartAudienceGenerationJobOutput{} + req = c.newRequest(op, input, output) + return +} + +// StartAudienceGenerationJob API operation for cleanrooms-ml. +// +// Information necessary to start the audience generation job. +// +// 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 cleanrooms-ml's +// API operation StartAudienceGenerationJob for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// A resource with that name already exists in this region. +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// - ServiceQuotaExceededException +// You have exceeded your service quota. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/StartAudienceGenerationJob +func (c *CleanRoomsML) StartAudienceGenerationJob(input *StartAudienceGenerationJobInput) (*StartAudienceGenerationJobOutput, error) { + req, out := c.StartAudienceGenerationJobRequest(input) + return out, req.Send() +} + +// StartAudienceGenerationJobWithContext is the same as StartAudienceGenerationJob with the addition of +// the ability to pass a context and additional request options. +// +// See StartAudienceGenerationJob 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 *CleanRoomsML) StartAudienceGenerationJobWithContext(ctx aws.Context, input *StartAudienceGenerationJobInput, opts ...request.Option) (*StartAudienceGenerationJobOutput, error) { + req, out := c.StartAudienceGenerationJobRequest(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/cleanroomsml-2023-09-06/TagResource +func (c *CleanRoomsML) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { + op := &request.Operation{ + Name: opTagResource, + HTTPMethod: "POST", + HTTPPath: "/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 cleanrooms-ml. +// +// Adds metadata tags to a specified 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 cleanrooms-ml's +// API operation TagResource for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/TagResource +func (c *CleanRoomsML) 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 *CleanRoomsML) 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/cleanroomsml-2023-09-06/UntagResource +func (c *CleanRoomsML) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { + op := &request.Operation{ + Name: opUntagResource, + HTTPMethod: "DELETE", + HTTPPath: "/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 cleanrooms-ml. +// +// Removes metadata tags from a specified 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 cleanrooms-ml's +// API operation UntagResource for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/UntagResource +func (c *CleanRoomsML) 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 *CleanRoomsML) 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 opUpdateConfiguredAudienceModel = "UpdateConfiguredAudienceModel" + +// UpdateConfiguredAudienceModelRequest generates a "aws/request.Request" representing the +// client's request for the UpdateConfiguredAudienceModel 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 UpdateConfiguredAudienceModel for more information on using the UpdateConfiguredAudienceModel +// 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 UpdateConfiguredAudienceModelRequest method. +// req, resp := client.UpdateConfiguredAudienceModelRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/UpdateConfiguredAudienceModel +func (c *CleanRoomsML) UpdateConfiguredAudienceModelRequest(input *UpdateConfiguredAudienceModelInput) (req *request.Request, output *UpdateConfiguredAudienceModelOutput) { + op := &request.Operation{ + Name: opUpdateConfiguredAudienceModel, + HTTPMethod: "PATCH", + HTTPPath: "/configured-audience-model/{configuredAudienceModelArn}", + } + + if input == nil { + input = &UpdateConfiguredAudienceModelInput{} + } + + output = &UpdateConfiguredAudienceModelOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateConfiguredAudienceModel API operation for cleanrooms-ml. +// +// Provides the information necessary to update a configured audience model. +// Updates that impact audience generation jobs take effect when a new job starts, +// but do not impact currently running jobs. +// +// 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 cleanrooms-ml's +// API operation UpdateConfiguredAudienceModel for usage and error information. +// +// Returned Error Types: +// +// - ConflictException +// A resource with that name already exists in this region. +// +// - ValidationException +// The request parameters for this request are incorrect. +// +// - AccessDeniedException +// You do not have sufficient access to perform this action. +// +// - ResourceNotFoundException +// The resource you are requesting does not exist. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06/UpdateConfiguredAudienceModel +func (c *CleanRoomsML) UpdateConfiguredAudienceModel(input *UpdateConfiguredAudienceModelInput) (*UpdateConfiguredAudienceModelOutput, error) { + req, out := c.UpdateConfiguredAudienceModelRequest(input) + return out, req.Send() +} + +// UpdateConfiguredAudienceModelWithContext is the same as UpdateConfiguredAudienceModel with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateConfiguredAudienceModel 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 *CleanRoomsML) UpdateConfiguredAudienceModelWithContext(ctx aws.Context, input *UpdateConfiguredAudienceModelInput, opts ...request.Option) (*UpdateConfiguredAudienceModelOutput, error) { + req, out := c.UpdateConfiguredAudienceModelRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// You do not have sufficient access to perform this action. +type AccessDeniedException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessDeniedException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s 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", s.Code(), s.Message()) +} + +// 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 +} + +// Defines the Amazon S3 bucket where the configured audience is stored. +type AudienceDestination struct { + _ struct{} `type:"structure"` + + // The Amazon S3 bucket and path for the configured audience. + // + // S3Destination is a required field + S3Destination *S3ConfigMap `locationName:"s3Destination" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceDestination) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceDestination) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudienceDestination) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudienceDestination"} + if s.S3Destination == nil { + invalidParams.Add(request.NewErrParamRequired("S3Destination")) + } + if s.S3Destination != nil { + if err := s.S3Destination.Validate(); err != nil { + invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3Destination sets the S3Destination field's value. +func (s *AudienceDestination) SetS3Destination(v *S3ConfigMap) *AudienceDestination { + s.S3Destination = v + return s +} + +// Provides information about the audience export job. +type AudienceExportJobSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the audience generation job that was exported. + // + // AudienceGenerationJobArn is a required field + AudienceGenerationJobArn *string `locationName:"audienceGenerationJobArn" min:"20" type:"string" required:"true"` + + // The size of the generated audience. Must match one of the sizes in the configured + // audience model. + // + // AudienceSize is a required field + AudienceSize *AudienceSize `locationName:"audienceSize" type:"structure" required:"true"` + + // The time at which the audience export job was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The description of the audience export job. + Description *string `locationName:"description" type:"string"` + + // The name of the audience export job. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The Amazon S3 bucket where the audience export is stored. + OutputLocation *string `locationName:"outputLocation" min:"1" type:"string"` + + // The status of the audience export job. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"AudienceExportJobStatus"` + + // Details about the status of a resource. + StatusDetails *StatusDetails `locationName:"statusDetails" type:"structure"` + + // The most recent time at which the audience export job was updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceExportJobSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceExportJobSummary) GoString() string { + return s.String() +} + +// SetAudienceGenerationJobArn sets the AudienceGenerationJobArn field's value. +func (s *AudienceExportJobSummary) SetAudienceGenerationJobArn(v string) *AudienceExportJobSummary { + s.AudienceGenerationJobArn = &v + return s +} + +// SetAudienceSize sets the AudienceSize field's value. +func (s *AudienceExportJobSummary) SetAudienceSize(v *AudienceSize) *AudienceExportJobSummary { + s.AudienceSize = v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *AudienceExportJobSummary) SetCreateTime(v time.Time) *AudienceExportJobSummary { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AudienceExportJobSummary) SetDescription(v string) *AudienceExportJobSummary { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *AudienceExportJobSummary) SetName(v string) *AudienceExportJobSummary { + s.Name = &v + return s +} + +// SetOutputLocation sets the OutputLocation field's value. +func (s *AudienceExportJobSummary) SetOutputLocation(v string) *AudienceExportJobSummary { + s.OutputLocation = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AudienceExportJobSummary) SetStatus(v string) *AudienceExportJobSummary { + s.Status = &v + return s +} + +// SetStatusDetails sets the StatusDetails field's value. +func (s *AudienceExportJobSummary) SetStatusDetails(v *StatusDetails) *AudienceExportJobSummary { + s.StatusDetails = v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *AudienceExportJobSummary) SetUpdateTime(v time.Time) *AudienceExportJobSummary { + s.UpdateTime = &v + return s +} + +// Defines the Amazon S3 bucket where the training data for the configured audience +// is stored. +type AudienceGenerationJobDataSource struct { + _ struct{} `type:"structure"` + + // The Amazon S3 bucket where the training data for the configured audience + // is stored. + // + // DataSource is a required field + DataSource *S3ConfigMap `locationName:"dataSource" type:"structure" required:"true"` + + // The ARN of the IAM role that can read the Amazon S3 bucket where the training + // data is stored. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceGenerationJobDataSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceGenerationJobDataSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudienceGenerationJobDataSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudienceGenerationJobDataSource"} + if s.DataSource == nil { + invalidParams.Add(request.NewErrParamRequired("DataSource")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) + } + if s.DataSource != nil { + if err := s.DataSource.Validate(); err != nil { + invalidParams.AddNested("DataSource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataSource sets the DataSource field's value. +func (s *AudienceGenerationJobDataSource) SetDataSource(v *S3ConfigMap) *AudienceGenerationJobDataSource { + s.DataSource = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *AudienceGenerationJobDataSource) SetRoleArn(v string) *AudienceGenerationJobDataSource { + s.RoleArn = &v + return s +} + +// Provides information about the configured audience generation job. +type AudienceGenerationJobSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the audience generation job. + // + // AudienceGenerationJobArn is a required field + AudienceGenerationJobArn *string `locationName:"audienceGenerationJobArn" min:"20" type:"string" required:"true"` + + // The identifier of the collaboration that contains this audience generation + // job. + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string"` + + // The Amazon Resource Name (ARN) of the configured audience model that was + // used for this audience generation job. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` + + // The time at which the audience generation job was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The description of the audience generation job. + Description *string `locationName:"description" type:"string"` + + // The name of the audience generation job. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The AWS Account that submitted the job. + StartedBy *string `locationName:"startedBy" min:"12" type:"string"` + + // The status of the audience generation job. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"AudienceGenerationJobStatus"` + + // The most recent time at which the audience generation job was updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceGenerationJobSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceGenerationJobSummary) GoString() string { + return s.String() +} + +// SetAudienceGenerationJobArn sets the AudienceGenerationJobArn field's value. +func (s *AudienceGenerationJobSummary) SetAudienceGenerationJobArn(v string) *AudienceGenerationJobSummary { + s.AudienceGenerationJobArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *AudienceGenerationJobSummary) SetCollaborationId(v string) *AudienceGenerationJobSummary { + s.CollaborationId = &v + return s +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *AudienceGenerationJobSummary) SetConfiguredAudienceModelArn(v string) *AudienceGenerationJobSummary { + s.ConfiguredAudienceModelArn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *AudienceGenerationJobSummary) SetCreateTime(v time.Time) *AudienceGenerationJobSummary { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AudienceGenerationJobSummary) SetDescription(v string) *AudienceGenerationJobSummary { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *AudienceGenerationJobSummary) SetName(v string) *AudienceGenerationJobSummary { + s.Name = &v + return s +} + +// SetStartedBy sets the StartedBy field's value. +func (s *AudienceGenerationJobSummary) SetStartedBy(v string) *AudienceGenerationJobSummary { + s.StartedBy = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AudienceGenerationJobSummary) SetStatus(v string) *AudienceGenerationJobSummary { + s.Status = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *AudienceGenerationJobSummary) SetUpdateTime(v time.Time) *AudienceGenerationJobSummary { + s.UpdateTime = &v + return s +} + +// The audience model metrics. +type AudienceModelMetric struct { + _ struct{} `type:"structure"` + + // The number of users that were used to generate these model metrics. + // + // ForTopKItemPredictions is a required field + ForTopKItemPredictions *int64 `locationName:"forTopKItemPredictions" type:"integer" required:"true"` + + // The audience model metric. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"AudienceModelMetricType"` + + // The value of the audience model metric + // + // Value is a required field + Value *float64 `locationName:"value" type:"double" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceModelMetric) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceModelMetric) GoString() string { + return s.String() +} + +// SetForTopKItemPredictions sets the ForTopKItemPredictions field's value. +func (s *AudienceModelMetric) SetForTopKItemPredictions(v int64) *AudienceModelMetric { + s.ForTopKItemPredictions = &v + return s +} + +// SetType sets the Type field's value. +func (s *AudienceModelMetric) SetType(v string) *AudienceModelMetric { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *AudienceModelMetric) SetValue(v float64) *AudienceModelMetric { + s.Value = &v + return s +} + +// Information about the audience model. +type AudienceModelSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the audience model. + // + // AudienceModelArn is a required field + AudienceModelArn *string `locationName:"audienceModelArn" min:"20" type:"string" required:"true"` + + // The time at which the audience model was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The description of the audience model. + Description *string `locationName:"description" type:"string"` + + // The name of the audience model. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The status of the audience model. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"AudienceModelStatus"` + + // The Amazon Resource Name (ARN) of the training dataset that was used for + // the audience model. + // + // TrainingDatasetArn is a required field + TrainingDatasetArn *string `locationName:"trainingDatasetArn" min:"20" type:"string" required:"true"` + + // The most recent time at which the audience model was updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceModelSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceModelSummary) GoString() string { + return s.String() +} + +// SetAudienceModelArn sets the AudienceModelArn field's value. +func (s *AudienceModelSummary) SetAudienceModelArn(v string) *AudienceModelSummary { + s.AudienceModelArn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *AudienceModelSummary) SetCreateTime(v time.Time) *AudienceModelSummary { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *AudienceModelSummary) SetDescription(v string) *AudienceModelSummary { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *AudienceModelSummary) SetName(v string) *AudienceModelSummary { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AudienceModelSummary) SetStatus(v string) *AudienceModelSummary { + s.Status = &v + return s +} + +// SetTrainingDatasetArn sets the TrainingDatasetArn field's value. +func (s *AudienceModelSummary) SetTrainingDatasetArn(v string) *AudienceModelSummary { + s.TrainingDatasetArn = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *AudienceModelSummary) SetUpdateTime(v time.Time) *AudienceModelSummary { + s.UpdateTime = &v + return s +} + +// Metrics that describe the quality of the generated audience. +type AudienceQualityMetrics struct { + _ struct{} `type:"structure"` + + // The relevance scores of the generated audience. + // + // RelevanceMetrics is a required field + RelevanceMetrics []*RelevanceMetric `locationName:"relevanceMetrics" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceQualityMetrics) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceQualityMetrics) GoString() string { + return s.String() +} + +// SetRelevanceMetrics sets the RelevanceMetrics field's value. +func (s *AudienceQualityMetrics) SetRelevanceMetrics(v []*RelevanceMetric) *AudienceQualityMetrics { + s.RelevanceMetrics = v + return s +} + +// The size of the generated audience. Must match one of the sizes in the configured +// audience model. +type AudienceSize struct { + _ struct{} `type:"structure"` + + // Whether the audience size is defined in absolute terms or as a percentage. + // You can use the ABSOLUTE AudienceSize to configure out audience sizes using + // the count of identifiers in the output. You can use the Percentage AudienceSize + // to configure sizes in the range 1-100 percent. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"AudienceSizeType"` + + // Specify an audience size value. + // + // Value is a required field + Value *int64 `locationName:"value" min:"1" type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceSize) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceSize) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudienceSize) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudienceSize"} + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.Value == nil { + invalidParams.Add(request.NewErrParamRequired("Value")) + } + if s.Value != nil && *s.Value < 1 { + invalidParams.Add(request.NewErrParamMinValue("Value", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetType sets the Type field's value. +func (s *AudienceSize) SetType(v string) *AudienceSize { + s.Type = &v + return s +} + +// SetValue sets the Value field's value. +func (s *AudienceSize) SetValue(v int64) *AudienceSize { + s.Value = &v + return s +} + +// Configure the list of audience output sizes that can be created. A request +// to StartAudienceGenerationJob that uses this configured audience model must +// have an audienceSize selected from this list. You can use the ABSOLUTE AudienceSize +// to configure out audience sizes using the count of identifiers in the output. +// You can use the Percentage AudienceSize to configure sizes in the range 1-100 +// percent. +type AudienceSizeConfig struct { + _ struct{} `type:"structure"` + + // An array of the different audience output sizes. + // + // AudienceSizeBins is a required field + AudienceSizeBins []*int64 `locationName:"audienceSizeBins" min:"1" type:"list" required:"true"` + + // Whether the audience output sizes are defined as an absolute number or a + // percentage. + // + // AudienceSizeType is a required field + AudienceSizeType *string `locationName:"audienceSizeType" type:"string" required:"true" enum:"AudienceSizeType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceSizeConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AudienceSizeConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AudienceSizeConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AudienceSizeConfig"} + if s.AudienceSizeBins == nil { + invalidParams.Add(request.NewErrParamRequired("AudienceSizeBins")) + } + if s.AudienceSizeBins != nil && len(s.AudienceSizeBins) < 1 { + invalidParams.Add(request.NewErrParamMinLen("AudienceSizeBins", 1)) + } + if s.AudienceSizeType == nil { + invalidParams.Add(request.NewErrParamRequired("AudienceSizeType")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudienceSizeBins sets the AudienceSizeBins field's value. +func (s *AudienceSizeConfig) SetAudienceSizeBins(v []*int64) *AudienceSizeConfig { + s.AudienceSizeBins = v + return s +} + +// SetAudienceSizeType sets the AudienceSizeType field's value. +func (s *AudienceSizeConfig) SetAudienceSizeType(v string) *AudienceSizeConfig { + s.AudienceSizeType = &v + return s +} + +// Metadata for a column. +type ColumnSchema struct { + _ struct{} `type:"structure"` + + // The name of a column. + // + // ColumnName is a required field + ColumnName *string `locationName:"columnName" min:"1" type:"string" required:"true"` + + // The data type of column. + // + // ColumnTypes is a required field + ColumnTypes []*string `locationName:"columnTypes" min:"1" type:"list" required:"true" enum:"ColumnType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ColumnSchema) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ColumnSchema) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ColumnSchema) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ColumnSchema"} + if s.ColumnName == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnName")) + } + if s.ColumnName != nil && len(*s.ColumnName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnName", 1)) + } + if s.ColumnTypes == nil { + invalidParams.Add(request.NewErrParamRequired("ColumnTypes")) + } + if s.ColumnTypes != nil && len(s.ColumnTypes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ColumnTypes", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetColumnName sets the ColumnName field's value. +func (s *ColumnSchema) SetColumnName(v string) *ColumnSchema { + s.ColumnName = &v + return s +} + +// SetColumnTypes sets the ColumnTypes field's value. +func (s *ColumnSchema) SetColumnTypes(v []*string) *ColumnSchema { + s.ColumnTypes = v + return s +} + +// Configuration information necessary for the configure audience model output. +type ConfiguredAudienceModelOutputConfig struct { + _ struct{} `type:"structure"` + + // Defines the Amazon S3 bucket where the configured audience is stored. + // + // Destination is a required field + Destination *AudienceDestination `locationName:"destination" type:"structure" required:"true"` + + // The ARN of the IAM role that can write the Amazon S3 bucket. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredAudienceModelOutputConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredAudienceModelOutputConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ConfiguredAudienceModelOutputConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ConfiguredAudienceModelOutputConfig"} + if s.Destination == nil { + invalidParams.Add(request.NewErrParamRequired("Destination")) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) + } + if s.Destination != nil { + if err := s.Destination.Validate(); err != nil { + invalidParams.AddNested("Destination", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDestination sets the Destination field's value. +func (s *ConfiguredAudienceModelOutputConfig) SetDestination(v *AudienceDestination) *ConfiguredAudienceModelOutputConfig { + s.Destination = v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *ConfiguredAudienceModelOutputConfig) SetRoleArn(v string) *ConfiguredAudienceModelOutputConfig { + s.RoleArn = &v + return s +} + +// Information about the configured audience model. +type ConfiguredAudienceModelSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the audience model that was used to create + // the configured audience model. + // + // AudienceModelArn is a required field + AudienceModelArn *string `locationName:"audienceModelArn" min:"20" type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the configured audience model that you + // are interested in. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` + + // The time at which the configured audience model was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The description of the configured audience model. + Description *string `locationName:"description" type:"string"` + + // The name of the configured audience model. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The output configuration of the configured audience model. + // + // OutputConfig is a required field + OutputConfig *ConfiguredAudienceModelOutputConfig `locationName:"outputConfig" type:"structure" required:"true"` + + // The status of the configured audience model. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"ConfiguredAudienceModelStatus"` + + // The most recent time at which the configured audience model was updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredAudienceModelSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConfiguredAudienceModelSummary) GoString() string { + return s.String() +} + +// SetAudienceModelArn sets the AudienceModelArn field's value. +func (s *ConfiguredAudienceModelSummary) SetAudienceModelArn(v string) *ConfiguredAudienceModelSummary { + s.AudienceModelArn = &v + return s +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *ConfiguredAudienceModelSummary) SetConfiguredAudienceModelArn(v string) *ConfiguredAudienceModelSummary { + s.ConfiguredAudienceModelArn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *ConfiguredAudienceModelSummary) SetCreateTime(v time.Time) *ConfiguredAudienceModelSummary { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *ConfiguredAudienceModelSummary) SetDescription(v string) *ConfiguredAudienceModelSummary { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *ConfiguredAudienceModelSummary) SetName(v string) *ConfiguredAudienceModelSummary { + s.Name = &v + return s +} + +// SetOutputConfig sets the OutputConfig field's value. +func (s *ConfiguredAudienceModelSummary) SetOutputConfig(v *ConfiguredAudienceModelOutputConfig) *ConfiguredAudienceModelSummary { + s.OutputConfig = v + return s +} + +// SetStatus sets the Status field's value. +func (s *ConfiguredAudienceModelSummary) SetStatus(v string) *ConfiguredAudienceModelSummary { + s.Status = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *ConfiguredAudienceModelSummary) SetUpdateTime(v time.Time) *ConfiguredAudienceModelSummary { + s.UpdateTime = &v + return s +} + +// A resource with that name already exists in this region. +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s 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", s.Code(), s.Message()) +} + +// 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 CreateAudienceModelInput struct { + _ struct{} `type:"structure"` + + // The description of the audience model. + Description *string `locationName:"description" type:"string"` + + // The Amazon Resource Name (ARN) of the KMS key. This key is used to encrypt + // and decrypt customer-owned data in the trained ML model and the associated + // data. + KmsKeyArn *string `locationName:"kmsKeyArn" min:"20" type:"string"` + + // The name of the audience model resource. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The optional metadata that you apply to the resource to help you categorize + // and organize them. Each tag consists of a key and an optional value, both + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The end date and time of the training window. + TrainingDataEndTime *time.Time `locationName:"trainingDataEndTime" type:"timestamp" timestampFormat:"iso8601"` + + // The start date and time of the training window. + TrainingDataStartTime *time.Time `locationName:"trainingDataStartTime" type:"timestamp" timestampFormat:"iso8601"` + + // The Amazon Resource Name (ARN) of the training dataset for this audience + // model. + // + // TrainingDatasetArn is a required field + TrainingDatasetArn *string `locationName:"trainingDatasetArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAudienceModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAudienceModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateAudienceModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateAudienceModelInput"} + if s.KmsKeyArn != nil && len(*s.KmsKeyArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("KmsKeyArn", 20)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.TrainingDatasetArn == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingDatasetArn")) + } + if s.TrainingDatasetArn != nil && len(*s.TrainingDatasetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("TrainingDatasetArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateAudienceModelInput) SetDescription(v string) *CreateAudienceModelInput { + s.Description = &v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *CreateAudienceModelInput) SetKmsKeyArn(v string) *CreateAudienceModelInput { + s.KmsKeyArn = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateAudienceModelInput) SetName(v string) *CreateAudienceModelInput { + s.Name = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateAudienceModelInput) SetTags(v map[string]*string) *CreateAudienceModelInput { + s.Tags = v + return s +} + +// SetTrainingDataEndTime sets the TrainingDataEndTime field's value. +func (s *CreateAudienceModelInput) SetTrainingDataEndTime(v time.Time) *CreateAudienceModelInput { + s.TrainingDataEndTime = &v + return s +} + +// SetTrainingDataStartTime sets the TrainingDataStartTime field's value. +func (s *CreateAudienceModelInput) SetTrainingDataStartTime(v time.Time) *CreateAudienceModelInput { + s.TrainingDataStartTime = &v + return s +} + +// SetTrainingDatasetArn sets the TrainingDatasetArn field's value. +func (s *CreateAudienceModelInput) SetTrainingDatasetArn(v string) *CreateAudienceModelInput { + s.TrainingDatasetArn = &v + return s +} + +type CreateAudienceModelOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the audience model. + // + // AudienceModelArn is a required field + AudienceModelArn *string `locationName:"audienceModelArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAudienceModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateAudienceModelOutput) GoString() string { + return s.String() +} + +// SetAudienceModelArn sets the AudienceModelArn field's value. +func (s *CreateAudienceModelOutput) SetAudienceModelArn(v string) *CreateAudienceModelOutput { + s.AudienceModelArn = &v + return s +} + +type CreateConfiguredAudienceModelInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the audience model to use for the configured + // audience model. + // + // AudienceModelArn is a required field + AudienceModelArn *string `locationName:"audienceModelArn" min:"20" type:"string" required:"true"` + + // Configure the list of output sizes of audiences that can be created using + // this configured audience model. A request to StartAudienceGenerationJob that + // uses this configured audience model must have an audienceSize selected from + // this list. You can use the ABSOLUTE AudienceSize to configure out audience + // sizes using the count of identifiers in the output. You can use the Percentage + // AudienceSize to configure sizes in the range 1-100 percent. + AudienceSizeConfig *AudienceSizeConfig `locationName:"audienceSizeConfig" type:"structure"` + + // Configure how the service tags audience generation jobs created using this + // configured audience model. If you specify NONE, the tags from the StartAudienceGenerationJob + // request determine the tags of the audience generation job. If you specify + // FROM_PARENT_RESOURCE, the audience generation job inherits the tags from + // the configured audience model, by default. Tags in the StartAudienceGenerationJob + // will override the default. + ChildResourceTagOnCreatePolicy *string `locationName:"childResourceTagOnCreatePolicy" type:"string" enum:"TagOnCreatePolicy"` + + // The description of the configured audience model. + Description *string `locationName:"description" type:"string"` + + // The minimum number of users from the seed audience that must match with users + // in the training data of the audience model. + MinMatchingSeedSize *int64 `locationName:"minMatchingSeedSize" min:"25" type:"integer"` + + // The name of the configured audience model. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // Configure the Amazon S3 location and IAM Role for audiences created using + // this configured audience model. Each audience will have a unique location. + // The IAM Role must have s3:PutObject permission on the destination Amazon + // S3 location. If the destination is protected with Amazon S3 KMS-SSE, then + // the Role must also have the required KMS permissions. + // + // OutputConfig is a required field + OutputConfig *ConfiguredAudienceModelOutputConfig `locationName:"outputConfig" type:"structure" required:"true"` + + // Whether audience metrics are shared. + // + // SharedAudienceMetrics is a required field + SharedAudienceMetrics []*string `locationName:"sharedAudienceMetrics" min:"1" type:"list" required:"true" enum:"SharedAudienceMetrics"` + + // The optional metadata that you apply to the resource to help you categorize + // and organize them. Each tag consists of a key and an optional value, both + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateConfiguredAudienceModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateConfiguredAudienceModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateConfiguredAudienceModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateConfiguredAudienceModelInput"} + if s.AudienceModelArn == nil { + invalidParams.Add(request.NewErrParamRequired("AudienceModelArn")) + } + if s.AudienceModelArn != nil && len(*s.AudienceModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AudienceModelArn", 20)) + } + if s.MinMatchingSeedSize != nil && *s.MinMatchingSeedSize < 25 { + invalidParams.Add(request.NewErrParamMinValue("MinMatchingSeedSize", 25)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.OutputConfig == nil { + invalidParams.Add(request.NewErrParamRequired("OutputConfig")) + } + if s.SharedAudienceMetrics == nil { + invalidParams.Add(request.NewErrParamRequired("SharedAudienceMetrics")) + } + if s.SharedAudienceMetrics != nil && len(s.SharedAudienceMetrics) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SharedAudienceMetrics", 1)) + } + if s.AudienceSizeConfig != nil { + if err := s.AudienceSizeConfig.Validate(); err != nil { + invalidParams.AddNested("AudienceSizeConfig", err.(request.ErrInvalidParams)) + } + } + if s.OutputConfig != nil { + if err := s.OutputConfig.Validate(); err != nil { + invalidParams.AddNested("OutputConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudienceModelArn sets the AudienceModelArn field's value. +func (s *CreateConfiguredAudienceModelInput) SetAudienceModelArn(v string) *CreateConfiguredAudienceModelInput { + s.AudienceModelArn = &v + return s +} + +// SetAudienceSizeConfig sets the AudienceSizeConfig field's value. +func (s *CreateConfiguredAudienceModelInput) SetAudienceSizeConfig(v *AudienceSizeConfig) *CreateConfiguredAudienceModelInput { + s.AudienceSizeConfig = v + return s +} + +// SetChildResourceTagOnCreatePolicy sets the ChildResourceTagOnCreatePolicy field's value. +func (s *CreateConfiguredAudienceModelInput) SetChildResourceTagOnCreatePolicy(v string) *CreateConfiguredAudienceModelInput { + s.ChildResourceTagOnCreatePolicy = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *CreateConfiguredAudienceModelInput) SetDescription(v string) *CreateConfiguredAudienceModelInput { + s.Description = &v + return s +} + +// SetMinMatchingSeedSize sets the MinMatchingSeedSize field's value. +func (s *CreateConfiguredAudienceModelInput) SetMinMatchingSeedSize(v int64) *CreateConfiguredAudienceModelInput { + s.MinMatchingSeedSize = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateConfiguredAudienceModelInput) SetName(v string) *CreateConfiguredAudienceModelInput { + s.Name = &v + return s +} + +// SetOutputConfig sets the OutputConfig field's value. +func (s *CreateConfiguredAudienceModelInput) SetOutputConfig(v *ConfiguredAudienceModelOutputConfig) *CreateConfiguredAudienceModelInput { + s.OutputConfig = v + return s +} + +// SetSharedAudienceMetrics sets the SharedAudienceMetrics field's value. +func (s *CreateConfiguredAudienceModelInput) SetSharedAudienceMetrics(v []*string) *CreateConfiguredAudienceModelInput { + s.SharedAudienceMetrics = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateConfiguredAudienceModelInput) SetTags(v map[string]*string) *CreateConfiguredAudienceModelInput { + s.Tags = v + return s +} + +type CreateConfiguredAudienceModelOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the configured audience model. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateConfiguredAudienceModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateConfiguredAudienceModelOutput) GoString() string { + return s.String() +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *CreateConfiguredAudienceModelOutput) SetConfiguredAudienceModelArn(v string) *CreateConfiguredAudienceModelOutput { + s.ConfiguredAudienceModelArn = &v + return s +} + +type CreateTrainingDatasetInput struct { + _ struct{} `type:"structure"` + + // The description of the training dataset. + Description *string `locationName:"description" type:"string"` + + // The name of the training dataset. This name must be unique in your account + // and region. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The ARN of the IAM role that Clean Rooms ML can assume to read the data referred + // to in the dataSource field of each dataset. + // + // Passing a role across AWS accounts is not allowed. If you pass a role that + // isn't in your account, you get an AccessDeniedException error. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"` + + // The optional metadata that you apply to the resource to help you categorize + // and organize them. Each tag consists of a key and an optional value, both + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Clean Rooms ML + // considers it to be a user tag and will count against the limit of 50 tags. + // Tags with only the key prefix of aws do not count against your tags per + // resource limit. + Tags map[string]*string `locationName:"tags" type:"map"` + + // An array of information that lists the Dataset objects, which specifies the + // dataset type and details on its location and schema. You must provide a role + // that has read access to these tables. + // + // TrainingData is a required field + TrainingData []*Dataset `locationName:"trainingData" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTrainingDatasetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTrainingDatasetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateTrainingDatasetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateTrainingDatasetInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RoleArn == nil { + invalidParams.Add(request.NewErrParamRequired("RoleArn")) + } + if s.RoleArn != nil && len(*s.RoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) + } + if s.TrainingData == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingData")) + } + if s.TrainingData != nil && len(s.TrainingData) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TrainingData", 1)) + } + if s.TrainingData != nil { + for i, v := range s.TrainingData { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TrainingData", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateTrainingDatasetInput) SetDescription(v string) *CreateTrainingDatasetInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateTrainingDatasetInput) SetName(v string) *CreateTrainingDatasetInput { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *CreateTrainingDatasetInput) SetRoleArn(v string) *CreateTrainingDatasetInput { + s.RoleArn = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateTrainingDatasetInput) SetTags(v map[string]*string) *CreateTrainingDatasetInput { + s.Tags = v + return s +} + +// SetTrainingData sets the TrainingData field's value. +func (s *CreateTrainingDatasetInput) SetTrainingData(v []*Dataset) *CreateTrainingDatasetInput { + s.TrainingData = v + return s +} + +type CreateTrainingDatasetOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the training dataset resource. + // + // TrainingDatasetArn is a required field + TrainingDatasetArn *string `locationName:"trainingDatasetArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTrainingDatasetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateTrainingDatasetOutput) GoString() string { + return s.String() +} + +// SetTrainingDatasetArn sets the TrainingDatasetArn field's value. +func (s *CreateTrainingDatasetOutput) SetTrainingDatasetArn(v string) *CreateTrainingDatasetOutput { + s.TrainingDatasetArn = &v + return s +} + +// Defines information about the Glue data source that contains the training +// data. +type DataSource struct { + _ struct{} `type:"structure"` + + // A GlueDataSource object that defines the catalog ID, database name, and table + // name for the training data. + // + // GlueDataSource is a required field + GlueDataSource *GlueDataSource `locationName:"glueDataSource" type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataSource"} + if s.GlueDataSource == nil { + invalidParams.Add(request.NewErrParamRequired("GlueDataSource")) + } + if s.GlueDataSource != nil { + if err := s.GlueDataSource.Validate(); err != nil { + invalidParams.AddNested("GlueDataSource", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetGlueDataSource sets the GlueDataSource field's value. +func (s *DataSource) SetGlueDataSource(v *GlueDataSource) *DataSource { + s.GlueDataSource = v + return s +} + +// Defines where the training dataset is located, what type of data it contains, +// and how to access the data. +type Dataset struct { + _ struct{} `type:"structure"` + + // A DatasetInputConfig object that defines the data source and schema mapping. + // + // InputConfig is a required field + InputConfig *DatasetInputConfig `locationName:"inputConfig" type:"structure" required:"true"` + + // What type of information is found in the dataset. + // + // Type is a required field + Type *string `locationName:"type" type:"string" required:"true" enum:"DatasetType"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Dataset) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Dataset) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Dataset) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Dataset"} + if s.InputConfig == nil { + invalidParams.Add(request.NewErrParamRequired("InputConfig")) + } + if s.Type == nil { + invalidParams.Add(request.NewErrParamRequired("Type")) + } + if s.InputConfig != nil { + if err := s.InputConfig.Validate(); err != nil { + invalidParams.AddNested("InputConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInputConfig sets the InputConfig field's value. +func (s *Dataset) SetInputConfig(v *DatasetInputConfig) *Dataset { + s.InputConfig = v + return s +} + +// SetType sets the Type field's value. +func (s *Dataset) SetType(v string) *Dataset { + s.Type = &v + return s +} + +// Defines the Glue data source and schema mapping information. +type DatasetInputConfig struct { + _ struct{} `type:"structure"` + + // A DataSource object that specifies the Glue data source for the training + // data. + // + // DataSource is a required field + DataSource *DataSource `locationName:"dataSource" type:"structure" required:"true"` + + // The schema information for the training data. + // + // Schema is a required field + Schema []*ColumnSchema `locationName:"schema" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DatasetInputConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DatasetInputConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DatasetInputConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DatasetInputConfig"} + if s.DataSource == nil { + invalidParams.Add(request.NewErrParamRequired("DataSource")) + } + if s.Schema == nil { + invalidParams.Add(request.NewErrParamRequired("Schema")) + } + if s.Schema != nil && len(s.Schema) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Schema", 1)) + } + if s.DataSource != nil { + if err := s.DataSource.Validate(); err != nil { + invalidParams.AddNested("DataSource", err.(request.ErrInvalidParams)) + } + } + if s.Schema != nil { + for i, v := range s.Schema { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Schema", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataSource sets the DataSource field's value. +func (s *DatasetInputConfig) SetDataSource(v *DataSource) *DatasetInputConfig { + s.DataSource = v + return s +} + +// SetSchema sets the Schema field's value. +func (s *DatasetInputConfig) SetSchema(v []*ColumnSchema) *DatasetInputConfig { + s.Schema = v + return s +} + +type DeleteAudienceGenerationJobInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the audience generation job that you want + // to delete. + // + // AudienceGenerationJobArn is a required field + AudienceGenerationJobArn *string `location:"uri" locationName:"audienceGenerationJobArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAudienceGenerationJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAudienceGenerationJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAudienceGenerationJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAudienceGenerationJobInput"} + if s.AudienceGenerationJobArn == nil { + invalidParams.Add(request.NewErrParamRequired("AudienceGenerationJobArn")) + } + if s.AudienceGenerationJobArn != nil && len(*s.AudienceGenerationJobArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AudienceGenerationJobArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudienceGenerationJobArn sets the AudienceGenerationJobArn field's value. +func (s *DeleteAudienceGenerationJobInput) SetAudienceGenerationJobArn(v string) *DeleteAudienceGenerationJobInput { + s.AudienceGenerationJobArn = &v + return s +} + +type DeleteAudienceGenerationJobOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAudienceGenerationJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAudienceGenerationJobOutput) GoString() string { + return s.String() +} + +type DeleteAudienceModelInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the audience model that you want to delete. + // + // AudienceModelArn is a required field + AudienceModelArn *string `location:"uri" locationName:"audienceModelArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAudienceModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAudienceModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteAudienceModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteAudienceModelInput"} + if s.AudienceModelArn == nil { + invalidParams.Add(request.NewErrParamRequired("AudienceModelArn")) + } + if s.AudienceModelArn != nil && len(*s.AudienceModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AudienceModelArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudienceModelArn sets the AudienceModelArn field's value. +func (s *DeleteAudienceModelInput) SetAudienceModelArn(v string) *DeleteAudienceModelInput { + s.AudienceModelArn = &v + return s +} + +type DeleteAudienceModelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAudienceModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteAudienceModelOutput) GoString() string { + return s.String() +} + +type DeleteConfiguredAudienceModelInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the configured audience model that you + // want to delete. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `location:"uri" locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredAudienceModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredAudienceModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteConfiguredAudienceModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredAudienceModelInput"} + if s.ConfiguredAudienceModelArn == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelArn")) + } + if s.ConfiguredAudienceModelArn != nil && len(*s.ConfiguredAudienceModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *DeleteConfiguredAudienceModelInput) SetConfiguredAudienceModelArn(v string) *DeleteConfiguredAudienceModelInput { + s.ConfiguredAudienceModelArn = &v + return s +} + +type DeleteConfiguredAudienceModelOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredAudienceModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredAudienceModelOutput) GoString() string { + return s.String() +} + +type DeleteConfiguredAudienceModelPolicyInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the configured audience model policy that + // you want to delete. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `location:"uri" locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredAudienceModelPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredAudienceModelPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteConfiguredAudienceModelPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteConfiguredAudienceModelPolicyInput"} + if s.ConfiguredAudienceModelArn == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelArn")) + } + if s.ConfiguredAudienceModelArn != nil && len(*s.ConfiguredAudienceModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *DeleteConfiguredAudienceModelPolicyInput) SetConfiguredAudienceModelArn(v string) *DeleteConfiguredAudienceModelPolicyInput { + s.ConfiguredAudienceModelArn = &v + return s +} + +type DeleteConfiguredAudienceModelPolicyOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredAudienceModelPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteConfiguredAudienceModelPolicyOutput) GoString() string { + return s.String() +} + +type DeleteTrainingDatasetInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the training dataset that you want to delete. + // + // TrainingDatasetArn is a required field + TrainingDatasetArn *string `location:"uri" locationName:"trainingDatasetArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTrainingDatasetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTrainingDatasetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteTrainingDatasetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteTrainingDatasetInput"} + if s.TrainingDatasetArn == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingDatasetArn")) + } + if s.TrainingDatasetArn != nil && len(*s.TrainingDatasetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("TrainingDatasetArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTrainingDatasetArn sets the TrainingDatasetArn field's value. +func (s *DeleteTrainingDatasetInput) SetTrainingDatasetArn(v string) *DeleteTrainingDatasetInput { + s.TrainingDatasetArn = &v + return s +} + +type DeleteTrainingDatasetOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTrainingDatasetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteTrainingDatasetOutput) GoString() string { + return s.String() +} + +type GetAudienceGenerationJobInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the audience generation job that you are + // interested in. + // + // AudienceGenerationJobArn is a required field + AudienceGenerationJobArn *string `location:"uri" locationName:"audienceGenerationJobArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAudienceGenerationJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAudienceGenerationJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAudienceGenerationJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAudienceGenerationJobInput"} + if s.AudienceGenerationJobArn == nil { + invalidParams.Add(request.NewErrParamRequired("AudienceGenerationJobArn")) + } + if s.AudienceGenerationJobArn != nil && len(*s.AudienceGenerationJobArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AudienceGenerationJobArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudienceGenerationJobArn sets the AudienceGenerationJobArn field's value. +func (s *GetAudienceGenerationJobInput) SetAudienceGenerationJobArn(v string) *GetAudienceGenerationJobInput { + s.AudienceGenerationJobArn = &v + return s +} + +type GetAudienceGenerationJobOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the audience generation job. + // + // AudienceGenerationJobArn is a required field + AudienceGenerationJobArn *string `locationName:"audienceGenerationJobArn" min:"20" type:"string" required:"true"` + + // The identifier of the collaboration that this audience generation job is + // associated with. + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string"` + + // The Amazon Resource Name (ARN) of the configured audience model used for + // this audience generation job. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` + + // The time at which the audience generation job was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The description of the audience generation job. + Description *string `locationName:"description" type:"string"` + + // Configure whether the seed users are included in the output audience. By + // default, Clean Rooms ML removes seed users from the output audience. If you + // specify TRUE, the seed users will appear first in the output. Clean Rooms + // ML does not explicitly reveal whether a user was in the seed, but the recipient + // of the audience will know that the first minimumSeedSize count of users are + // from the seed. + IncludeSeedInOutput *bool `locationName:"includeSeedInOutput" type:"boolean"` + + // The relevance scores for different audience sizes. + Metrics *AudienceQualityMetrics `locationName:"metrics" type:"structure"` + + // The name of the audience generation job. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The seed audience that was used for this audience generation job. This field + // will be null if the account calling the API is the account that started this + // audience generation job. + SeedAudience *AudienceGenerationJobDataSource `locationName:"seedAudience" type:"structure"` + + // The AWS account that started this audience generation job. + StartedBy *string `locationName:"startedBy" min:"12" type:"string"` + + // The status of the audience generation job. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"AudienceGenerationJobStatus"` + + // Details about the status of the audience generation job. + StatusDetails *StatusDetails `locationName:"statusDetails" type:"structure"` + + // The tags that are associated to this audience generation job. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The most recent time at which the audience generation job was updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAudienceGenerationJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAudienceGenerationJobOutput) GoString() string { + return s.String() +} + +// SetAudienceGenerationJobArn sets the AudienceGenerationJobArn field's value. +func (s *GetAudienceGenerationJobOutput) SetAudienceGenerationJobArn(v string) *GetAudienceGenerationJobOutput { + s.AudienceGenerationJobArn = &v + return s +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *GetAudienceGenerationJobOutput) SetCollaborationId(v string) *GetAudienceGenerationJobOutput { + s.CollaborationId = &v + return s +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *GetAudienceGenerationJobOutput) SetConfiguredAudienceModelArn(v string) *GetAudienceGenerationJobOutput { + s.ConfiguredAudienceModelArn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *GetAudienceGenerationJobOutput) SetCreateTime(v time.Time) *GetAudienceGenerationJobOutput { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetAudienceGenerationJobOutput) SetDescription(v string) *GetAudienceGenerationJobOutput { + s.Description = &v + return s +} + +// SetIncludeSeedInOutput sets the IncludeSeedInOutput field's value. +func (s *GetAudienceGenerationJobOutput) SetIncludeSeedInOutput(v bool) *GetAudienceGenerationJobOutput { + s.IncludeSeedInOutput = &v + return s +} + +// SetMetrics sets the Metrics field's value. +func (s *GetAudienceGenerationJobOutput) SetMetrics(v *AudienceQualityMetrics) *GetAudienceGenerationJobOutput { + s.Metrics = v + return s +} + +// SetName sets the Name field's value. +func (s *GetAudienceGenerationJobOutput) SetName(v string) *GetAudienceGenerationJobOutput { + s.Name = &v + return s +} + +// SetSeedAudience sets the SeedAudience field's value. +func (s *GetAudienceGenerationJobOutput) SetSeedAudience(v *AudienceGenerationJobDataSource) *GetAudienceGenerationJobOutput { + s.SeedAudience = v + return s +} + +// SetStartedBy sets the StartedBy field's value. +func (s *GetAudienceGenerationJobOutput) SetStartedBy(v string) *GetAudienceGenerationJobOutput { + s.StartedBy = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetAudienceGenerationJobOutput) SetStatus(v string) *GetAudienceGenerationJobOutput { + s.Status = &v + return s +} + +// SetStatusDetails sets the StatusDetails field's value. +func (s *GetAudienceGenerationJobOutput) SetStatusDetails(v *StatusDetails) *GetAudienceGenerationJobOutput { + s.StatusDetails = v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetAudienceGenerationJobOutput) SetTags(v map[string]*string) *GetAudienceGenerationJobOutput { + s.Tags = v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *GetAudienceGenerationJobOutput) SetUpdateTime(v time.Time) *GetAudienceGenerationJobOutput { + s.UpdateTime = &v + return s +} + +type GetAudienceModelInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the audience model that you are interested + // in. + // + // AudienceModelArn is a required field + AudienceModelArn *string `location:"uri" locationName:"audienceModelArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAudienceModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAudienceModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetAudienceModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetAudienceModelInput"} + if s.AudienceModelArn == nil { + invalidParams.Add(request.NewErrParamRequired("AudienceModelArn")) + } + if s.AudienceModelArn != nil && len(*s.AudienceModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AudienceModelArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudienceModelArn sets the AudienceModelArn field's value. +func (s *GetAudienceModelInput) SetAudienceModelArn(v string) *GetAudienceModelInput { + s.AudienceModelArn = &v + return s +} + +type GetAudienceModelOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the audience model. + // + // AudienceModelArn is a required field + AudienceModelArn *string `locationName:"audienceModelArn" min:"20" type:"string" required:"true"` + + // The time at which the audience model was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The description of the audience model. + Description *string `locationName:"description" type:"string"` + + // The KMS key ARN used for the audience model. + KmsKeyArn *string `locationName:"kmsKeyArn" min:"20" type:"string"` + + // Accuracy metrics for the model. + Metrics []*AudienceModelMetric `locationName:"metrics" type:"list"` + + // The name of the audience model. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The status of the audience model. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"AudienceModelStatus"` + + // Details about the status of the audience model. + StatusDetails *StatusDetails `locationName:"statusDetails" type:"structure"` + + // The tags that are assigned to the audience model. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The end date specified for the training window. + TrainingDataEndTime *time.Time `locationName:"trainingDataEndTime" type:"timestamp" timestampFormat:"iso8601"` + + // The start date specified for the training window. + TrainingDataStartTime *time.Time `locationName:"trainingDataStartTime" type:"timestamp" timestampFormat:"iso8601"` + + // The Amazon Resource Name (ARN) of the training dataset that was used for + // this audience model. + // + // TrainingDatasetArn is a required field + TrainingDatasetArn *string `locationName:"trainingDatasetArn" min:"20" type:"string" required:"true"` + + // The most recent time at which the audience model was updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAudienceModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetAudienceModelOutput) GoString() string { + return s.String() +} + +// SetAudienceModelArn sets the AudienceModelArn field's value. +func (s *GetAudienceModelOutput) SetAudienceModelArn(v string) *GetAudienceModelOutput { + s.AudienceModelArn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *GetAudienceModelOutput) SetCreateTime(v time.Time) *GetAudienceModelOutput { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetAudienceModelOutput) SetDescription(v string) *GetAudienceModelOutput { + s.Description = &v + return s +} + +// SetKmsKeyArn sets the KmsKeyArn field's value. +func (s *GetAudienceModelOutput) SetKmsKeyArn(v string) *GetAudienceModelOutput { + s.KmsKeyArn = &v + return s +} + +// SetMetrics sets the Metrics field's value. +func (s *GetAudienceModelOutput) SetMetrics(v []*AudienceModelMetric) *GetAudienceModelOutput { + s.Metrics = v + return s +} + +// SetName sets the Name field's value. +func (s *GetAudienceModelOutput) SetName(v string) *GetAudienceModelOutput { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetAudienceModelOutput) SetStatus(v string) *GetAudienceModelOutput { + s.Status = &v + return s +} + +// SetStatusDetails sets the StatusDetails field's value. +func (s *GetAudienceModelOutput) SetStatusDetails(v *StatusDetails) *GetAudienceModelOutput { + s.StatusDetails = v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetAudienceModelOutput) SetTags(v map[string]*string) *GetAudienceModelOutput { + s.Tags = v + return s +} + +// SetTrainingDataEndTime sets the TrainingDataEndTime field's value. +func (s *GetAudienceModelOutput) SetTrainingDataEndTime(v time.Time) *GetAudienceModelOutput { + s.TrainingDataEndTime = &v + return s +} + +// SetTrainingDataStartTime sets the TrainingDataStartTime field's value. +func (s *GetAudienceModelOutput) SetTrainingDataStartTime(v time.Time) *GetAudienceModelOutput { + s.TrainingDataStartTime = &v + return s +} + +// SetTrainingDatasetArn sets the TrainingDatasetArn field's value. +func (s *GetAudienceModelOutput) SetTrainingDatasetArn(v string) *GetAudienceModelOutput { + s.TrainingDatasetArn = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *GetAudienceModelOutput) SetUpdateTime(v time.Time) *GetAudienceModelOutput { + s.UpdateTime = &v + return s +} + +type GetConfiguredAudienceModelInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the configured audience model that you + // are interested in. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `location:"uri" locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfiguredAudienceModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfiguredAudienceModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetConfiguredAudienceModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConfiguredAudienceModelInput"} + if s.ConfiguredAudienceModelArn == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelArn")) + } + if s.ConfiguredAudienceModelArn != nil && len(*s.ConfiguredAudienceModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *GetConfiguredAudienceModelInput) SetConfiguredAudienceModelArn(v string) *GetConfiguredAudienceModelInput { + s.ConfiguredAudienceModelArn = &v + return s +} + +type GetConfiguredAudienceModelOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the audience model used for this configured + // audience model. + // + // AudienceModelArn is a required field + AudienceModelArn *string `locationName:"audienceModelArn" min:"20" type:"string" required:"true"` + + // The list of output sizes of audiences that can be created using this configured + // audience model. A request to StartAudienceGenerationJob that uses this configured + // audience model must have an audienceSize selected from this list. You can + // use the ABSOLUTE AudienceSize to configure out audience sizes using the count + // of identifiers in the output. You can use the Percentage AudienceSize to + // configure sizes in the range 1-100 percent. + AudienceSizeConfig *AudienceSizeConfig `locationName:"audienceSizeConfig" type:"structure"` + + // Provides the childResourceTagOnCreatePolicy that was used for this configured + // audience model. + ChildResourceTagOnCreatePolicy *string `locationName:"childResourceTagOnCreatePolicy" type:"string" enum:"TagOnCreatePolicy"` + + // The Amazon Resource Name (ARN) of the configured audience model. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` + + // The time at which the configured audience model was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The description of the configured audience model. + Description *string `locationName:"description" type:"string"` + + // The minimum number of users from the seed audience that must match with users + // in the training data of the audience model. + MinMatchingSeedSize *int64 `locationName:"minMatchingSeedSize" min:"25" type:"integer"` + + // The name of the configured audience model. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The output configuration of the configured audience model + // + // OutputConfig is a required field + OutputConfig *ConfiguredAudienceModelOutputConfig `locationName:"outputConfig" type:"structure" required:"true"` + + // Whether audience metrics are shared. + // + // SharedAudienceMetrics is a required field + SharedAudienceMetrics []*string `locationName:"sharedAudienceMetrics" min:"1" type:"list" required:"true" enum:"SharedAudienceMetrics"` + + // The status of the configured audience model. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"ConfiguredAudienceModelStatus"` + + // The tags that are associated to this configured audience model. + Tags map[string]*string `locationName:"tags" type:"map"` + + // The most recent time at which the configured audience model was updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfiguredAudienceModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfiguredAudienceModelOutput) GoString() string { + return s.String() +} + +// SetAudienceModelArn sets the AudienceModelArn field's value. +func (s *GetConfiguredAudienceModelOutput) SetAudienceModelArn(v string) *GetConfiguredAudienceModelOutput { + s.AudienceModelArn = &v + return s +} + +// SetAudienceSizeConfig sets the AudienceSizeConfig field's value. +func (s *GetConfiguredAudienceModelOutput) SetAudienceSizeConfig(v *AudienceSizeConfig) *GetConfiguredAudienceModelOutput { + s.AudienceSizeConfig = v + return s +} + +// SetChildResourceTagOnCreatePolicy sets the ChildResourceTagOnCreatePolicy field's value. +func (s *GetConfiguredAudienceModelOutput) SetChildResourceTagOnCreatePolicy(v string) *GetConfiguredAudienceModelOutput { + s.ChildResourceTagOnCreatePolicy = &v + return s +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *GetConfiguredAudienceModelOutput) SetConfiguredAudienceModelArn(v string) *GetConfiguredAudienceModelOutput { + s.ConfiguredAudienceModelArn = &v + return s +} + +// SetCreateTime sets the CreateTime field's value. +func (s *GetConfiguredAudienceModelOutput) SetCreateTime(v time.Time) *GetConfiguredAudienceModelOutput { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetConfiguredAudienceModelOutput) SetDescription(v string) *GetConfiguredAudienceModelOutput { + s.Description = &v + return s +} + +// SetMinMatchingSeedSize sets the MinMatchingSeedSize field's value. +func (s *GetConfiguredAudienceModelOutput) SetMinMatchingSeedSize(v int64) *GetConfiguredAudienceModelOutput { + s.MinMatchingSeedSize = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetConfiguredAudienceModelOutput) SetName(v string) *GetConfiguredAudienceModelOutput { + s.Name = &v + return s +} + +// SetOutputConfig sets the OutputConfig field's value. +func (s *GetConfiguredAudienceModelOutput) SetOutputConfig(v *ConfiguredAudienceModelOutputConfig) *GetConfiguredAudienceModelOutput { + s.OutputConfig = v + return s +} + +// SetSharedAudienceMetrics sets the SharedAudienceMetrics field's value. +func (s *GetConfiguredAudienceModelOutput) SetSharedAudienceMetrics(v []*string) *GetConfiguredAudienceModelOutput { + s.SharedAudienceMetrics = v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetConfiguredAudienceModelOutput) SetStatus(v string) *GetConfiguredAudienceModelOutput { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetConfiguredAudienceModelOutput) SetTags(v map[string]*string) *GetConfiguredAudienceModelOutput { + s.Tags = v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *GetConfiguredAudienceModelOutput) SetUpdateTime(v time.Time) *GetConfiguredAudienceModelOutput { + s.UpdateTime = &v + return s +} + +type GetConfiguredAudienceModelPolicyInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the configured audience model that you + // are interested in. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `location:"uri" locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfiguredAudienceModelPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfiguredAudienceModelPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetConfiguredAudienceModelPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetConfiguredAudienceModelPolicyInput"} + if s.ConfiguredAudienceModelArn == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelArn")) + } + if s.ConfiguredAudienceModelArn != nil && len(*s.ConfiguredAudienceModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *GetConfiguredAudienceModelPolicyInput) SetConfiguredAudienceModelArn(v string) *GetConfiguredAudienceModelPolicyInput { + s.ConfiguredAudienceModelArn = &v + return s +} + +type GetConfiguredAudienceModelPolicyOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the configured audience model. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` + + // The configured audience model policy. This is a JSON IAM resource policy. + // + // ConfiguredAudienceModelPolicy is a required field + ConfiguredAudienceModelPolicy *string `locationName:"configuredAudienceModelPolicy" min:"1" type:"string" required:"true"` + + // A cryptographic hash of the contents of the policy used to prevent unexpected + // concurrent modification of the policy. + // + // PolicyHash is a required field + PolicyHash *string `locationName:"policyHash" min:"64" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfiguredAudienceModelPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetConfiguredAudienceModelPolicyOutput) GoString() string { + return s.String() +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *GetConfiguredAudienceModelPolicyOutput) SetConfiguredAudienceModelArn(v string) *GetConfiguredAudienceModelPolicyOutput { + s.ConfiguredAudienceModelArn = &v + return s +} + +// SetConfiguredAudienceModelPolicy sets the ConfiguredAudienceModelPolicy field's value. +func (s *GetConfiguredAudienceModelPolicyOutput) SetConfiguredAudienceModelPolicy(v string) *GetConfiguredAudienceModelPolicyOutput { + s.ConfiguredAudienceModelPolicy = &v + return s +} + +// SetPolicyHash sets the PolicyHash field's value. +func (s *GetConfiguredAudienceModelPolicyOutput) SetPolicyHash(v string) *GetConfiguredAudienceModelPolicyOutput { + s.PolicyHash = &v + return s +} + +type GetTrainingDatasetInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the training dataset that you are interested + // in. + // + // TrainingDatasetArn is a required field + TrainingDatasetArn *string `location:"uri" locationName:"trainingDatasetArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTrainingDatasetInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTrainingDatasetInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetTrainingDatasetInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetTrainingDatasetInput"} + if s.TrainingDatasetArn == nil { + invalidParams.Add(request.NewErrParamRequired("TrainingDatasetArn")) + } + if s.TrainingDatasetArn != nil && len(*s.TrainingDatasetArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("TrainingDatasetArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetTrainingDatasetArn sets the TrainingDatasetArn field's value. +func (s *GetTrainingDatasetInput) SetTrainingDatasetArn(v string) *GetTrainingDatasetInput { + s.TrainingDatasetArn = &v + return s +} + +type GetTrainingDatasetOutput struct { + _ struct{} `type:"structure"` + + // The time at which the training dataset was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The description of the training dataset. + Description *string `locationName:"description" type:"string"` + + // The name of the training dataset. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The IAM role used to read the training data. + // + // RoleArn is a required field + RoleArn *string `locationName:"roleArn" min:"20" type:"string" required:"true"` + + // The status of the training dataset. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"TrainingDatasetStatus"` + + // The tags that are assigned to this training dataset. + Tags map[string]*string `locationName:"tags" type:"map"` + + // Metadata about the requested training data. + // + // TrainingData is a required field + TrainingData []*Dataset `locationName:"trainingData" type:"list" required:"true"` + + // The Amazon Resource Name (ARN) of the training dataset. + // + // TrainingDatasetArn is a required field + TrainingDatasetArn *string `locationName:"trainingDatasetArn" min:"20" type:"string" required:"true"` + + // The most recent time at which the training dataset was updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTrainingDatasetOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetTrainingDatasetOutput) GoString() string { + return s.String() +} + +// SetCreateTime sets the CreateTime field's value. +func (s *GetTrainingDatasetOutput) SetCreateTime(v time.Time) *GetTrainingDatasetOutput { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetTrainingDatasetOutput) SetDescription(v string) *GetTrainingDatasetOutput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetTrainingDatasetOutput) SetName(v string) *GetTrainingDatasetOutput { + s.Name = &v + return s +} + +// SetRoleArn sets the RoleArn field's value. +func (s *GetTrainingDatasetOutput) SetRoleArn(v string) *GetTrainingDatasetOutput { + s.RoleArn = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *GetTrainingDatasetOutput) SetStatus(v string) *GetTrainingDatasetOutput { + s.Status = &v + return s +} + +// SetTags sets the Tags field's value. +func (s *GetTrainingDatasetOutput) SetTags(v map[string]*string) *GetTrainingDatasetOutput { + s.Tags = v + return s +} + +// SetTrainingData sets the TrainingData field's value. +func (s *GetTrainingDatasetOutput) SetTrainingData(v []*Dataset) *GetTrainingDatasetOutput { + s.TrainingData = v + return s +} + +// SetTrainingDatasetArn sets the TrainingDatasetArn field's value. +func (s *GetTrainingDatasetOutput) SetTrainingDatasetArn(v string) *GetTrainingDatasetOutput { + s.TrainingDatasetArn = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *GetTrainingDatasetOutput) SetUpdateTime(v time.Time) *GetTrainingDatasetOutput { + s.UpdateTime = &v + return s +} + +// Defines the Glue data source that contains the training data. +type GlueDataSource struct { + _ struct{} `type:"structure"` + + // The Glue catalog that contains the training data. + CatalogId *string `locationName:"catalogId" min:"12" type:"string"` + + // The Glue database that contains the training data. + // + // DatabaseName is a required field + DatabaseName *string `locationName:"databaseName" min:"1" type:"string" required:"true"` + + // The Glue table that contains the training data. + // + // TableName is a required field + TableName *string `locationName:"tableName" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GlueDataSource) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GlueDataSource) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GlueDataSource) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GlueDataSource"} + if s.CatalogId != nil && len(*s.CatalogId) < 12 { + invalidParams.Add(request.NewErrParamMinLen("CatalogId", 12)) + } + if s.DatabaseName == nil { + invalidParams.Add(request.NewErrParamRequired("DatabaseName")) + } + if s.DatabaseName != nil && len(*s.DatabaseName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("DatabaseName", 1)) + } + if s.TableName == nil { + invalidParams.Add(request.NewErrParamRequired("TableName")) + } + if s.TableName != nil && len(*s.TableName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("TableName", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCatalogId sets the CatalogId field's value. +func (s *GlueDataSource) SetCatalogId(v string) *GlueDataSource { + s.CatalogId = &v + return s +} + +// SetDatabaseName sets the DatabaseName field's value. +func (s *GlueDataSource) SetDatabaseName(v string) *GlueDataSource { + s.DatabaseName = &v + return s +} + +// SetTableName sets the TableName field's value. +func (s *GlueDataSource) SetTableName(v string) *GlueDataSource { + s.TableName = &v + return s +} + +type ListAudienceExportJobsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the audience generation job that you are + // interested in. + AudienceGenerationJobArn *string `location:"querystring" locationName:"audienceGenerationJobArn" min:"20" type:"string"` + + // The maximum size of the results that is returned per call. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAudienceExportJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAudienceExportJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAudienceExportJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAudienceExportJobsInput"} + if s.AudienceGenerationJobArn != nil && len(*s.AudienceGenerationJobArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AudienceGenerationJobArn", 20)) + } + 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 invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudienceGenerationJobArn sets the AudienceGenerationJobArn field's value. +func (s *ListAudienceExportJobsInput) SetAudienceGenerationJobArn(v string) *ListAudienceExportJobsInput { + s.AudienceGenerationJobArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAudienceExportJobsInput) SetMaxResults(v int64) *ListAudienceExportJobsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAudienceExportJobsInput) SetNextToken(v string) *ListAudienceExportJobsInput { + s.NextToken = &v + return s +} + +type ListAudienceExportJobsOutput struct { + _ struct{} `type:"structure"` + + // The audience export jobs that match the request. + // + // AudienceExportJobs is a required field + AudienceExportJobs []*AudienceExportJobSummary `locationName:"audienceExportJobs" type:"list" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAudienceExportJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAudienceExportJobsOutput) GoString() string { + return s.String() +} + +// SetAudienceExportJobs sets the AudienceExportJobs field's value. +func (s *ListAudienceExportJobsOutput) SetAudienceExportJobs(v []*AudienceExportJobSummary) *ListAudienceExportJobsOutput { + s.AudienceExportJobs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAudienceExportJobsOutput) SetNextToken(v string) *ListAudienceExportJobsOutput { + s.NextToken = &v + return s +} + +type ListAudienceGenerationJobsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The identifier of the collaboration that contains the audience generation + // jobs that you are interested in. + CollaborationId *string `location:"querystring" locationName:"collaborationId" min:"36" type:"string"` + + // The Amazon Resource Name (ARN) of the configured audience model that was + // used for the audience generation jobs that you are interested in. + ConfiguredAudienceModelArn *string `location:"querystring" locationName:"configuredAudienceModelArn" min:"20" type:"string"` + + // The maximum size of the results that is returned per call. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAudienceGenerationJobsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAudienceGenerationJobsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAudienceGenerationJobsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAudienceGenerationJobsInput"} + if s.CollaborationId != nil && len(*s.CollaborationId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationId", 36)) + } + if s.ConfiguredAudienceModelArn != nil && len(*s.ConfiguredAudienceModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelArn", 20)) + } + 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 invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *ListAudienceGenerationJobsInput) SetCollaborationId(v string) *ListAudienceGenerationJobsInput { + s.CollaborationId = &v + return s +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *ListAudienceGenerationJobsInput) SetConfiguredAudienceModelArn(v string) *ListAudienceGenerationJobsInput { + s.ConfiguredAudienceModelArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAudienceGenerationJobsInput) SetMaxResults(v int64) *ListAudienceGenerationJobsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAudienceGenerationJobsInput) SetNextToken(v string) *ListAudienceGenerationJobsInput { + s.NextToken = &v + return s +} + +type ListAudienceGenerationJobsOutput struct { + _ struct{} `type:"structure"` + + // The audience generation jobs that match the request. + // + // AudienceGenerationJobs is a required field + AudienceGenerationJobs []*AudienceGenerationJobSummary `locationName:"audienceGenerationJobs" type:"list" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAudienceGenerationJobsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAudienceGenerationJobsOutput) GoString() string { + return s.String() +} + +// SetAudienceGenerationJobs sets the AudienceGenerationJobs field's value. +func (s *ListAudienceGenerationJobsOutput) SetAudienceGenerationJobs(v []*AudienceGenerationJobSummary) *ListAudienceGenerationJobsOutput { + s.AudienceGenerationJobs = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAudienceGenerationJobsOutput) SetNextToken(v string) *ListAudienceGenerationJobsOutput { + s.NextToken = &v + return s +} + +type ListAudienceModelsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum size of the results that is returned per call. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAudienceModelsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAudienceModelsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListAudienceModelsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListAudienceModelsInput"} + 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 invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListAudienceModelsInput) SetMaxResults(v int64) *ListAudienceModelsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAudienceModelsInput) SetNextToken(v string) *ListAudienceModelsInput { + s.NextToken = &v + return s +} + +type ListAudienceModelsOutput struct { + _ struct{} `type:"structure"` + + // The audience models that match the request. + // + // AudienceModels is a required field + AudienceModels []*AudienceModelSummary `locationName:"audienceModels" type:"list" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAudienceModelsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListAudienceModelsOutput) GoString() string { + return s.String() +} + +// SetAudienceModels sets the AudienceModels field's value. +func (s *ListAudienceModelsOutput) SetAudienceModels(v []*AudienceModelSummary) *ListAudienceModelsOutput { + s.AudienceModels = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListAudienceModelsOutput) SetNextToken(v string) *ListAudienceModelsOutput { + s.NextToken = &v + return s +} + +type ListConfiguredAudienceModelsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum size of the results that is returned per call. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListConfiguredAudienceModelsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListConfiguredAudienceModelsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListConfiguredAudienceModelsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListConfiguredAudienceModelsInput"} + 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 invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListConfiguredAudienceModelsInput) SetMaxResults(v int64) *ListConfiguredAudienceModelsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListConfiguredAudienceModelsInput) SetNextToken(v string) *ListConfiguredAudienceModelsInput { + s.NextToken = &v + return s +} + +type ListConfiguredAudienceModelsOutput struct { + _ struct{} `type:"structure"` + + // The configured audience models. + // + // ConfiguredAudienceModels is a required field + ConfiguredAudienceModels []*ConfiguredAudienceModelSummary `locationName:"configuredAudienceModels" type:"list" required:"true"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListConfiguredAudienceModelsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListConfiguredAudienceModelsOutput) GoString() string { + return s.String() +} + +// SetConfiguredAudienceModels sets the ConfiguredAudienceModels field's value. +func (s *ListConfiguredAudienceModelsOutput) SetConfiguredAudienceModels(v []*ConfiguredAudienceModelSummary) *ListConfiguredAudienceModelsOutput { + s.ConfiguredAudienceModels = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListConfiguredAudienceModelsOutput) SetNextToken(v string) *ListConfiguredAudienceModelsOutput { + s.NextToken = &v + return s +} + +type ListTagsForResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the resource that you are interested in. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s 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) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + + 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"` + + // The tags that are associated with the resource. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTagsForResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s 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 ListTrainingDatasetsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The maximum size of the results that is returned per call. + MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTrainingDatasetsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTrainingDatasetsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListTrainingDatasetsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListTrainingDatasetsInput"} + 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 invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListTrainingDatasetsInput) SetMaxResults(v int64) *ListTrainingDatasetsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTrainingDatasetsInput) SetNextToken(v string) *ListTrainingDatasetsInput { + s.NextToken = &v + return s +} + +type ListTrainingDatasetsOutput struct { + _ struct{} `type:"structure"` + + // The token value retrieved from a previous call to access the next page of + // results. + NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The training datasets that match the request. + // + // TrainingDatasets is a required field + TrainingDatasets []*TrainingDatasetSummary `locationName:"trainingDatasets" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTrainingDatasetsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListTrainingDatasetsOutput) GoString() string { + return s.String() +} + +// SetNextToken sets the NextToken field's value. +func (s *ListTrainingDatasetsOutput) SetNextToken(v string) *ListTrainingDatasetsOutput { + s.NextToken = &v + return s +} + +// SetTrainingDatasets sets the TrainingDatasets field's value. +func (s *ListTrainingDatasetsOutput) SetTrainingDatasets(v []*TrainingDatasetSummary) *ListTrainingDatasetsOutput { + s.TrainingDatasets = v + return s +} + +type PutConfiguredAudienceModelPolicyInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the configured audience model that the + // resource policy will govern. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `location:"uri" locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` + + // The IAM resource policy. + // + // ConfiguredAudienceModelPolicy is a required field + ConfiguredAudienceModelPolicy *string `locationName:"configuredAudienceModelPolicy" min:"1" type:"string" required:"true"` + + // Use this to prevent unexpected concurrent modification of the policy. + PolicyExistenceCondition *string `locationName:"policyExistenceCondition" type:"string" enum:"PolicyExistenceCondition"` + + // A cryptographic hash of the contents of the policy used to prevent unexpected + // concurrent modification of the policy. + PreviousPolicyHash *string `locationName:"previousPolicyHash" min:"64" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutConfiguredAudienceModelPolicyInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutConfiguredAudienceModelPolicyInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PutConfiguredAudienceModelPolicyInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PutConfiguredAudienceModelPolicyInput"} + if s.ConfiguredAudienceModelArn == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelArn")) + } + if s.ConfiguredAudienceModelArn != nil && len(*s.ConfiguredAudienceModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelArn", 20)) + } + if s.ConfiguredAudienceModelPolicy == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelPolicy")) + } + if s.ConfiguredAudienceModelPolicy != nil && len(*s.ConfiguredAudienceModelPolicy) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelPolicy", 1)) + } + if s.PreviousPolicyHash != nil && len(*s.PreviousPolicyHash) < 64 { + invalidParams.Add(request.NewErrParamMinLen("PreviousPolicyHash", 64)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *PutConfiguredAudienceModelPolicyInput) SetConfiguredAudienceModelArn(v string) *PutConfiguredAudienceModelPolicyInput { + s.ConfiguredAudienceModelArn = &v + return s +} + +// SetConfiguredAudienceModelPolicy sets the ConfiguredAudienceModelPolicy field's value. +func (s *PutConfiguredAudienceModelPolicyInput) SetConfiguredAudienceModelPolicy(v string) *PutConfiguredAudienceModelPolicyInput { + s.ConfiguredAudienceModelPolicy = &v + return s +} + +// SetPolicyExistenceCondition sets the PolicyExistenceCondition field's value. +func (s *PutConfiguredAudienceModelPolicyInput) SetPolicyExistenceCondition(v string) *PutConfiguredAudienceModelPolicyInput { + s.PolicyExistenceCondition = &v + return s +} + +// SetPreviousPolicyHash sets the PreviousPolicyHash field's value. +func (s *PutConfiguredAudienceModelPolicyInput) SetPreviousPolicyHash(v string) *PutConfiguredAudienceModelPolicyInput { + s.PreviousPolicyHash = &v + return s +} + +type PutConfiguredAudienceModelPolicyOutput struct { + _ struct{} `type:"structure"` + + // The IAM resource policy. + // + // ConfiguredAudienceModelPolicy is a required field + ConfiguredAudienceModelPolicy *string `locationName:"configuredAudienceModelPolicy" min:"1" type:"string" required:"true"` + + // A cryptographic hash of the contents of the policy used to prevent unexpected + // concurrent modification of the policy. + // + // PolicyHash is a required field + PolicyHash *string `locationName:"policyHash" min:"64" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutConfiguredAudienceModelPolicyOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PutConfiguredAudienceModelPolicyOutput) GoString() string { + return s.String() +} + +// SetConfiguredAudienceModelPolicy sets the ConfiguredAudienceModelPolicy field's value. +func (s *PutConfiguredAudienceModelPolicyOutput) SetConfiguredAudienceModelPolicy(v string) *PutConfiguredAudienceModelPolicyOutput { + s.ConfiguredAudienceModelPolicy = &v + return s +} + +// SetPolicyHash sets the PolicyHash field's value. +func (s *PutConfiguredAudienceModelPolicyOutput) SetPolicyHash(v string) *PutConfiguredAudienceModelPolicyOutput { + s.PolicyHash = &v + return s +} + +// The relevance score of a generated audience. +type RelevanceMetric struct { + _ struct{} `type:"structure"` + + // The size of the generated audience. Must match one of the sizes in the configured + // audience model. + // + // AudienceSize is a required field + AudienceSize *AudienceSize `locationName:"audienceSize" type:"structure" required:"true"` + + // The relevance score of the generated audience. + Score *float64 `locationName:"score" type:"double"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RelevanceMetric) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RelevanceMetric) GoString() string { + return s.String() +} + +// SetAudienceSize sets the AudienceSize field's value. +func (s *RelevanceMetric) SetAudienceSize(v *AudienceSize) *RelevanceMetric { + s.AudienceSize = v + return s +} + +// SetScore sets the Score field's value. +func (s *RelevanceMetric) SetScore(v float64) *RelevanceMetric { + s.Score = &v + return s +} + +// The resource you are requesting does not exist. +type ResourceNotFoundException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ResourceNotFoundException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s 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", s.Code(), s.Message()) +} + +// 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 +} + +// Provides information about an Amazon S3 bucket and path. +type S3ConfigMap struct { + _ struct{} `type:"structure"` + + // The Amazon S3 location URI. + // + // S3Uri is a required field + S3Uri *string `locationName:"s3Uri" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3ConfigMap) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3ConfigMap) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3ConfigMap) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3ConfigMap"} + if s.S3Uri == nil { + invalidParams.Add(request.NewErrParamRequired("S3Uri")) + } + if s.S3Uri != nil && len(*s.S3Uri) < 1 { + invalidParams.Add(request.NewErrParamMinLen("S3Uri", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3Uri sets the S3Uri field's value. +func (s *S3ConfigMap) SetS3Uri(v string) *S3ConfigMap { + s.S3Uri = &v + return s +} + +// You have exceeded your service quota. +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s 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", s.Code(), s.Message()) +} + +// 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 +} + +type StartAudienceExportJobInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the audience generation job that you want + // to export. + // + // AudienceGenerationJobArn is a required field + AudienceGenerationJobArn *string `locationName:"audienceGenerationJobArn" min:"20" type:"string" required:"true"` + + // The size of the generated audience. Must match one of the sizes in the configured + // audience model. + // + // AudienceSize is a required field + AudienceSize *AudienceSize `locationName:"audienceSize" type:"structure" required:"true"` + + // The description of the audience export job. + Description *string `locationName:"description" type:"string"` + + // The name of the audience export job. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartAudienceExportJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartAudienceExportJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartAudienceExportJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartAudienceExportJobInput"} + if s.AudienceGenerationJobArn == nil { + invalidParams.Add(request.NewErrParamRequired("AudienceGenerationJobArn")) + } + if s.AudienceGenerationJobArn != nil && len(*s.AudienceGenerationJobArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AudienceGenerationJobArn", 20)) + } + if s.AudienceSize == nil { + invalidParams.Add(request.NewErrParamRequired("AudienceSize")) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.AudienceSize != nil { + if err := s.AudienceSize.Validate(); err != nil { + invalidParams.AddNested("AudienceSize", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudienceGenerationJobArn sets the AudienceGenerationJobArn field's value. +func (s *StartAudienceExportJobInput) SetAudienceGenerationJobArn(v string) *StartAudienceExportJobInput { + s.AudienceGenerationJobArn = &v + return s +} + +// SetAudienceSize sets the AudienceSize field's value. +func (s *StartAudienceExportJobInput) SetAudienceSize(v *AudienceSize) *StartAudienceExportJobInput { + s.AudienceSize = v + return s +} + +// SetDescription sets the Description field's value. +func (s *StartAudienceExportJobInput) SetDescription(v string) *StartAudienceExportJobInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *StartAudienceExportJobInput) SetName(v string) *StartAudienceExportJobInput { + s.Name = &v + return s +} + +type StartAudienceExportJobOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartAudienceExportJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartAudienceExportJobOutput) GoString() string { + return s.String() +} + +type StartAudienceGenerationJobInput struct { + _ struct{} `type:"structure"` + + // The identifier of the collaboration that contains the audience generation + // job. + CollaborationId *string `locationName:"collaborationId" min:"36" type:"string"` + + // The Amazon Resource Name (ARN) of the configured audience model that is used + // for this audience generation job. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` + + // The description of the audience generation job. + Description *string `locationName:"description" type:"string"` + + // Whether the seed audience is included in the audience generation output. + IncludeSeedInOutput *bool `locationName:"includeSeedInOutput" type:"boolean"` + + // The name of the audience generation job. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The seed audience that is used to generate the audience. + // + // SeedAudience is a required field + SeedAudience *AudienceGenerationJobDataSource `locationName:"seedAudience" type:"structure" required:"true"` + + // The optional metadata that you apply to the resource to help you categorize + // and organize them. Each tag consists of a key and an optional value, both + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + Tags map[string]*string `locationName:"tags" type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartAudienceGenerationJobInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartAudienceGenerationJobInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *StartAudienceGenerationJobInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "StartAudienceGenerationJobInput"} + if s.CollaborationId != nil && len(*s.CollaborationId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("CollaborationId", 36)) + } + if s.ConfiguredAudienceModelArn == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelArn")) + } + if s.ConfiguredAudienceModelArn != nil && len(*s.ConfiguredAudienceModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelArn", 20)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.SeedAudience == nil { + invalidParams.Add(request.NewErrParamRequired("SeedAudience")) + } + if s.SeedAudience != nil { + if err := s.SeedAudience.Validate(); err != nil { + invalidParams.AddNested("SeedAudience", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCollaborationId sets the CollaborationId field's value. +func (s *StartAudienceGenerationJobInput) SetCollaborationId(v string) *StartAudienceGenerationJobInput { + s.CollaborationId = &v + return s +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *StartAudienceGenerationJobInput) SetConfiguredAudienceModelArn(v string) *StartAudienceGenerationJobInput { + s.ConfiguredAudienceModelArn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *StartAudienceGenerationJobInput) SetDescription(v string) *StartAudienceGenerationJobInput { + s.Description = &v + return s +} + +// SetIncludeSeedInOutput sets the IncludeSeedInOutput field's value. +func (s *StartAudienceGenerationJobInput) SetIncludeSeedInOutput(v bool) *StartAudienceGenerationJobInput { + s.IncludeSeedInOutput = &v + return s +} + +// SetName sets the Name field's value. +func (s *StartAudienceGenerationJobInput) SetName(v string) *StartAudienceGenerationJobInput { + s.Name = &v + return s +} + +// SetSeedAudience sets the SeedAudience field's value. +func (s *StartAudienceGenerationJobInput) SetSeedAudience(v *AudienceGenerationJobDataSource) *StartAudienceGenerationJobInput { + s.SeedAudience = v + return s +} + +// SetTags sets the Tags field's value. +func (s *StartAudienceGenerationJobInput) SetTags(v map[string]*string) *StartAudienceGenerationJobInput { + s.Tags = v + return s +} + +type StartAudienceGenerationJobOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the audience generation job. + // + // AudienceGenerationJobArn is a required field + AudienceGenerationJobArn *string `locationName:"audienceGenerationJobArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartAudienceGenerationJobOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StartAudienceGenerationJobOutput) GoString() string { + return s.String() +} + +// SetAudienceGenerationJobArn sets the AudienceGenerationJobArn field's value. +func (s *StartAudienceGenerationJobOutput) SetAudienceGenerationJobArn(v string) *StartAudienceGenerationJobOutput { + s.AudienceGenerationJobArn = &v + return s +} + +// Details about the status of a resource. +type StatusDetails struct { + _ struct{} `type:"structure"` + + // The error message that was returned. The message is intended for human consumption + // and can change at any time. Use the statusCode for programmatic error handling. + Message *string `locationName:"message" type:"string"` + + // The status code that was returned. The status code is intended for programmatic + // error handling. Clean Rooms ML will not change the status code for existing + // error conditions. + StatusCode *string `locationName:"statusCode" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StatusDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StatusDetails) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *StatusDetails) SetMessage(v string) *StatusDetails { + s.Message = &v + return s +} + +// SetStatusCode sets the StatusCode field's value. +func (s *StatusDetails) SetStatusCode(v string) *StatusDetails { + s.StatusCode = &v + return s +} + +type TagResourceInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the resource that you want to assign tags. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` + + // The optional metadata that you apply to the resource to help you categorize + // and organize them. Each tag consists of a key and an optional value, both + // of which you define. + // + // The following basic restrictions apply to tags: + // + // * Maximum number of tags per resource - 50. + // + // * For each resource, each tag key must be unique, and each tag key can + // have only one value. + // + // * Maximum key length - 128 Unicode characters in UTF-8. + // + // * Maximum value length - 256 Unicode characters in UTF-8. + // + // * If your tagging schema is used across multiple services and resources, + // remember that other services may have restrictions on allowed characters. + // Generally allowed characters are: letters, numbers, and spaces representable + // in UTF-8, and the following characters: + - = . _ : / @. + // + // * Tag keys and values are case sensitive. + // + // * Do not use aws:, AWS:, or any upper or lowercase combination of such + // as a prefix for keys as it is reserved for AWS use. You cannot edit or + // delete tag keys with this prefix. Values can have this prefix. If a tag + // value has aws as its prefix but the key does not, then Forecast considers + // it to be a user tag and will count against the limit of 50 tags. Tags + // with only the key prefix of aws do not count against your tags per resource + // limit. + // + // Tags is a required field + Tags map[string]*string `locationName:"tags" type:"map" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s 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) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + if s.Tags == nil { + invalidParams.Add(request.NewErrParamRequired("Tags")) + } + + 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. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TagResourceOutput) GoString() string { + return s.String() +} + +// Provides information about the training dataset. +type TrainingDatasetSummary struct { + _ struct{} `type:"structure"` + + // The time at which the training dataset was created. + // + // CreateTime is a required field + CreateTime *time.Time `locationName:"createTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` + + // The description of the training dataset. + Description *string `locationName:"description" type:"string"` + + // The name of the training dataset. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` + + // The status of the training dataset. + // + // Status is a required field + Status *string `locationName:"status" type:"string" required:"true" enum:"TrainingDatasetStatus"` + + // The Amazon Resource Name (ARN) of the training dataset. + // + // TrainingDatasetArn is a required field + TrainingDatasetArn *string `locationName:"trainingDatasetArn" min:"20" type:"string" required:"true"` + + // The most recent time at which the training dataset was updated. + // + // UpdateTime is a required field + UpdateTime *time.Time `locationName:"updateTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TrainingDatasetSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s TrainingDatasetSummary) GoString() string { + return s.String() +} + +// SetCreateTime sets the CreateTime field's value. +func (s *TrainingDatasetSummary) SetCreateTime(v time.Time) *TrainingDatasetSummary { + s.CreateTime = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *TrainingDatasetSummary) SetDescription(v string) *TrainingDatasetSummary { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *TrainingDatasetSummary) SetName(v string) *TrainingDatasetSummary { + s.Name = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *TrainingDatasetSummary) SetStatus(v string) *TrainingDatasetSummary { + s.Status = &v + return s +} + +// SetTrainingDatasetArn sets the TrainingDatasetArn field's value. +func (s *TrainingDatasetSummary) SetTrainingDatasetArn(v string) *TrainingDatasetSummary { + s.TrainingDatasetArn = &v + return s +} + +// SetUpdateTime sets the UpdateTime field's value. +func (s *TrainingDatasetSummary) SetUpdateTime(v time.Time) *TrainingDatasetSummary { + s.UpdateTime = &v + return s +} + +type UntagResourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The Amazon Resource Name (ARN) of the resource that you want to remove tags + // from. + // + // ResourceArn is a required field + ResourceArn *string `location:"uri" locationName:"resourceArn" min:"20" type:"string" required:"true"` + + // The key values of tags that you want to remove. + // + // TagKeys is a required field + TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s 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) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 20)) + } + 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. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UntagResourceOutput) GoString() string { + return s.String() +} + +type UpdateConfiguredAudienceModelInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the new audience model that you want to + // use. + AudienceModelArn *string `locationName:"audienceModelArn" min:"20" type:"string"` + + // The new audience size configuration. + AudienceSizeConfig *AudienceSizeConfig `locationName:"audienceSizeConfig" type:"structure"` + + // The Amazon Resource Name (ARN) of the configured audience model that you + // want to update. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `location:"uri" locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` + + // The new description of the configured audience model. + Description *string `locationName:"description" type:"string"` + + // The minimum number of users from the seed audience that must match with users + // in the training data of the audience model. + MinMatchingSeedSize *int64 `locationName:"minMatchingSeedSize" min:"25" type:"integer"` + + // The new output configuration. + OutputConfig *ConfiguredAudienceModelOutputConfig `locationName:"outputConfig" type:"structure"` + + // The new value for whether to share audience metrics. + SharedAudienceMetrics []*string `locationName:"sharedAudienceMetrics" min:"1" type:"list" enum:"SharedAudienceMetrics"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateConfiguredAudienceModelInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateConfiguredAudienceModelInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateConfiguredAudienceModelInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateConfiguredAudienceModelInput"} + if s.AudienceModelArn != nil && len(*s.AudienceModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("AudienceModelArn", 20)) + } + if s.ConfiguredAudienceModelArn == nil { + invalidParams.Add(request.NewErrParamRequired("ConfiguredAudienceModelArn")) + } + if s.ConfiguredAudienceModelArn != nil && len(*s.ConfiguredAudienceModelArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ConfiguredAudienceModelArn", 20)) + } + if s.MinMatchingSeedSize != nil && *s.MinMatchingSeedSize < 25 { + invalidParams.Add(request.NewErrParamMinValue("MinMatchingSeedSize", 25)) + } + if s.SharedAudienceMetrics != nil && len(s.SharedAudienceMetrics) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SharedAudienceMetrics", 1)) + } + if s.AudienceSizeConfig != nil { + if err := s.AudienceSizeConfig.Validate(); err != nil { + invalidParams.AddNested("AudienceSizeConfig", err.(request.ErrInvalidParams)) + } + } + if s.OutputConfig != nil { + if err := s.OutputConfig.Validate(); err != nil { + invalidParams.AddNested("OutputConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAudienceModelArn sets the AudienceModelArn field's value. +func (s *UpdateConfiguredAudienceModelInput) SetAudienceModelArn(v string) *UpdateConfiguredAudienceModelInput { + s.AudienceModelArn = &v + return s +} + +// SetAudienceSizeConfig sets the AudienceSizeConfig field's value. +func (s *UpdateConfiguredAudienceModelInput) SetAudienceSizeConfig(v *AudienceSizeConfig) *UpdateConfiguredAudienceModelInput { + s.AudienceSizeConfig = v + return s +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *UpdateConfiguredAudienceModelInput) SetConfiguredAudienceModelArn(v string) *UpdateConfiguredAudienceModelInput { + s.ConfiguredAudienceModelArn = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateConfiguredAudienceModelInput) SetDescription(v string) *UpdateConfiguredAudienceModelInput { + s.Description = &v + return s +} + +// SetMinMatchingSeedSize sets the MinMatchingSeedSize field's value. +func (s *UpdateConfiguredAudienceModelInput) SetMinMatchingSeedSize(v int64) *UpdateConfiguredAudienceModelInput { + s.MinMatchingSeedSize = &v + return s +} + +// SetOutputConfig sets the OutputConfig field's value. +func (s *UpdateConfiguredAudienceModelInput) SetOutputConfig(v *ConfiguredAudienceModelOutputConfig) *UpdateConfiguredAudienceModelInput { + s.OutputConfig = v + return s +} + +// SetSharedAudienceMetrics sets the SharedAudienceMetrics field's value. +func (s *UpdateConfiguredAudienceModelInput) SetSharedAudienceMetrics(v []*string) *UpdateConfiguredAudienceModelInput { + s.SharedAudienceMetrics = v + return s +} + +type UpdateConfiguredAudienceModelOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the configured audience model that was + // updated. + // + // ConfiguredAudienceModelArn is a required field + ConfiguredAudienceModelArn *string `locationName:"configuredAudienceModelArn" min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateConfiguredAudienceModelOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateConfiguredAudienceModelOutput) GoString() string { + return s.String() +} + +// SetConfiguredAudienceModelArn sets the ConfiguredAudienceModelArn field's value. +func (s *UpdateConfiguredAudienceModelOutput) SetConfiguredAudienceModelArn(v string) *UpdateConfiguredAudienceModelOutput { + s.ConfiguredAudienceModelArn = &v + return s +} + +// The request parameters for this request are incorrect. +type ValidationException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ValidationException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s 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", s.Code(), s.Message()) +} + +// 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 ( + // AudienceExportJobStatusCreatePending is a AudienceExportJobStatus enum value + AudienceExportJobStatusCreatePending = "CREATE_PENDING" + + // AudienceExportJobStatusCreateInProgress is a AudienceExportJobStatus enum value + AudienceExportJobStatusCreateInProgress = "CREATE_IN_PROGRESS" + + // AudienceExportJobStatusCreateFailed is a AudienceExportJobStatus enum value + AudienceExportJobStatusCreateFailed = "CREATE_FAILED" + + // AudienceExportJobStatusActive is a AudienceExportJobStatus enum value + AudienceExportJobStatusActive = "ACTIVE" +) + +// AudienceExportJobStatus_Values returns all elements of the AudienceExportJobStatus enum +func AudienceExportJobStatus_Values() []string { + return []string{ + AudienceExportJobStatusCreatePending, + AudienceExportJobStatusCreateInProgress, + AudienceExportJobStatusCreateFailed, + AudienceExportJobStatusActive, + } +} + +const ( + // AudienceGenerationJobStatusCreatePending is a AudienceGenerationJobStatus enum value + AudienceGenerationJobStatusCreatePending = "CREATE_PENDING" + + // AudienceGenerationJobStatusCreateInProgress is a AudienceGenerationJobStatus enum value + AudienceGenerationJobStatusCreateInProgress = "CREATE_IN_PROGRESS" + + // AudienceGenerationJobStatusCreateFailed is a AudienceGenerationJobStatus enum value + AudienceGenerationJobStatusCreateFailed = "CREATE_FAILED" + + // AudienceGenerationJobStatusActive is a AudienceGenerationJobStatus enum value + AudienceGenerationJobStatusActive = "ACTIVE" + + // AudienceGenerationJobStatusDeletePending is a AudienceGenerationJobStatus enum value + AudienceGenerationJobStatusDeletePending = "DELETE_PENDING" + + // AudienceGenerationJobStatusDeleteInProgress is a AudienceGenerationJobStatus enum value + AudienceGenerationJobStatusDeleteInProgress = "DELETE_IN_PROGRESS" + + // AudienceGenerationJobStatusDeleteFailed is a AudienceGenerationJobStatus enum value + AudienceGenerationJobStatusDeleteFailed = "DELETE_FAILED" +) + +// AudienceGenerationJobStatus_Values returns all elements of the AudienceGenerationJobStatus enum +func AudienceGenerationJobStatus_Values() []string { + return []string{ + AudienceGenerationJobStatusCreatePending, + AudienceGenerationJobStatusCreateInProgress, + AudienceGenerationJobStatusCreateFailed, + AudienceGenerationJobStatusActive, + AudienceGenerationJobStatusDeletePending, + AudienceGenerationJobStatusDeleteInProgress, + AudienceGenerationJobStatusDeleteFailed, + } +} + +const ( + // AudienceModelMetricTypeNormalizedDiscountedCumulativeGain is a AudienceModelMetricType enum value + AudienceModelMetricTypeNormalizedDiscountedCumulativeGain = "NORMALIZED_DISCOUNTED_CUMULATIVE_GAIN" + + // AudienceModelMetricTypeMeanReciprocalRank is a AudienceModelMetricType enum value + AudienceModelMetricTypeMeanReciprocalRank = "MEAN_RECIPROCAL_RANK" + + // AudienceModelMetricTypePrecision is a AudienceModelMetricType enum value + AudienceModelMetricTypePrecision = "PRECISION" + + // AudienceModelMetricTypeRecall is a AudienceModelMetricType enum value + AudienceModelMetricTypeRecall = "RECALL" +) + +// AudienceModelMetricType_Values returns all elements of the AudienceModelMetricType enum +func AudienceModelMetricType_Values() []string { + return []string{ + AudienceModelMetricTypeNormalizedDiscountedCumulativeGain, + AudienceModelMetricTypeMeanReciprocalRank, + AudienceModelMetricTypePrecision, + AudienceModelMetricTypeRecall, + } +} + +const ( + // AudienceModelStatusCreatePending is a AudienceModelStatus enum value + AudienceModelStatusCreatePending = "CREATE_PENDING" + + // AudienceModelStatusCreateInProgress is a AudienceModelStatus enum value + AudienceModelStatusCreateInProgress = "CREATE_IN_PROGRESS" + + // AudienceModelStatusCreateFailed is a AudienceModelStatus enum value + AudienceModelStatusCreateFailed = "CREATE_FAILED" + + // AudienceModelStatusActive is a AudienceModelStatus enum value + AudienceModelStatusActive = "ACTIVE" + + // AudienceModelStatusDeletePending is a AudienceModelStatus enum value + AudienceModelStatusDeletePending = "DELETE_PENDING" + + // AudienceModelStatusDeleteInProgress is a AudienceModelStatus enum value + AudienceModelStatusDeleteInProgress = "DELETE_IN_PROGRESS" + + // AudienceModelStatusDeleteFailed is a AudienceModelStatus enum value + AudienceModelStatusDeleteFailed = "DELETE_FAILED" +) + +// AudienceModelStatus_Values returns all elements of the AudienceModelStatus enum +func AudienceModelStatus_Values() []string { + return []string{ + AudienceModelStatusCreatePending, + AudienceModelStatusCreateInProgress, + AudienceModelStatusCreateFailed, + AudienceModelStatusActive, + AudienceModelStatusDeletePending, + AudienceModelStatusDeleteInProgress, + AudienceModelStatusDeleteFailed, + } +} + +const ( + // AudienceSizeTypeAbsolute is a AudienceSizeType enum value + AudienceSizeTypeAbsolute = "ABSOLUTE" + + // AudienceSizeTypePercentage is a AudienceSizeType enum value + AudienceSizeTypePercentage = "PERCENTAGE" +) + +// AudienceSizeType_Values returns all elements of the AudienceSizeType enum +func AudienceSizeType_Values() []string { + return []string{ + AudienceSizeTypeAbsolute, + AudienceSizeTypePercentage, + } +} + +const ( + // ColumnTypeUserId is a ColumnType enum value + ColumnTypeUserId = "USER_ID" + + // ColumnTypeItemId is a ColumnType enum value + ColumnTypeItemId = "ITEM_ID" + + // ColumnTypeTimestamp is a ColumnType enum value + ColumnTypeTimestamp = "TIMESTAMP" + + // ColumnTypeCategoricalFeature is a ColumnType enum value + ColumnTypeCategoricalFeature = "CATEGORICAL_FEATURE" + + // ColumnTypeNumericalFeature is a ColumnType enum value + ColumnTypeNumericalFeature = "NUMERICAL_FEATURE" +) + +// ColumnType_Values returns all elements of the ColumnType enum +func ColumnType_Values() []string { + return []string{ + ColumnTypeUserId, + ColumnTypeItemId, + ColumnTypeTimestamp, + ColumnTypeCategoricalFeature, + ColumnTypeNumericalFeature, + } +} + +const ( + // ConfiguredAudienceModelStatusActive is a ConfiguredAudienceModelStatus enum value + ConfiguredAudienceModelStatusActive = "ACTIVE" +) + +// ConfiguredAudienceModelStatus_Values returns all elements of the ConfiguredAudienceModelStatus enum +func ConfiguredAudienceModelStatus_Values() []string { + return []string{ + ConfiguredAudienceModelStatusActive, + } +} + +const ( + // DatasetTypeInteractions is a DatasetType enum value + DatasetTypeInteractions = "INTERACTIONS" +) + +// DatasetType_Values returns all elements of the DatasetType enum +func DatasetType_Values() []string { + return []string{ + DatasetTypeInteractions, + } +} + +const ( + // PolicyExistenceConditionPolicyMustExist is a PolicyExistenceCondition enum value + PolicyExistenceConditionPolicyMustExist = "POLICY_MUST_EXIST" + + // PolicyExistenceConditionPolicyMustNotExist is a PolicyExistenceCondition enum value + PolicyExistenceConditionPolicyMustNotExist = "POLICY_MUST_NOT_EXIST" +) + +// PolicyExistenceCondition_Values returns all elements of the PolicyExistenceCondition enum +func PolicyExistenceCondition_Values() []string { + return []string{ + PolicyExistenceConditionPolicyMustExist, + PolicyExistenceConditionPolicyMustNotExist, + } +} + +const ( + // SharedAudienceMetricsAll is a SharedAudienceMetrics enum value + SharedAudienceMetricsAll = "ALL" + + // SharedAudienceMetricsNone is a SharedAudienceMetrics enum value + SharedAudienceMetricsNone = "NONE" +) + +// SharedAudienceMetrics_Values returns all elements of the SharedAudienceMetrics enum +func SharedAudienceMetrics_Values() []string { + return []string{ + SharedAudienceMetricsAll, + SharedAudienceMetricsNone, + } +} + +const ( + // TagOnCreatePolicyFromParentResource is a TagOnCreatePolicy enum value + TagOnCreatePolicyFromParentResource = "FROM_PARENT_RESOURCE" + + // TagOnCreatePolicyNone is a TagOnCreatePolicy enum value + TagOnCreatePolicyNone = "NONE" +) + +// TagOnCreatePolicy_Values returns all elements of the TagOnCreatePolicy enum +func TagOnCreatePolicy_Values() []string { + return []string{ + TagOnCreatePolicyFromParentResource, + TagOnCreatePolicyNone, + } +} + +const ( + // TrainingDatasetStatusActive is a TrainingDatasetStatus enum value + TrainingDatasetStatusActive = "ACTIVE" +) + +// TrainingDatasetStatus_Values returns all elements of the TrainingDatasetStatus enum +func TrainingDatasetStatus_Values() []string { + return []string{ + TrainingDatasetStatusActive, + } +} diff --git a/service/cleanroomsml/cleanroomsmliface/interface.go b/service/cleanroomsml/cleanroomsmliface/interface.go new file mode 100644 index 00000000000..5e39979d95b --- /dev/null +++ b/service/cleanroomsml/cleanroomsmliface/interface.go @@ -0,0 +1,179 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package cleanroomsmliface provides an interface to enable mocking the cleanrooms-ml 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 cleanroomsmliface + +import ( + "github.com/aws/aws-sdk-go/aws" + "github.com/aws/aws-sdk-go/aws/request" + "github.com/aws/aws-sdk-go/service/cleanroomsml" +) + +// CleanRoomsMLAPI provides an interface to enable mocking the +// cleanroomsml.CleanRoomsML 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 +// // cleanrooms-ml. +// func myFunc(svc cleanroomsmliface.CleanRoomsMLAPI) bool { +// // Make svc.CreateAudienceModel request +// } +// +// func main() { +// sess := session.New() +// svc := cleanroomsml.New(sess) +// +// myFunc(svc) +// } +// +// In your _test.go file: +// +// // Define a mock struct to be used in your unit tests of myFunc. +// type mockCleanRoomsMLClient struct { +// cleanroomsmliface.CleanRoomsMLAPI +// } +// func (m *mockCleanRoomsMLClient) CreateAudienceModel(input *cleanroomsml.CreateAudienceModelInput) (*cleanroomsml.CreateAudienceModelOutput, error) { +// // mock response/functionality +// } +// +// func TestMyFunc(t *testing.T) { +// // Setup Test +// mockSvc := &mockCleanRoomsMLClient{} +// +// 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 CleanRoomsMLAPI interface { + CreateAudienceModel(*cleanroomsml.CreateAudienceModelInput) (*cleanroomsml.CreateAudienceModelOutput, error) + CreateAudienceModelWithContext(aws.Context, *cleanroomsml.CreateAudienceModelInput, ...request.Option) (*cleanroomsml.CreateAudienceModelOutput, error) + CreateAudienceModelRequest(*cleanroomsml.CreateAudienceModelInput) (*request.Request, *cleanroomsml.CreateAudienceModelOutput) + + CreateConfiguredAudienceModel(*cleanroomsml.CreateConfiguredAudienceModelInput) (*cleanroomsml.CreateConfiguredAudienceModelOutput, error) + CreateConfiguredAudienceModelWithContext(aws.Context, *cleanroomsml.CreateConfiguredAudienceModelInput, ...request.Option) (*cleanroomsml.CreateConfiguredAudienceModelOutput, error) + CreateConfiguredAudienceModelRequest(*cleanroomsml.CreateConfiguredAudienceModelInput) (*request.Request, *cleanroomsml.CreateConfiguredAudienceModelOutput) + + CreateTrainingDataset(*cleanroomsml.CreateTrainingDatasetInput) (*cleanroomsml.CreateTrainingDatasetOutput, error) + CreateTrainingDatasetWithContext(aws.Context, *cleanroomsml.CreateTrainingDatasetInput, ...request.Option) (*cleanroomsml.CreateTrainingDatasetOutput, error) + CreateTrainingDatasetRequest(*cleanroomsml.CreateTrainingDatasetInput) (*request.Request, *cleanroomsml.CreateTrainingDatasetOutput) + + DeleteAudienceGenerationJob(*cleanroomsml.DeleteAudienceGenerationJobInput) (*cleanroomsml.DeleteAudienceGenerationJobOutput, error) + DeleteAudienceGenerationJobWithContext(aws.Context, *cleanroomsml.DeleteAudienceGenerationJobInput, ...request.Option) (*cleanroomsml.DeleteAudienceGenerationJobOutput, error) + DeleteAudienceGenerationJobRequest(*cleanroomsml.DeleteAudienceGenerationJobInput) (*request.Request, *cleanroomsml.DeleteAudienceGenerationJobOutput) + + DeleteAudienceModel(*cleanroomsml.DeleteAudienceModelInput) (*cleanroomsml.DeleteAudienceModelOutput, error) + DeleteAudienceModelWithContext(aws.Context, *cleanroomsml.DeleteAudienceModelInput, ...request.Option) (*cleanroomsml.DeleteAudienceModelOutput, error) + DeleteAudienceModelRequest(*cleanroomsml.DeleteAudienceModelInput) (*request.Request, *cleanroomsml.DeleteAudienceModelOutput) + + DeleteConfiguredAudienceModel(*cleanroomsml.DeleteConfiguredAudienceModelInput) (*cleanroomsml.DeleteConfiguredAudienceModelOutput, error) + DeleteConfiguredAudienceModelWithContext(aws.Context, *cleanroomsml.DeleteConfiguredAudienceModelInput, ...request.Option) (*cleanroomsml.DeleteConfiguredAudienceModelOutput, error) + DeleteConfiguredAudienceModelRequest(*cleanroomsml.DeleteConfiguredAudienceModelInput) (*request.Request, *cleanroomsml.DeleteConfiguredAudienceModelOutput) + + DeleteConfiguredAudienceModelPolicy(*cleanroomsml.DeleteConfiguredAudienceModelPolicyInput) (*cleanroomsml.DeleteConfiguredAudienceModelPolicyOutput, error) + DeleteConfiguredAudienceModelPolicyWithContext(aws.Context, *cleanroomsml.DeleteConfiguredAudienceModelPolicyInput, ...request.Option) (*cleanroomsml.DeleteConfiguredAudienceModelPolicyOutput, error) + DeleteConfiguredAudienceModelPolicyRequest(*cleanroomsml.DeleteConfiguredAudienceModelPolicyInput) (*request.Request, *cleanroomsml.DeleteConfiguredAudienceModelPolicyOutput) + + DeleteTrainingDataset(*cleanroomsml.DeleteTrainingDatasetInput) (*cleanroomsml.DeleteTrainingDatasetOutput, error) + DeleteTrainingDatasetWithContext(aws.Context, *cleanroomsml.DeleteTrainingDatasetInput, ...request.Option) (*cleanroomsml.DeleteTrainingDatasetOutput, error) + DeleteTrainingDatasetRequest(*cleanroomsml.DeleteTrainingDatasetInput) (*request.Request, *cleanroomsml.DeleteTrainingDatasetOutput) + + GetAudienceGenerationJob(*cleanroomsml.GetAudienceGenerationJobInput) (*cleanroomsml.GetAudienceGenerationJobOutput, error) + GetAudienceGenerationJobWithContext(aws.Context, *cleanroomsml.GetAudienceGenerationJobInput, ...request.Option) (*cleanroomsml.GetAudienceGenerationJobOutput, error) + GetAudienceGenerationJobRequest(*cleanroomsml.GetAudienceGenerationJobInput) (*request.Request, *cleanroomsml.GetAudienceGenerationJobOutput) + + GetAudienceModel(*cleanroomsml.GetAudienceModelInput) (*cleanroomsml.GetAudienceModelOutput, error) + GetAudienceModelWithContext(aws.Context, *cleanroomsml.GetAudienceModelInput, ...request.Option) (*cleanroomsml.GetAudienceModelOutput, error) + GetAudienceModelRequest(*cleanroomsml.GetAudienceModelInput) (*request.Request, *cleanroomsml.GetAudienceModelOutput) + + GetConfiguredAudienceModel(*cleanroomsml.GetConfiguredAudienceModelInput) (*cleanroomsml.GetConfiguredAudienceModelOutput, error) + GetConfiguredAudienceModelWithContext(aws.Context, *cleanroomsml.GetConfiguredAudienceModelInput, ...request.Option) (*cleanroomsml.GetConfiguredAudienceModelOutput, error) + GetConfiguredAudienceModelRequest(*cleanroomsml.GetConfiguredAudienceModelInput) (*request.Request, *cleanroomsml.GetConfiguredAudienceModelOutput) + + GetConfiguredAudienceModelPolicy(*cleanroomsml.GetConfiguredAudienceModelPolicyInput) (*cleanroomsml.GetConfiguredAudienceModelPolicyOutput, error) + GetConfiguredAudienceModelPolicyWithContext(aws.Context, *cleanroomsml.GetConfiguredAudienceModelPolicyInput, ...request.Option) (*cleanroomsml.GetConfiguredAudienceModelPolicyOutput, error) + GetConfiguredAudienceModelPolicyRequest(*cleanroomsml.GetConfiguredAudienceModelPolicyInput) (*request.Request, *cleanroomsml.GetConfiguredAudienceModelPolicyOutput) + + GetTrainingDataset(*cleanroomsml.GetTrainingDatasetInput) (*cleanroomsml.GetTrainingDatasetOutput, error) + GetTrainingDatasetWithContext(aws.Context, *cleanroomsml.GetTrainingDatasetInput, ...request.Option) (*cleanroomsml.GetTrainingDatasetOutput, error) + GetTrainingDatasetRequest(*cleanroomsml.GetTrainingDatasetInput) (*request.Request, *cleanroomsml.GetTrainingDatasetOutput) + + ListAudienceExportJobs(*cleanroomsml.ListAudienceExportJobsInput) (*cleanroomsml.ListAudienceExportJobsOutput, error) + ListAudienceExportJobsWithContext(aws.Context, *cleanroomsml.ListAudienceExportJobsInput, ...request.Option) (*cleanroomsml.ListAudienceExportJobsOutput, error) + ListAudienceExportJobsRequest(*cleanroomsml.ListAudienceExportJobsInput) (*request.Request, *cleanroomsml.ListAudienceExportJobsOutput) + + ListAudienceExportJobsPages(*cleanroomsml.ListAudienceExportJobsInput, func(*cleanroomsml.ListAudienceExportJobsOutput, bool) bool) error + ListAudienceExportJobsPagesWithContext(aws.Context, *cleanroomsml.ListAudienceExportJobsInput, func(*cleanroomsml.ListAudienceExportJobsOutput, bool) bool, ...request.Option) error + + ListAudienceGenerationJobs(*cleanroomsml.ListAudienceGenerationJobsInput) (*cleanroomsml.ListAudienceGenerationJobsOutput, error) + ListAudienceGenerationJobsWithContext(aws.Context, *cleanroomsml.ListAudienceGenerationJobsInput, ...request.Option) (*cleanroomsml.ListAudienceGenerationJobsOutput, error) + ListAudienceGenerationJobsRequest(*cleanroomsml.ListAudienceGenerationJobsInput) (*request.Request, *cleanroomsml.ListAudienceGenerationJobsOutput) + + ListAudienceGenerationJobsPages(*cleanroomsml.ListAudienceGenerationJobsInput, func(*cleanroomsml.ListAudienceGenerationJobsOutput, bool) bool) error + ListAudienceGenerationJobsPagesWithContext(aws.Context, *cleanroomsml.ListAudienceGenerationJobsInput, func(*cleanroomsml.ListAudienceGenerationJobsOutput, bool) bool, ...request.Option) error + + ListAudienceModels(*cleanroomsml.ListAudienceModelsInput) (*cleanroomsml.ListAudienceModelsOutput, error) + ListAudienceModelsWithContext(aws.Context, *cleanroomsml.ListAudienceModelsInput, ...request.Option) (*cleanroomsml.ListAudienceModelsOutput, error) + ListAudienceModelsRequest(*cleanroomsml.ListAudienceModelsInput) (*request.Request, *cleanroomsml.ListAudienceModelsOutput) + + ListAudienceModelsPages(*cleanroomsml.ListAudienceModelsInput, func(*cleanroomsml.ListAudienceModelsOutput, bool) bool) error + ListAudienceModelsPagesWithContext(aws.Context, *cleanroomsml.ListAudienceModelsInput, func(*cleanroomsml.ListAudienceModelsOutput, bool) bool, ...request.Option) error + + ListConfiguredAudienceModels(*cleanroomsml.ListConfiguredAudienceModelsInput) (*cleanroomsml.ListConfiguredAudienceModelsOutput, error) + ListConfiguredAudienceModelsWithContext(aws.Context, *cleanroomsml.ListConfiguredAudienceModelsInput, ...request.Option) (*cleanroomsml.ListConfiguredAudienceModelsOutput, error) + ListConfiguredAudienceModelsRequest(*cleanroomsml.ListConfiguredAudienceModelsInput) (*request.Request, *cleanroomsml.ListConfiguredAudienceModelsOutput) + + ListConfiguredAudienceModelsPages(*cleanroomsml.ListConfiguredAudienceModelsInput, func(*cleanroomsml.ListConfiguredAudienceModelsOutput, bool) bool) error + ListConfiguredAudienceModelsPagesWithContext(aws.Context, *cleanroomsml.ListConfiguredAudienceModelsInput, func(*cleanroomsml.ListConfiguredAudienceModelsOutput, bool) bool, ...request.Option) error + + ListTagsForResource(*cleanroomsml.ListTagsForResourceInput) (*cleanroomsml.ListTagsForResourceOutput, error) + ListTagsForResourceWithContext(aws.Context, *cleanroomsml.ListTagsForResourceInput, ...request.Option) (*cleanroomsml.ListTagsForResourceOutput, error) + ListTagsForResourceRequest(*cleanroomsml.ListTagsForResourceInput) (*request.Request, *cleanroomsml.ListTagsForResourceOutput) + + ListTrainingDatasets(*cleanroomsml.ListTrainingDatasetsInput) (*cleanroomsml.ListTrainingDatasetsOutput, error) + ListTrainingDatasetsWithContext(aws.Context, *cleanroomsml.ListTrainingDatasetsInput, ...request.Option) (*cleanroomsml.ListTrainingDatasetsOutput, error) + ListTrainingDatasetsRequest(*cleanroomsml.ListTrainingDatasetsInput) (*request.Request, *cleanroomsml.ListTrainingDatasetsOutput) + + ListTrainingDatasetsPages(*cleanroomsml.ListTrainingDatasetsInput, func(*cleanroomsml.ListTrainingDatasetsOutput, bool) bool) error + ListTrainingDatasetsPagesWithContext(aws.Context, *cleanroomsml.ListTrainingDatasetsInput, func(*cleanroomsml.ListTrainingDatasetsOutput, bool) bool, ...request.Option) error + + PutConfiguredAudienceModelPolicy(*cleanroomsml.PutConfiguredAudienceModelPolicyInput) (*cleanroomsml.PutConfiguredAudienceModelPolicyOutput, error) + PutConfiguredAudienceModelPolicyWithContext(aws.Context, *cleanroomsml.PutConfiguredAudienceModelPolicyInput, ...request.Option) (*cleanroomsml.PutConfiguredAudienceModelPolicyOutput, error) + PutConfiguredAudienceModelPolicyRequest(*cleanroomsml.PutConfiguredAudienceModelPolicyInput) (*request.Request, *cleanroomsml.PutConfiguredAudienceModelPolicyOutput) + + StartAudienceExportJob(*cleanroomsml.StartAudienceExportJobInput) (*cleanroomsml.StartAudienceExportJobOutput, error) + StartAudienceExportJobWithContext(aws.Context, *cleanroomsml.StartAudienceExportJobInput, ...request.Option) (*cleanroomsml.StartAudienceExportJobOutput, error) + StartAudienceExportJobRequest(*cleanroomsml.StartAudienceExportJobInput) (*request.Request, *cleanroomsml.StartAudienceExportJobOutput) + + StartAudienceGenerationJob(*cleanroomsml.StartAudienceGenerationJobInput) (*cleanroomsml.StartAudienceGenerationJobOutput, error) + StartAudienceGenerationJobWithContext(aws.Context, *cleanroomsml.StartAudienceGenerationJobInput, ...request.Option) (*cleanroomsml.StartAudienceGenerationJobOutput, error) + StartAudienceGenerationJobRequest(*cleanroomsml.StartAudienceGenerationJobInput) (*request.Request, *cleanroomsml.StartAudienceGenerationJobOutput) + + TagResource(*cleanroomsml.TagResourceInput) (*cleanroomsml.TagResourceOutput, error) + TagResourceWithContext(aws.Context, *cleanroomsml.TagResourceInput, ...request.Option) (*cleanroomsml.TagResourceOutput, error) + TagResourceRequest(*cleanroomsml.TagResourceInput) (*request.Request, *cleanroomsml.TagResourceOutput) + + UntagResource(*cleanroomsml.UntagResourceInput) (*cleanroomsml.UntagResourceOutput, error) + UntagResourceWithContext(aws.Context, *cleanroomsml.UntagResourceInput, ...request.Option) (*cleanroomsml.UntagResourceOutput, error) + UntagResourceRequest(*cleanroomsml.UntagResourceInput) (*request.Request, *cleanroomsml.UntagResourceOutput) + + UpdateConfiguredAudienceModel(*cleanroomsml.UpdateConfiguredAudienceModelInput) (*cleanroomsml.UpdateConfiguredAudienceModelOutput, error) + UpdateConfiguredAudienceModelWithContext(aws.Context, *cleanroomsml.UpdateConfiguredAudienceModelInput, ...request.Option) (*cleanroomsml.UpdateConfiguredAudienceModelOutput, error) + UpdateConfiguredAudienceModelRequest(*cleanroomsml.UpdateConfiguredAudienceModelInput) (*request.Request, *cleanroomsml.UpdateConfiguredAudienceModelOutput) +} + +var _ CleanRoomsMLAPI = (*cleanroomsml.CleanRoomsML)(nil) diff --git a/service/cleanroomsml/doc.go b/service/cleanroomsml/doc.go new file mode 100644 index 00000000000..8208c8d3d47 --- /dev/null +++ b/service/cleanroomsml/doc.go @@ -0,0 +1,28 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +// Package cleanroomsml provides the client and types for making API +// requests to cleanrooms-ml. +// +// API Reference for Amazon Web Services Clean Rooms ML. +// +// See https://docs.aws.amazon.com/goto/WebAPI/cleanroomsml-2023-09-06 for more information on this service. +// +// See cleanroomsml package documentation for more information. +// https://docs.aws.amazon.com/sdk-for-go/api/service/cleanroomsml/ +// +// # Using the Client +// +// To contact cleanrooms-ml 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 cleanrooms-ml client CleanRoomsML for more +// information on creating client for this service. +// https://docs.aws.amazon.com/sdk-for-go/api/service/cleanroomsml/#New +package cleanroomsml diff --git a/service/cleanroomsml/errors.go b/service/cleanroomsml/errors.go new file mode 100644 index 00000000000..aaf11068cbb --- /dev/null +++ b/service/cleanroomsml/errors.go @@ -0,0 +1,48 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package cleanroomsml + +import ( + "github.com/aws/aws-sdk-go/private/protocol" +) + +const ( + + // ErrCodeAccessDeniedException for service response error code + // "AccessDeniedException". + // + // You do not have sufficient access to perform this action. + ErrCodeAccessDeniedException = "AccessDeniedException" + + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // A resource with that name already exists in this region. + ErrCodeConflictException = "ConflictException" + + // ErrCodeResourceNotFoundException for service response error code + // "ResourceNotFoundException". + // + // The resource you are requesting does not exist. + ErrCodeResourceNotFoundException = "ResourceNotFoundException" + + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // You have exceeded your service quota. + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + + // ErrCodeValidationException for service response error code + // "ValidationException". + // + // The request parameters for this request are incorrect. + ErrCodeValidationException = "ValidationException" +) + +var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ + "AccessDeniedException": newErrorAccessDeniedException, + "ConflictException": newErrorConflictException, + "ResourceNotFoundException": newErrorResourceNotFoundException, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "ValidationException": newErrorValidationException, +} diff --git a/service/cleanroomsml/service.go b/service/cleanroomsml/service.go new file mode 100644 index 00000000000..55eeb8c5874 --- /dev/null +++ b/service/cleanroomsml/service.go @@ -0,0 +1,106 @@ +// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. + +package cleanroomsml + +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" +) + +// CleanRoomsML provides the API operation methods for making requests to +// cleanrooms-ml. See this package's package overview docs +// for details on the service. +// +// CleanRoomsML methods are safe to use concurrently. It is not safe to +// modify mutate any of the struct's properties though. +type CleanRoomsML 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 = "CleanRoomsML" // Name of service. + EndpointsID = "cleanrooms-ml" // ID to lookup a service endpoint with. + ServiceID = "CleanRoomsML" // ServiceID is a unique identifier of a specific service. +) + +// New creates a new instance of the CleanRoomsML 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 CleanRoomsML client from just a session. +// svc := cleanroomsml.New(mySession) +// +// // Create a CleanRoomsML client with additional configuration +// svc := cleanroomsml.New(mySession, aws.NewConfig().WithRegion("us-west-2")) +func New(p client.ConfigProvider, cfgs ...*aws.Config) *CleanRoomsML { + c := p.ClientConfig(EndpointsID, cfgs...) + if c.SigningNameDerived || len(c.SigningName) == 0 { + c.SigningName = "cleanrooms-ml" + } + return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion) +} + +// newClient creates, initializes and returns a new service client instance. +func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *CleanRoomsML { + svc := &CleanRoomsML{ + Client: client.New( + cfg, + metadata.ClientInfo{ + ServiceName: ServiceName, + ServiceID: ServiceID, + SigningName: signingName, + SigningRegion: signingRegion, + PartitionID: partitionID, + Endpoint: endpoint, + APIVersion: "2023-09-06", + ResolvedRegion: resolvedRegion, + }, + 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 CleanRoomsML operation and runs any +// custom request initialization. +func (c *CleanRoomsML) 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 +} diff --git a/service/opensearchserverless/api.go b/service/opensearchserverless/api.go index cfe872bfc7a..88cfc67baa6 100644 --- a/service/opensearchserverless/api.go +++ b/service/opensearchserverless/api.go @@ -4369,6 +4369,9 @@ type CollectionDetail struct { // The name of the collection. Name *string `locationName:"name" min:"3" type:"string"` + // Details about an OpenSearch Serverless collection. + StandbyReplicas *string `locationName:"standbyReplicas" type:"string" enum:"StandbyReplicas"` + // The current status of the collection. Status *string `locationName:"status" type:"string" enum:"CollectionStatus"` @@ -4448,6 +4451,12 @@ func (s *CollectionDetail) SetName(v string) *CollectionDetail { return s } +// SetStandbyReplicas sets the StandbyReplicas field's value. +func (s *CollectionDetail) SetStandbyReplicas(v string) *CollectionDetail { + s.StandbyReplicas = &v + return s +} + // SetStatus sets the Status field's value. func (s *CollectionDetail) SetStatus(v string) *CollectionDetail { s.Status = &v @@ -4860,6 +4869,9 @@ type CreateCollectionDetail struct { // The name of the collection. Name *string `locationName:"name" min:"3" type:"string"` + // Creates details about an OpenSearch Serverless collection. + StandbyReplicas *string `locationName:"standbyReplicas" type:"string" enum:"StandbyReplicas"` + // The current status of the collection. Status *string `locationName:"status" type:"string" enum:"CollectionStatus"` @@ -4927,6 +4939,12 @@ func (s *CreateCollectionDetail) SetName(v string) *CreateCollectionDetail { return s } +// SetStandbyReplicas sets the StandbyReplicas field's value. +func (s *CreateCollectionDetail) SetStandbyReplicas(v string) *CreateCollectionDetail { + s.StandbyReplicas = &v + return s +} + // SetStatus sets the Status field's value. func (s *CreateCollectionDetail) SetStatus(v string) *CreateCollectionDetail { s.Status = &v @@ -4953,6 +4971,9 @@ type CreateCollectionInput struct { // Name is a required field Name *string `locationName:"name" min:"3" type:"string" required:"true"` + // Indicates whether standby replicas should be used for a collection. + StandbyReplicas *string `locationName:"standbyReplicas" type:"string" enum:"StandbyReplicas"` + // An arbitrary set of tags (key–value pairs) to associate with the OpenSearch // Serverless collection. Tags []*Tag `locationName:"tags" type:"list"` @@ -5026,6 +5047,12 @@ func (s *CreateCollectionInput) SetName(v string) *CreateCollectionInput { return s } +// SetStandbyReplicas sets the StandbyReplicas field's value. +func (s *CreateCollectionInput) SetStandbyReplicas(v string) *CreateCollectionInput { + s.StandbyReplicas = &v + return s +} + // SetTags sets the Tags field's value. func (s *CreateCollectionInput) SetTags(v []*Tag) *CreateCollectionInput { s.Tags = v @@ -10494,6 +10521,22 @@ func SecurityPolicyType_Values() []string { } } +const ( + // StandbyReplicasEnabled is a StandbyReplicas enum value + StandbyReplicasEnabled = "ENABLED" + + // StandbyReplicasDisabled is a StandbyReplicas enum value + StandbyReplicasDisabled = "DISABLED" +) + +// StandbyReplicas_Values returns all elements of the StandbyReplicas enum +func StandbyReplicas_Values() []string { + return []string{ + StandbyReplicasEnabled, + StandbyReplicasDisabled, + } +} + const ( // VpcEndpointStatusPending is a VpcEndpointStatus enum value VpcEndpointStatusPending = "PENDING" diff --git a/service/opensearchservice/api.go b/service/opensearchservice/api.go index a229b9e8338..b88158f905d 100644 --- a/service/opensearchservice/api.go +++ b/service/opensearchservice/api.go @@ -101,6 +101,106 @@ func (c *OpenSearchService) AcceptInboundConnectionWithContext(ctx aws.Context, return out, req.Send() } +const opAddDataSource = "AddDataSource" + +// AddDataSourceRequest generates a "aws/request.Request" representing the +// client's request for the AddDataSource 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 AddDataSource for more information on using the AddDataSource +// 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 AddDataSourceRequest method. +// req, resp := client.AddDataSourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/AddDataSource +func (c *OpenSearchService) AddDataSourceRequest(input *AddDataSourceInput) (req *request.Request, output *AddDataSourceOutput) { + op := &request.Operation{ + Name: opAddDataSource, + HTTPMethod: "POST", + HTTPPath: "/2021-01-01/opensearch/domain/{DomainName}/dataSource", + } + + if input == nil { + input = &AddDataSourceInput{} + } + + output = &AddDataSourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// AddDataSource API operation for Amazon OpenSearch Service. +// +// Adds the data source on the domain. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Service's +// API operation AddDataSource for usage and error information. +// +// Returned Error Types: +// +// - BaseException +// An error occurred while processing the request. +// +// - InternalException +// Request processing failed because of an unknown error, exception, or internal +// failure. +// +// - ResourceNotFoundException +// An exception for accessing or deleting a resource that doesn't exist. +// +// - ValidationException +// An exception for accessing or deleting a resource that doesn't exist. +// +// - DisabledOperationException +// An error occured because the client wanted to access an unsupported operation. +// +// - DependencyFailureException +// An exception for when a failure in one of the dependencies results in the +// service being unable to fetch details about the resource. +// +// - LimitExceededException +// An exception for trying to create more than the allowed number of resources +// or sub-resources. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/AddDataSource +func (c *OpenSearchService) AddDataSource(input *AddDataSourceInput) (*AddDataSourceOutput, error) { + req, out := c.AddDataSourceRequest(input) + return out, req.Send() +} + +// AddDataSourceWithContext is the same as AddDataSource with the addition of +// the ability to pass a context and additional request options. +// +// See AddDataSource 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 *OpenSearchService) AddDataSourceWithContext(ctx aws.Context, input *AddDataSourceInput, opts ...request.Option) (*AddDataSourceOutput, error) { + req, out := c.AddDataSourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opAddTags = "AddTags" // AddTagsRequest generates a "aws/request.Request" representing the @@ -871,6 +971,102 @@ func (c *OpenSearchService) CreateVpcEndpointWithContext(ctx aws.Context, input return out, req.Send() } +const opDeleteDataSource = "DeleteDataSource" + +// DeleteDataSourceRequest generates a "aws/request.Request" representing the +// client's request for the DeleteDataSource 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 DeleteDataSource for more information on using the DeleteDataSource +// 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 DeleteDataSourceRequest method. +// req, resp := client.DeleteDataSourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DeleteDataSource +func (c *OpenSearchService) DeleteDataSourceRequest(input *DeleteDataSourceInput) (req *request.Request, output *DeleteDataSourceOutput) { + op := &request.Operation{ + Name: opDeleteDataSource, + HTTPMethod: "DELETE", + HTTPPath: "/2021-01-01/opensearch/domain/{DomainName}/dataSource/{DataSourceName}", + } + + if input == nil { + input = &DeleteDataSourceInput{} + } + + output = &DeleteDataSourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteDataSource API operation for Amazon OpenSearch Service. +// +// Deletes the data source. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Service's +// API operation DeleteDataSource for usage and error information. +// +// Returned Error Types: +// +// - BaseException +// An error occurred while processing the request. +// +// - InternalException +// Request processing failed because of an unknown error, exception, or internal +// failure. +// +// - ResourceNotFoundException +// An exception for accessing or deleting a resource that doesn't exist. +// +// - ValidationException +// An exception for accessing or deleting a resource that doesn't exist. +// +// - DisabledOperationException +// An error occured because the client wanted to access an unsupported operation. +// +// - DependencyFailureException +// An exception for when a failure in one of the dependencies results in the +// service being unable to fetch details about the resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/DeleteDataSource +func (c *OpenSearchService) DeleteDataSource(input *DeleteDataSourceInput) (*DeleteDataSourceOutput, error) { + req, out := c.DeleteDataSourceRequest(input) + return out, req.Send() +} + +// DeleteDataSourceWithContext is the same as DeleteDataSource with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteDataSource 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 *OpenSearchService) DeleteDataSourceWithContext(ctx aws.Context, input *DeleteDataSourceInput, opts ...request.Option) (*DeleteDataSourceOutput, error) { + req, out := c.DeleteDataSourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteDomain = "DeleteDomain" // DeleteDomainRequest generates a "aws/request.Request" representing the @@ -3213,6 +3409,102 @@ func (c *OpenSearchService) GetCompatibleVersionsWithContext(ctx aws.Context, in return out, req.Send() } +const opGetDataSource = "GetDataSource" + +// GetDataSourceRequest generates a "aws/request.Request" representing the +// client's request for the GetDataSource 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 GetDataSource for more information on using the GetDataSource +// 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 GetDataSourceRequest method. +// req, resp := client.GetDataSourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/GetDataSource +func (c *OpenSearchService) GetDataSourceRequest(input *GetDataSourceInput) (req *request.Request, output *GetDataSourceOutput) { + op := &request.Operation{ + Name: opGetDataSource, + HTTPMethod: "GET", + HTTPPath: "/2021-01-01/opensearch/domain/{DomainName}/dataSource/{DataSourceName}", + } + + if input == nil { + input = &GetDataSourceInput{} + } + + output = &GetDataSourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// GetDataSource API operation for Amazon OpenSearch Service. +// +// Describes the data source details. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Service's +// API operation GetDataSource for usage and error information. +// +// Returned Error Types: +// +// - BaseException +// An error occurred while processing the request. +// +// - InternalException +// Request processing failed because of an unknown error, exception, or internal +// failure. +// +// - ResourceNotFoundException +// An exception for accessing or deleting a resource that doesn't exist. +// +// - ValidationException +// An exception for accessing or deleting a resource that doesn't exist. +// +// - DisabledOperationException +// An error occured because the client wanted to access an unsupported operation. +// +// - DependencyFailureException +// An exception for when a failure in one of the dependencies results in the +// service being unable to fetch details about the resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/GetDataSource +func (c *OpenSearchService) GetDataSource(input *GetDataSourceInput) (*GetDataSourceOutput, error) { + req, out := c.GetDataSourceRequest(input) + return out, req.Send() +} + +// GetDataSourceWithContext is the same as GetDataSource with the addition of +// the ability to pass a context and additional request options. +// +// See GetDataSource 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 *OpenSearchService) GetDataSourceWithContext(ctx aws.Context, input *GetDataSourceInput, opts ...request.Option) (*GetDataSourceOutput, error) { + req, out := c.GetDataSourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opGetDomainMaintenanceStatus = "GetDomainMaintenanceStatus" // GetDomainMaintenanceStatusRequest generates a "aws/request.Request" representing the @@ -3700,6 +3992,102 @@ func (c *OpenSearchService) GetUpgradeStatusWithContext(ctx aws.Context, input * return out, req.Send() } +const opListDataSources = "ListDataSources" + +// ListDataSourcesRequest generates a "aws/request.Request" representing the +// client's request for the ListDataSources 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 ListDataSources for more information on using the ListDataSources +// 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 ListDataSourcesRequest method. +// req, resp := client.ListDataSourcesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/ListDataSources +func (c *OpenSearchService) ListDataSourcesRequest(input *ListDataSourcesInput) (req *request.Request, output *ListDataSourcesOutput) { + op := &request.Operation{ + Name: opListDataSources, + HTTPMethod: "GET", + HTTPPath: "/2021-01-01/opensearch/domain/{DomainName}/dataSource", + } + + if input == nil { + input = &ListDataSourcesInput{} + } + + output = &ListDataSourcesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListDataSources API operation for Amazon OpenSearch Service. +// +// A list of the data source details of the domain. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Service's +// API operation ListDataSources for usage and error information. +// +// Returned Error Types: +// +// - BaseException +// An error occurred while processing the request. +// +// - InternalException +// Request processing failed because of an unknown error, exception, or internal +// failure. +// +// - ResourceNotFoundException +// An exception for accessing or deleting a resource that doesn't exist. +// +// - ValidationException +// An exception for accessing or deleting a resource that doesn't exist. +// +// - DisabledOperationException +// An error occured because the client wanted to access an unsupported operation. +// +// - DependencyFailureException +// An exception for when a failure in one of the dependencies results in the +// service being unable to fetch details about the resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/ListDataSources +func (c *OpenSearchService) ListDataSources(input *ListDataSourcesInput) (*ListDataSourcesOutput, error) { + req, out := c.ListDataSourcesRequest(input) + return out, req.Send() +} + +// ListDataSourcesWithContext is the same as ListDataSources with the addition of +// the ability to pass a context and additional request options. +// +// See ListDataSources 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 *OpenSearchService) ListDataSourcesWithContext(ctx aws.Context, input *ListDataSourcesInput, opts ...request.Option) (*ListDataSourcesOutput, error) { + req, out := c.ListDataSourcesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListDomainMaintenances = "ListDomainMaintenances" // ListDomainMaintenancesRequest generates a "aws/request.Request" representing the @@ -5581,6 +5969,102 @@ func (c *OpenSearchService) StartServiceSoftwareUpdateWithContext(ctx aws.Contex return out, req.Send() } +const opUpdateDataSource = "UpdateDataSource" + +// UpdateDataSourceRequest generates a "aws/request.Request" representing the +// client's request for the UpdateDataSource 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 UpdateDataSource for more information on using the UpdateDataSource +// 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 UpdateDataSourceRequest method. +// req, resp := client.UpdateDataSourceRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/UpdateDataSource +func (c *OpenSearchService) UpdateDataSourceRequest(input *UpdateDataSourceInput) (req *request.Request, output *UpdateDataSourceOutput) { + op := &request.Operation{ + Name: opUpdateDataSource, + HTTPMethod: "PUT", + HTTPPath: "/2021-01-01/opensearch/domain/{DomainName}/dataSource/{DataSourceName}", + } + + if input == nil { + input = &UpdateDataSourceInput{} + } + + output = &UpdateDataSourceOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateDataSource API operation for Amazon OpenSearch Service. +// +// Updates the data source on the domain. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon OpenSearch Service's +// API operation UpdateDataSource for usage and error information. +// +// Returned Error Types: +// +// - BaseException +// An error occurred while processing the request. +// +// - InternalException +// Request processing failed because of an unknown error, exception, or internal +// failure. +// +// - ResourceNotFoundException +// An exception for accessing or deleting a resource that doesn't exist. +// +// - ValidationException +// An exception for accessing or deleting a resource that doesn't exist. +// +// - DisabledOperationException +// An error occured because the client wanted to access an unsupported operation. +// +// - DependencyFailureException +// An exception for when a failure in one of the dependencies results in the +// service being unable to fetch details about the resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/opensearch-2021-01-01/UpdateDataSource +func (c *OpenSearchService) UpdateDataSource(input *UpdateDataSourceInput) (*UpdateDataSourceOutput, error) { + req, out := c.UpdateDataSourceRequest(input) + return out, req.Send() +} + +// UpdateDataSourceWithContext is the same as UpdateDataSource with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateDataSource 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 *OpenSearchService) UpdateDataSourceWithContext(ctx aws.Context, input *UpdateDataSourceInput, opts ...request.Option) (*UpdateDataSourceOutput, error) { + req, out := c.UpdateDataSourceRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateDomainConfig = "UpdateDomainConfig" // UpdateDomainConfigRequest generates a "aws/request.Request" representing the @@ -6291,22 +6775,155 @@ func (s *AccessDeniedException) RequestID() string { return s.RespMetadata.RequestID } -// The configured access rules for the domain's search endpoint, and the current -// status of those rules. -type AccessPoliciesStatus struct { +// The configured access rules for the domain's search endpoint, and the current +// status of those rules. +type AccessPoliciesStatus struct { + _ struct{} `type:"structure"` + + // The access policy configured for the domain. Access policies can be resource-based, + // IP-based, or IAM-based. For more information, see Configuring access policies + // (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-access-policies). + // + // Options is a required field + Options *string `type:"string" required:"true"` + + // The status of the access policy for the domain. + // + // Status is a required field + Status *OptionStatus `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessPoliciesStatus) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AccessPoliciesStatus) GoString() string { + return s.String() +} + +// SetOptions sets the Options field's value. +func (s *AccessPoliciesStatus) SetOptions(v string) *AccessPoliciesStatus { + s.Options = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *AccessPoliciesStatus) SetStatus(v *OptionStatus) *AccessPoliciesStatus { + s.Status = v + return s +} + +// Container for the parameters to the AddDataSource operation. +type AddDataSourceInput struct { + _ struct{} `type:"structure"` + + // The type of data source. + // + // DataSourceType is a required field + DataSourceType *DataSourceType `type:"structure" required:"true"` + + // A description of the data source. + Description *string `type:"string"` + + // The name of the domain. + // + // DomainName is a required field + DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"` + + // The name of the data source. + // + // Name is a required field + Name *string `min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AddDataSourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s AddDataSourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *AddDataSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "AddDataSourceInput"} + if s.DataSourceType == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceType")) + } + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Name", 3)) + } + if s.DataSourceType != nil { + if err := s.DataSourceType.Validate(); err != nil { + invalidParams.AddNested("DataSourceType", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataSourceType sets the DataSourceType field's value. +func (s *AddDataSourceInput) SetDataSourceType(v *DataSourceType) *AddDataSourceInput { + s.DataSourceType = v + return s +} + +// SetDescription sets the Description field's value. +func (s *AddDataSourceInput) SetDescription(v string) *AddDataSourceInput { + s.Description = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *AddDataSourceInput) SetDomainName(v string) *AddDataSourceInput { + s.DomainName = &v + return s +} + +// SetName sets the Name field's value. +func (s *AddDataSourceInput) SetName(v string) *AddDataSourceInput { + s.Name = &v + return s +} + +// The result of an AddDataSource operation. +type AddDataSourceOutput struct { _ struct{} `type:"structure"` - // The access policy configured for the domain. Access policies can be resource-based, - // IP-based, or IAM-based. For more information, see Configuring access policies - // (https://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-access-policies). - // - // Options is a required field - Options *string `type:"string" required:"true"` - - // The status of the access policy for the domain. - // - // Status is a required field - Status *OptionStatus `type:"structure" required:"true"` + // A message associated with the data source. + Message *string `type:"string"` } // String returns the string representation. @@ -6314,7 +6931,7 @@ type AccessPoliciesStatus struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AccessPoliciesStatus) String() string { +func (s AddDataSourceOutput) String() string { return awsutil.Prettify(s) } @@ -6323,19 +6940,13 @@ func (s AccessPoliciesStatus) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s AccessPoliciesStatus) GoString() string { +func (s AddDataSourceOutput) GoString() string { return s.String() } -// SetOptions sets the Options field's value. -func (s *AccessPoliciesStatus) SetOptions(v string) *AccessPoliciesStatus { - s.Options = &v - return s -} - -// SetStatus sets the Status field's value. -func (s *AccessPoliciesStatus) SetStatus(v *OptionStatus) *AccessPoliciesStatus { - s.Status = v +// SetMessage sets the Message field's value. +func (s *AddDataSourceOutput) SetMessage(v string) *AddDataSourceOutput { + s.Message = &v return s } @@ -9244,6 +9855,202 @@ func (s *CrossClusterSearchConnectionProperties) SetSkipUnavailable(v string) *C return s } +// Details about the data sources. +type DataSourceDetails struct { + _ struct{} `type:"structure"` + + // The type of data source. + DataSourceType *DataSourceType `type:"structure"` + + // A description of the data source. + Description *string `type:"string"` + + // The name of the data source. + Name *string `min:"3" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataSourceDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataSourceDetails) GoString() string { + return s.String() +} + +// SetDataSourceType sets the DataSourceType field's value. +func (s *DataSourceDetails) SetDataSourceType(v *DataSourceType) *DataSourceDetails { + s.DataSourceType = v + return s +} + +// SetDescription sets the Description field's value. +func (s *DataSourceDetails) SetDescription(v string) *DataSourceDetails { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *DataSourceDetails) SetName(v string) *DataSourceDetails { + s.Name = &v + return s +} + +// Information about the data source. +type DataSourceType struct { + _ struct{} `type:"structure"` + + // The data source for the AWS S3 Glue Data Catalog. + S3GlueDataCatalog *S3GlueDataCatalog `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataSourceType) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DataSourceType) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DataSourceType) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DataSourceType"} + if s.S3GlueDataCatalog != nil { + if err := s.S3GlueDataCatalog.Validate(); err != nil { + invalidParams.AddNested("S3GlueDataCatalog", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetS3GlueDataCatalog sets the S3GlueDataCatalog field's value. +func (s *DataSourceType) SetS3GlueDataCatalog(v *S3GlueDataCatalog) *DataSourceType { + s.S3GlueDataCatalog = v + return s +} + +// Container for the parameters to the DeleteDataSource operation. +type DeleteDataSourceInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the domain. + // + // DomainName is a required field + DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"` + + // The name of the data source. + // + // Name is a required field + Name *string `location:"uri" locationName:"DataSourceName" min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteDataSourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteDataSourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteDataSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteDataSourceInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Name", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *DeleteDataSourceInput) SetDomainName(v string) *DeleteDataSourceInput { + s.DomainName = &v + return s +} + +// SetName sets the Name field's value. +func (s *DeleteDataSourceInput) SetName(v string) *DeleteDataSourceInput { + s.Name = &v + return s +} + +// The result of a GetDataSource operation. +type DeleteDataSourceOutput struct { + _ struct{} `type:"structure"` + + // A message associated with the initiated request. + Message *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteDataSourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteDataSourceOutput) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *DeleteDataSourceOutput) SetMessage(v string) *DeleteDataSourceOutput { + s.Message = &v + return s +} + // Container for the parameters to the DeleteDomain operation. type DeleteDomainInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -11811,14 +12618,19 @@ type DomainEndpointOptions struct { EnforceHTTPS *bool `type:"boolean"` // Specify the TLS security policy to apply to the HTTPS endpoint of the domain. - // - // Can be one of the following values: + // The policy can be one of the following values: // // * Policy-Min-TLS-1-0-2019-07: TLS security policy which supports TLS version - // 1.0 and higher. + // 1.0 to TLS version 1.2 // // * Policy-Min-TLS-1-2-2019-07: TLS security policy which supports only // TLS version 1.2 + // + // * Policy-Min-TLS-1-0-2023-10: TLS security policy which supports TLS version + // 1.0 to TLS version 1.3 + // + // * Policy-Min-TLS-1-2-2023-10: TLS security policy which supports TLS version + // 1.2 to TLS version 1.3 with perfect forward secrecy cipher suites TLSSecurityPolicy *string `type:"string" enum:"TLSSecurityPolicy"` } @@ -13156,19 +13968,104 @@ func (s *Filter) SetName(v string) *Filter { return s } -// SetValues sets the Values field's value. -func (s *Filter) SetValues(v []*string) *Filter { - s.Values = v +// SetValues sets the Values field's value. +func (s *Filter) SetValues(v []*string) *Filter { + s.Values = v + return s +} + +// Container for the request parameters to GetCompatibleVersions operation. +type GetCompatibleVersionsInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of an existing domain. Provide this parameter to limit the results + // to a single domain. + DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCompatibleVersionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCompatibleVersionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *GetCompatibleVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetCompatibleVersionsInput"} + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *GetCompatibleVersionsInput) SetDomainName(v string) *GetCompatibleVersionsInput { + s.DomainName = &v + return s +} + +// Container for the response returned by the GetCompatibleVersions operation. +type GetCompatibleVersionsOutput struct { + _ struct{} `type:"structure"` + + // A map of OpenSearch or Elasticsearch versions and the versions you can upgrade + // them to. + CompatibleVersions []*CompatibleVersionsMap `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCompatibleVersionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s GetCompatibleVersionsOutput) GoString() string { + return s.String() +} + +// SetCompatibleVersions sets the CompatibleVersions field's value. +func (s *GetCompatibleVersionsOutput) SetCompatibleVersions(v []*CompatibleVersionsMap) *GetCompatibleVersionsOutput { + s.CompatibleVersions = v return s } -// Container for the request parameters to GetCompatibleVersions operation. -type GetCompatibleVersionsInput struct { +// Container for the parameters to the GetDataSource operation. +type GetDataSourceInput struct { _ struct{} `type:"structure" nopayload:"true"` - // The name of an existing domain. Provide this parameter to limit the results - // to a single domain. - DomainName *string `location:"querystring" locationName:"domainName" min:"3" type:"string"` + // The name of the domain. + // + // DomainName is a required field + DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"` + + // The name of the data source. + // + // Name is a required field + Name *string `location:"uri" locationName:"DataSourceName" min:"3" type:"string" required:"true"` } // String returns the string representation. @@ -13176,7 +14073,7 @@ type GetCompatibleVersionsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCompatibleVersionsInput) String() string { +func (s GetDataSourceInput) String() string { return awsutil.Prettify(s) } @@ -13185,16 +14082,25 @@ func (s GetCompatibleVersionsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCompatibleVersionsInput) GoString() string { +func (s GetDataSourceInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *GetCompatibleVersionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "GetCompatibleVersionsInput"} +func (s *GetDataSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "GetDataSourceInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } if s.DomainName != nil && len(*s.DomainName) < 3 { invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Name", 3)) + } if invalidParams.Len() > 0 { return invalidParams @@ -13203,18 +14109,29 @@ func (s *GetCompatibleVersionsInput) Validate() error { } // SetDomainName sets the DomainName field's value. -func (s *GetCompatibleVersionsInput) SetDomainName(v string) *GetCompatibleVersionsInput { +func (s *GetDataSourceInput) SetDomainName(v string) *GetDataSourceInput { s.DomainName = &v return s } -// Container for the response returned by the GetCompatibleVersions operation. -type GetCompatibleVersionsOutput struct { +// SetName sets the Name field's value. +func (s *GetDataSourceInput) SetName(v string) *GetDataSourceInput { + s.Name = &v + return s +} + +// The result of a GetDataSource operation. +type GetDataSourceOutput struct { _ struct{} `type:"structure"` - // A map of OpenSearch or Elasticsearch versions and the versions you can upgrade - // them to. - CompatibleVersions []*CompatibleVersionsMap `type:"list"` + // The type of data source. + DataSourceType *DataSourceType `type:"structure"` + + // A description of the data source. + Description *string `type:"string"` + + // The name of the data source. + Name *string `min:"3" type:"string"` } // String returns the string representation. @@ -13222,7 +14139,7 @@ type GetCompatibleVersionsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCompatibleVersionsOutput) String() string { +func (s GetDataSourceOutput) String() string { return awsutil.Prettify(s) } @@ -13231,13 +14148,25 @@ func (s GetCompatibleVersionsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s GetCompatibleVersionsOutput) GoString() string { +func (s GetDataSourceOutput) GoString() string { return s.String() } -// SetCompatibleVersions sets the CompatibleVersions field's value. -func (s *GetCompatibleVersionsOutput) SetCompatibleVersions(v []*CompatibleVersionsMap) *GetCompatibleVersionsOutput { - s.CompatibleVersions = v +// SetDataSourceType sets the DataSourceType field's value. +func (s *GetDataSourceOutput) SetDataSourceType(v *DataSourceType) *GetDataSourceOutput { + s.DataSourceType = v + return s +} + +// SetDescription sets the Description field's value. +func (s *GetDataSourceOutput) SetDescription(v string) *GetDataSourceOutput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *GetDataSourceOutput) SetName(v string) *GetDataSourceOutput { + s.Name = &v return s } @@ -14381,6 +15310,88 @@ func (s *Limits) SetStorageTypes(v []*StorageType) *Limits { return s } +// Container for the parameters to the ListDataSources operation. +type ListDataSourcesInput struct { + _ struct{} `type:"structure" nopayload:"true"` + + // The name of the domain. + // + // DomainName is a required field + DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDataSourcesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDataSourcesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListDataSourcesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListDataSourcesInput"} + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDomainName sets the DomainName field's value. +func (s *ListDataSourcesInput) SetDomainName(v string) *ListDataSourcesInput { + s.DomainName = &v + return s +} + +// The result of a ListDataSources operation. +type ListDataSourcesOutput struct { + _ struct{} `type:"structure"` + + // A list of the data sources. + DataSources []*DataSourceDetails `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDataSourcesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListDataSourcesOutput) GoString() string { + return s.String() +} + +// SetDataSources sets the DataSources field's value. +func (s *ListDataSourcesOutput) SetDataSources(v []*DataSourceDetails) *ListDataSourcesOutput { + s.DataSources = v + return s +} + // Container for the parameters to the ListDomainMaintenances operation. type ListDomainMaintenancesInput struct { _ struct{} `type:"structure" nopayload:"true"` @@ -17286,6 +18297,51 @@ func (s RevokeVpcEndpointAccessOutput) GoString() string { return s.String() } +// Information about the AWS S3 Glue Data Catalog. +type S3GlueDataCatalog struct { + _ struct{} `type:"structure"` + + // The role ARN for the AWS S3 Glue Data Catalog. + RoleArn *string `min:"20" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3GlueDataCatalog) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s S3GlueDataCatalog) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *S3GlueDataCatalog) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "S3GlueDataCatalog"} + if s.RoleArn != nil && len(*s.RoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("RoleArn", 20)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRoleArn sets the RoleArn field's value. +func (s *S3GlueDataCatalog) SetRoleArn(v string) *S3GlueDataCatalog { + s.RoleArn = &v + return s +} + // The SAML identity povider information. type SAMLIdp struct { _ struct{} `type:"structure"` @@ -18436,6 +19492,133 @@ func (s *Tag) SetValue(v string) *Tag { return s } +// Container for the parameters to the UpdateDataSource operation. +type UpdateDataSourceInput struct { + _ struct{} `type:"structure"` + + // The type of data source. + // + // DataSourceType is a required field + DataSourceType *DataSourceType `type:"structure" required:"true"` + + // A description of the data source. + Description *string `type:"string"` + + // The name of the domain. + // + // DomainName is a required field + DomainName *string `location:"uri" locationName:"DomainName" min:"3" type:"string" required:"true"` + + // The name of the data source. + // + // Name is a required field + Name *string `location:"uri" locationName:"DataSourceName" min:"3" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateDataSourceInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateDataSourceInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateDataSourceInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateDataSourceInput"} + if s.DataSourceType == nil { + invalidParams.Add(request.NewErrParamRequired("DataSourceType")) + } + if s.DomainName == nil { + invalidParams.Add(request.NewErrParamRequired("DomainName")) + } + if s.DomainName != nil && len(*s.DomainName) < 3 { + invalidParams.Add(request.NewErrParamMinLen("DomainName", 3)) + } + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 3 { + invalidParams.Add(request.NewErrParamMinLen("Name", 3)) + } + if s.DataSourceType != nil { + if err := s.DataSourceType.Validate(); err != nil { + invalidParams.AddNested("DataSourceType", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDataSourceType sets the DataSourceType field's value. +func (s *UpdateDataSourceInput) SetDataSourceType(v *DataSourceType) *UpdateDataSourceInput { + s.DataSourceType = v + return s +} + +// SetDescription sets the Description field's value. +func (s *UpdateDataSourceInput) SetDescription(v string) *UpdateDataSourceInput { + s.Description = &v + return s +} + +// SetDomainName sets the DomainName field's value. +func (s *UpdateDataSourceInput) SetDomainName(v string) *UpdateDataSourceInput { + s.DomainName = &v + return s +} + +// SetName sets the Name field's value. +func (s *UpdateDataSourceInput) SetName(v string) *UpdateDataSourceInput { + s.Name = &v + return s +} + +// The result of an UpdateDataSource operation. +type UpdateDataSourceOutput struct { + _ struct{} `type:"structure"` + + // A message associated with the data source. + Message *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateDataSourceOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateDataSourceOutput) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *UpdateDataSourceOutput) SetMessage(v string) *UpdateDataSourceOutput { + s.Message = &v + return s +} + // Container for the request parameters to the UpdateDomain operation. type UpdateDomainConfigInput struct { _ struct{} `type:"structure"` diff --git a/service/opensearchservice/opensearchserviceiface/interface.go b/service/opensearchservice/opensearchserviceiface/interface.go index 23a44c5959b..8f6b3bb93b1 100644 --- a/service/opensearchservice/opensearchserviceiface/interface.go +++ b/service/opensearchservice/opensearchserviceiface/interface.go @@ -64,6 +64,10 @@ type OpenSearchServiceAPI interface { AcceptInboundConnectionWithContext(aws.Context, *opensearchservice.AcceptInboundConnectionInput, ...request.Option) (*opensearchservice.AcceptInboundConnectionOutput, error) AcceptInboundConnectionRequest(*opensearchservice.AcceptInboundConnectionInput) (*request.Request, *opensearchservice.AcceptInboundConnectionOutput) + AddDataSource(*opensearchservice.AddDataSourceInput) (*opensearchservice.AddDataSourceOutput, error) + AddDataSourceWithContext(aws.Context, *opensearchservice.AddDataSourceInput, ...request.Option) (*opensearchservice.AddDataSourceOutput, error) + AddDataSourceRequest(*opensearchservice.AddDataSourceInput) (*request.Request, *opensearchservice.AddDataSourceOutput) + AddTags(*opensearchservice.AddTagsInput) (*opensearchservice.AddTagsOutput, error) AddTagsWithContext(aws.Context, *opensearchservice.AddTagsInput, ...request.Option) (*opensearchservice.AddTagsOutput, error) AddTagsRequest(*opensearchservice.AddTagsInput) (*request.Request, *opensearchservice.AddTagsOutput) @@ -96,6 +100,10 @@ type OpenSearchServiceAPI interface { CreateVpcEndpointWithContext(aws.Context, *opensearchservice.CreateVpcEndpointInput, ...request.Option) (*opensearchservice.CreateVpcEndpointOutput, error) CreateVpcEndpointRequest(*opensearchservice.CreateVpcEndpointInput) (*request.Request, *opensearchservice.CreateVpcEndpointOutput) + DeleteDataSource(*opensearchservice.DeleteDataSourceInput) (*opensearchservice.DeleteDataSourceOutput, error) + DeleteDataSourceWithContext(aws.Context, *opensearchservice.DeleteDataSourceInput, ...request.Option) (*opensearchservice.DeleteDataSourceOutput, error) + DeleteDataSourceRequest(*opensearchservice.DeleteDataSourceInput) (*request.Request, *opensearchservice.DeleteDataSourceOutput) + DeleteDomain(*opensearchservice.DeleteDomainInput) (*opensearchservice.DeleteDomainOutput, error) DeleteDomainWithContext(aws.Context, *opensearchservice.DeleteDomainInput, ...request.Option) (*opensearchservice.DeleteDomainOutput, error) DeleteDomainRequest(*opensearchservice.DeleteDomainInput) (*request.Request, *opensearchservice.DeleteDomainOutput) @@ -202,6 +210,10 @@ type OpenSearchServiceAPI interface { GetCompatibleVersionsWithContext(aws.Context, *opensearchservice.GetCompatibleVersionsInput, ...request.Option) (*opensearchservice.GetCompatibleVersionsOutput, error) GetCompatibleVersionsRequest(*opensearchservice.GetCompatibleVersionsInput) (*request.Request, *opensearchservice.GetCompatibleVersionsOutput) + GetDataSource(*opensearchservice.GetDataSourceInput) (*opensearchservice.GetDataSourceOutput, error) + GetDataSourceWithContext(aws.Context, *opensearchservice.GetDataSourceInput, ...request.Option) (*opensearchservice.GetDataSourceOutput, error) + GetDataSourceRequest(*opensearchservice.GetDataSourceInput) (*request.Request, *opensearchservice.GetDataSourceOutput) + GetDomainMaintenanceStatus(*opensearchservice.GetDomainMaintenanceStatusInput) (*opensearchservice.GetDomainMaintenanceStatusOutput, error) GetDomainMaintenanceStatusWithContext(aws.Context, *opensearchservice.GetDomainMaintenanceStatusInput, ...request.Option) (*opensearchservice.GetDomainMaintenanceStatusOutput, error) GetDomainMaintenanceStatusRequest(*opensearchservice.GetDomainMaintenanceStatusInput) (*request.Request, *opensearchservice.GetDomainMaintenanceStatusOutput) @@ -224,6 +236,10 @@ type OpenSearchServiceAPI interface { GetUpgradeStatusWithContext(aws.Context, *opensearchservice.GetUpgradeStatusInput, ...request.Option) (*opensearchservice.GetUpgradeStatusOutput, error) GetUpgradeStatusRequest(*opensearchservice.GetUpgradeStatusInput) (*request.Request, *opensearchservice.GetUpgradeStatusOutput) + ListDataSources(*opensearchservice.ListDataSourcesInput) (*opensearchservice.ListDataSourcesOutput, error) + ListDataSourcesWithContext(aws.Context, *opensearchservice.ListDataSourcesInput, ...request.Option) (*opensearchservice.ListDataSourcesOutput, error) + ListDataSourcesRequest(*opensearchservice.ListDataSourcesInput) (*request.Request, *opensearchservice.ListDataSourcesOutput) + ListDomainMaintenances(*opensearchservice.ListDomainMaintenancesInput) (*opensearchservice.ListDomainMaintenancesOutput, error) ListDomainMaintenancesWithContext(aws.Context, *opensearchservice.ListDomainMaintenancesInput, ...request.Option) (*opensearchservice.ListDomainMaintenancesOutput, error) ListDomainMaintenancesRequest(*opensearchservice.ListDomainMaintenancesInput) (*request.Request, *opensearchservice.ListDomainMaintenancesOutput) @@ -310,6 +326,10 @@ type OpenSearchServiceAPI interface { StartServiceSoftwareUpdateWithContext(aws.Context, *opensearchservice.StartServiceSoftwareUpdateInput, ...request.Option) (*opensearchservice.StartServiceSoftwareUpdateOutput, error) StartServiceSoftwareUpdateRequest(*opensearchservice.StartServiceSoftwareUpdateInput) (*request.Request, *opensearchservice.StartServiceSoftwareUpdateOutput) + UpdateDataSource(*opensearchservice.UpdateDataSourceInput) (*opensearchservice.UpdateDataSourceOutput, error) + UpdateDataSourceWithContext(aws.Context, *opensearchservice.UpdateDataSourceInput, ...request.Option) (*opensearchservice.UpdateDataSourceOutput, error) + UpdateDataSourceRequest(*opensearchservice.UpdateDataSourceInput) (*request.Request, *opensearchservice.UpdateDataSourceOutput) + UpdateDomainConfig(*opensearchservice.UpdateDomainConfigInput) (*opensearchservice.UpdateDomainConfigOutput, error) UpdateDomainConfigWithContext(aws.Context, *opensearchservice.UpdateDomainConfigInput, ...request.Option) (*opensearchservice.UpdateDomainConfigOutput, error) UpdateDomainConfigRequest(*opensearchservice.UpdateDomainConfigInput) (*request.Request, *opensearchservice.UpdateDomainConfigOutput) diff --git a/service/sagemaker/api.go b/service/sagemaker/api.go index 6106cead3ac..fe85b7b68cb 100644 --- a/service/sagemaker/api.go +++ b/service/sagemaker/api.go @@ -160,13 +160,13 @@ func (c *SageMaker) AddTagsRequest(input *AddTagsInput) (req *request.Request, o // create the tuning job by specifying them in the Tags parameter of CreateHyperParameterTuningJob // (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateHyperParameterTuningJob.html) // -// Tags that you add to a SageMaker Studio Domain or User Profile by calling -// this API are also added to any Apps that the Domain or User Profile launches -// after you call this API, but not to Apps that the Domain or User Profile -// launched before you called this API. To make sure that the tags associated -// with a Domain or User Profile are also added to all Apps that the Domain -// or User Profile launches, add the tags when you first create the Domain or -// User Profile by specifying them in the Tags parameter of CreateDomain (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) +// Tags that you add to a SageMaker Domain or User Profile by calling this API +// are also added to any Apps that the Domain or User Profile launches after +// you call this API, but not to Apps that the Domain or User Profile launched +// before you called this API. To make sure that the tags associated with a +// Domain or User Profile are also added to all Apps that the Domain or User +// Profile launches, add the tags when you first create the Domain or User Profile +// by specifying them in the Tags parameter of CreateDomain (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateDomain.html) // or CreateUserProfile (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateUserProfile.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -556,9 +556,9 @@ func (c *SageMaker) CreateAppRequest(input *CreateAppInput) (req *request.Reques // CreateApp API operation for Amazon SageMaker Service. // // Creates a running app for the specified UserProfile. This operation is automatically -// invoked by Amazon SageMaker Studio upon access to the associated Domain, -// and when new kernel configurations are selected by the user. A user may have -// multiple Apps active simultaneously. +// invoked by Amazon SageMaker upon access to the associated Domain, and when +// new kernel configurations are selected by the user. A user may have multiple +// Apps active simultaneously. // // 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 @@ -964,6 +964,93 @@ func (c *SageMaker) CreateAutoMLJobV2WithContext(ctx aws.Context, input *CreateA return out, req.Send() } +const opCreateCluster = "CreateCluster" + +// CreateClusterRequest generates a "aws/request.Request" representing the +// client's request for the CreateCluster 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 CreateCluster for more information on using the CreateCluster +// 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 CreateClusterRequest method. +// req, resp := client.CreateClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateCluster +func (c *SageMaker) CreateClusterRequest(input *CreateClusterInput) (req *request.Request, output *CreateClusterOutput) { + op := &request.Operation{ + Name: opCreateCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateClusterInput{} + } + + output = &CreateClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateCluster API operation for Amazon SageMaker Service. +// +// Creates a SageMaker HyperPod cluster. SageMaker HyperPod is a capability +// of SageMaker for creating and managing persistent clusters for developing +// large machine learning models, such as large language models (LLMs) and diffusion +// models. To learn more, see Amazon SageMaker HyperPod (https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod.html) +// in the Amazon SageMaker Developer Guide. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation CreateCluster for usage and error information. +// +// Returned Error Types: +// +// - ResourceLimitExceeded +// You have exceeded an SageMaker resource limit. For example, you might have +// too many training jobs created. +// +// - ResourceInUse +// Resource being accessed is in use. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateCluster +func (c *SageMaker) CreateCluster(input *CreateClusterInput) (*CreateClusterOutput, error) { + req, out := c.CreateClusterRequest(input) + return out, req.Send() +} + +// CreateClusterWithContext is the same as CreateCluster with the addition of +// the ability to pass a context and additional request options. +// +// See CreateCluster 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 *SageMaker) CreateClusterWithContext(ctx aws.Context, input *CreateClusterInput, opts ...request.Option) (*CreateClusterOutput, error) { + req, out := c.CreateClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateCodeRepository = "CreateCodeRepository" // CreateCodeRepositoryRequest generates a "aws/request.Request" representing the @@ -1450,11 +1537,11 @@ func (c *SageMaker) CreateDomainRequest(input *CreateDomainInput) (req *request. // CreateDomain API operation for Amazon SageMaker Service. // -// Creates a Domain used by Amazon SageMaker Studio. A domain consists of an -// associated Amazon Elastic File System (EFS) volume, a list of authorized -// users, and a variety of security, application, policy, and Amazon Virtual -// Private Cloud (VPC) configurations. Users within a domain can share notebook -// files and other artifacts with each other. +// Creates a Domain. A domain consists of an associated Amazon Elastic File +// System (EFS) volume, a list of authorized users, and a variety of security, +// application, policy, and Amazon Virtual Private Cloud (VPC) configurations. +// Users within a domain can share notebook files and other artifacts with each +// other. // // # EFS storage // @@ -1470,26 +1557,25 @@ func (c *SageMaker) CreateDomainRequest(input *CreateDomainInput) (req *request. // // # VPC configuration // -// All SageMaker Studio traffic between the domain and the EFS volume is through -// the specified VPC and subnets. For other Studio traffic, you can specify -// the AppNetworkAccessType parameter. AppNetworkAccessType corresponds to the -// network access type that you choose when you onboard to Studio. The following -// options are available: +// All traffic between the domain and the EFS volume is through the specified +// VPC and subnets. For other traffic, you can specify the AppNetworkAccessType +// parameter. AppNetworkAccessType corresponds to the network access type that +// you choose when you onboard to the domain. The following options are available: // // - PublicInternetOnly - Non-EFS traffic goes through a VPC managed by Amazon // SageMaker, which allows internet access. This is the default value. // -// - VpcOnly - All Studio traffic is through the specified VPC and subnets. -// Internet access is disabled by default. To allow internet access, you -// must specify a NAT gateway. When internet access is disabled, you won't -// be able to run a Studio notebook or to train or host models unless your -// VPC has an interface endpoint to the SageMaker API and runtime or a NAT -// gateway and your security groups allow outbound connections. +// - VpcOnly - All traffic is through the specified VPC and subnets. Internet +// access is disabled by default. To allow internet access, you must specify +// a NAT gateway. When internet access is disabled, you won't be able to +// run a Amazon SageMaker Studio notebook or to train or host models unless +// your VPC has an interface endpoint to the SageMaker API and runtime or +// a NAT gateway and your security groups allow outbound connections. // // NFS traffic over TCP on port 2049 needs to be allowed in both inbound and -// outbound rules in order to launch a SageMaker Studio app successfully. +// outbound rules in order to launch a Amazon SageMaker Studio app successfully. // -// For more information, see Connect SageMaker Studio Notebooks to Resources +// For more information, see Connect Amazon SageMaker Studio Notebooks to Resources // in a VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-and-internet-access.html). // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2753,6 +2839,93 @@ func (c *SageMaker) CreateImageVersionWithContext(ctx aws.Context, input *Create return out, req.Send() } +const opCreateInferenceComponent = "CreateInferenceComponent" + +// CreateInferenceComponentRequest generates a "aws/request.Request" representing the +// client's request for the CreateInferenceComponent 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 CreateInferenceComponent for more information on using the CreateInferenceComponent +// 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 CreateInferenceComponentRequest method. +// req, resp := client.CreateInferenceComponentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateInferenceComponent +func (c *SageMaker) CreateInferenceComponentRequest(input *CreateInferenceComponentInput) (req *request.Request, output *CreateInferenceComponentOutput) { + op := &request.Operation{ + Name: opCreateInferenceComponent, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateInferenceComponentInput{} + } + + output = &CreateInferenceComponentOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateInferenceComponent API operation for Amazon SageMaker Service. +// +// Creates an inference component, which is a SageMaker hosting object that +// you can use to deploy a model to an endpoint. In the inference component +// settings, you specify the model, the endpoint, and how the model utilizes +// the resources that the endpoint hosts. You can optimize resource utilization +// by tailoring how the required CPU cores, accelerators, and memory are allocated. +// You can deploy multiple inference components to an endpoint, where each inference +// component contains one model and the resource utilization needs for that +// individual model. After you deploy an inference component, you can directly +// invoke the associated model when you use the InvokeEndpoint API action. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation CreateInferenceComponent for usage and error information. +// +// Returned Error Types: +// - ResourceLimitExceeded +// You have exceeded an SageMaker resource limit. For example, you might have +// too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/CreateInferenceComponent +func (c *SageMaker) CreateInferenceComponent(input *CreateInferenceComponentInput) (*CreateInferenceComponentOutput, error) { + req, out := c.CreateInferenceComponentRequest(input) + return out, req.Send() +} + +// CreateInferenceComponentWithContext is the same as CreateInferenceComponent with the addition of +// the ability to pass a context and additional request options. +// +// See CreateInferenceComponent 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 *SageMaker) CreateInferenceComponentWithContext(ctx aws.Context, input *CreateInferenceComponentInput, opts ...request.Option) (*CreateInferenceComponentOutput, error) { + req, out := c.CreateInferenceComponentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opCreateInferenceExperiment = "CreateInferenceExperiment" // CreateInferenceExperimentRequest generates a "aws/request.Request" representing the @@ -4183,10 +4356,10 @@ func (c *SageMaker) CreatePresignedDomainUrlRequest(input *CreatePresignedDomain // CreatePresignedDomainUrl API operation for Amazon SageMaker Service. // // Creates a URL for a specified UserProfile in a Domain. When accessed in a -// web browser, the user will be automatically signed in to Amazon SageMaker -// Studio, and granted access to all of the Apps and files associated with the -// Domain's Amazon Elastic File System (EFS) volume. This operation can only -// be called when the authentication mode equals IAM. +// web browser, the user will be automatically signed in to the domain, and +// granted access to all of the Apps and files associated with the Domain's +// Amazon Elastic File System (EFS) volume. This operation can only be called +// when the authentication mode equals IAM. // // The IAM role or user passed to this API defines the permissions to access // the app. Once the presigned URL is created, no additional permission is required @@ -4196,8 +4369,8 @@ func (c *SageMaker) CreatePresignedDomainUrlRequest(input *CreatePresignedDomain // // You can restrict access to this API and to the URL that it returns to a list // of IP addresses, Amazon VPCs or Amazon VPC Endpoints that you specify. For -// more information, see Connect to SageMaker Studio Through an Interface VPC -// Endpoint (https://docs.aws.amazon.com/sagemaker/latest/dg/studio-interface-endpoint.html) . +// more information, see Connect to Amazon SageMaker Studio Through an Interface +// VPC Endpoint (https://docs.aws.amazon.com/sagemaker/latest/dg/studio-interface-endpoint.html) . // // The URL that you get from a call to CreatePresignedDomainUrl has a default // timeout of 5 minutes. You can configure this value using ExpiresInSeconds. @@ -4623,7 +4796,7 @@ func (c *SageMaker) CreateStudioLifecycleConfigRequest(input *CreateStudioLifecy // CreateStudioLifecycleConfig API operation for Amazon SageMaker Service. // -// Creates a new Studio Lifecycle Configuration. +// Creates a new Amazon SageMaker Studio Lifecycle Configuration. // // 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 @@ -5141,11 +5314,11 @@ func (c *SageMaker) CreateUserProfileRequest(input *CreateUserProfileInput) (req // Creates a user profile. A user profile represents a single user within a // domain, and is the main way to reference a "person" for the purposes of sharing, // reporting, and other user-oriented features. This entity is created when -// a user onboards to Amazon SageMaker Studio. If an administrator invites a -// person by email or imports them from IAM Identity Center, a user profile -// is automatically created. A user profile is the primary holder of settings -// for an individual user and has a reference to the user's private Amazon Elastic -// File System (EFS) home directory. +// a user onboards to a domain. If an administrator invites a person by email +// or imports them from IAM Identity Center, a user profile is automatically +// created. A user profile is the primary holder of settings for an individual +// user and has a reference to the user's private Amazon Elastic File System +// (EFS) home directory. // // 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 @@ -5833,6 +6006,89 @@ func (c *SageMaker) DeleteAssociationWithContext(ctx aws.Context, input *DeleteA return out, req.Send() } +const opDeleteCluster = "DeleteCluster" + +// DeleteClusterRequest generates a "aws/request.Request" representing the +// client's request for the DeleteCluster 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 DeleteCluster for more information on using the DeleteCluster +// 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 DeleteClusterRequest method. +// req, resp := client.DeleteClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteCluster +func (c *SageMaker) DeleteClusterRequest(input *DeleteClusterInput) (req *request.Request, output *DeleteClusterOutput) { + op := &request.Operation{ + Name: opDeleteCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteClusterInput{} + } + + output = &DeleteClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// DeleteCluster API operation for Amazon SageMaker Service. +// +// Delete a SageMaker HyperPod cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DeleteCluster for usage and error information. +// +// Returned Error Types: +// +// - ResourceNotFound +// Resource being access is not found. +// +// - ConflictException +// There was a conflict when you attempted to modify a SageMaker entity such +// as an Experiment or Artifact. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteCluster +func (c *SageMaker) DeleteCluster(input *DeleteClusterInput) (*DeleteClusterOutput, error) { + req, out := c.DeleteClusterRequest(input) + return out, req.Send() +} + +// DeleteClusterWithContext is the same as DeleteCluster with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteCluster 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 *SageMaker) DeleteClusterWithContext(ctx aws.Context, input *DeleteClusterInput, opts ...request.Option) (*DeleteClusterOutput, error) { + req, out := c.DeleteClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteCodeRepository = "DeleteCodeRepository" // DeleteCodeRepositoryRequest generates a "aws/request.Request" representing the @@ -7229,6 +7485,80 @@ func (c *SageMaker) DeleteImageVersionWithContext(ctx aws.Context, input *Delete return out, req.Send() } +const opDeleteInferenceComponent = "DeleteInferenceComponent" + +// DeleteInferenceComponentRequest generates a "aws/request.Request" representing the +// client's request for the DeleteInferenceComponent 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 DeleteInferenceComponent for more information on using the DeleteInferenceComponent +// 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 DeleteInferenceComponentRequest method. +// req, resp := client.DeleteInferenceComponentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteInferenceComponent +func (c *SageMaker) DeleteInferenceComponentRequest(input *DeleteInferenceComponentInput) (req *request.Request, output *DeleteInferenceComponentOutput) { + op := &request.Operation{ + Name: opDeleteInferenceComponent, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteInferenceComponentInput{} + } + + output = &DeleteInferenceComponentOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteInferenceComponent API operation for Amazon SageMaker Service. +// +// Deletes an inference component. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DeleteInferenceComponent for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DeleteInferenceComponent +func (c *SageMaker) DeleteInferenceComponent(input *DeleteInferenceComponentInput) (*DeleteInferenceComponentOutput, error) { + req, out := c.DeleteInferenceComponentRequest(input) + return out, req.Send() +} + +// DeleteInferenceComponentWithContext is the same as DeleteInferenceComponent with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteInferenceComponent 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 *SageMaker) DeleteInferenceComponentWithContext(ctx aws.Context, input *DeleteInferenceComponentInput, opts ...request.Option) (*DeleteInferenceComponentOutput, error) { + req, out := c.DeleteInferenceComponentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteInferenceExperiment = "DeleteInferenceExperiment" // DeleteInferenceExperimentRequest generates a "aws/request.Request" representing the @@ -8473,10 +8803,10 @@ func (c *SageMaker) DeleteStudioLifecycleConfigRequest(input *DeleteStudioLifecy // DeleteStudioLifecycleConfig API operation for Amazon SageMaker Service. // -// Deletes the Studio Lifecycle Configuration. In order to delete the Lifecycle -// Configuration, there must be no running apps using the Lifecycle Configuration. -// You must also remove the Lifecycle Configuration from UserSettings in all -// Domains and UserProfiles. +// Deletes the Amazon SageMaker Studio Lifecycle Configuration. In order to +// delete the Lifecycle Configuration, there must be no running apps using the +// Lifecycle Configuration. You must also remove the Lifecycle Configuration +// from UserSettings in all Domains and UserProfiles. // // 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 @@ -8567,9 +8897,9 @@ func (c *SageMaker) DeleteTagsRequest(input *DeleteTagsInput) (req *request.Requ // deleted tags are not removed from training jobs that the hyperparameter tuning // job launched before you called this API. // -// When you call this API to delete tags from a SageMaker Studio Domain or User -// Profile, the deleted tags are not removed from Apps that the SageMaker Studio -// Domain or User Profile launched before you called this API. +// When you call this API to delete tags from a SageMaker Domain or User Profile, +// the deleted tags are not removed from Apps that the SageMaker Domain or User +// Profile launched before you called this API. // // 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 @@ -9630,6 +9960,163 @@ func (c *SageMaker) DescribeAutoMLJobV2WithContext(ctx aws.Context, input *Descr return out, req.Send() } +const opDescribeCluster = "DescribeCluster" + +// DescribeClusterRequest generates a "aws/request.Request" representing the +// client's request for the DescribeCluster 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 DescribeCluster for more information on using the DescribeCluster +// 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 DescribeClusterRequest method. +// req, resp := client.DescribeClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeCluster +func (c *SageMaker) DescribeClusterRequest(input *DescribeClusterInput) (req *request.Request, output *DescribeClusterOutput) { + op := &request.Operation{ + Name: opDescribeCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeClusterInput{} + } + + output = &DescribeClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeCluster API operation for Amazon SageMaker Service. +// +// Retrieves information of a SageMaker HyperPod cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DescribeCluster for usage and error information. +// +// Returned Error Types: +// - ResourceNotFound +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeCluster +func (c *SageMaker) DescribeCluster(input *DescribeClusterInput) (*DescribeClusterOutput, error) { + req, out := c.DescribeClusterRequest(input) + return out, req.Send() +} + +// DescribeClusterWithContext is the same as DescribeCluster with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeCluster 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 *SageMaker) DescribeClusterWithContext(ctx aws.Context, input *DescribeClusterInput, opts ...request.Option) (*DescribeClusterOutput, error) { + req, out := c.DescribeClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeClusterNode = "DescribeClusterNode" + +// DescribeClusterNodeRequest generates a "aws/request.Request" representing the +// client's request for the DescribeClusterNode 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 DescribeClusterNode for more information on using the DescribeClusterNode +// 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 DescribeClusterNodeRequest method. +// req, resp := client.DescribeClusterNodeRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeClusterNode +func (c *SageMaker) DescribeClusterNodeRequest(input *DescribeClusterNodeInput) (req *request.Request, output *DescribeClusterNodeOutput) { + op := &request.Operation{ + Name: opDescribeClusterNode, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeClusterNodeInput{} + } + + output = &DescribeClusterNodeOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeClusterNode API operation for Amazon SageMaker Service. +// +// Retrieves information of an instance (also called a node interchangeably) +// of a SageMaker HyperPod cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DescribeClusterNode for usage and error information. +// +// Returned Error Types: +// - ResourceNotFound +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeClusterNode +func (c *SageMaker) DescribeClusterNode(input *DescribeClusterNodeInput) (*DescribeClusterNodeOutput, error) { + req, out := c.DescribeClusterNodeRequest(input) + return out, req.Send() +} + +// DescribeClusterNodeWithContext is the same as DescribeClusterNode with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeClusterNode 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 *SageMaker) DescribeClusterNodeWithContext(ctx aws.Context, input *DescribeClusterNodeInput, opts ...request.Option) (*DescribeClusterNodeOutput, error) { + req, out := c.DescribeClusterNodeRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeCodeRepository = "DescribeCodeRepository" // DescribeCodeRepositoryRequest generates a "aws/request.Request" representing the @@ -11267,6 +11754,79 @@ func (c *SageMaker) DescribeImageVersionWithContext(ctx aws.Context, input *Desc return out, req.Send() } +const opDescribeInferenceComponent = "DescribeInferenceComponent" + +// DescribeInferenceComponentRequest generates a "aws/request.Request" representing the +// client's request for the DescribeInferenceComponent 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 DescribeInferenceComponent for more information on using the DescribeInferenceComponent +// 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 DescribeInferenceComponentRequest method. +// req, resp := client.DescribeInferenceComponentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeInferenceComponent +func (c *SageMaker) DescribeInferenceComponentRequest(input *DescribeInferenceComponentInput) (req *request.Request, output *DescribeInferenceComponentOutput) { + op := &request.Operation{ + Name: opDescribeInferenceComponent, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeInferenceComponentInput{} + } + + output = &DescribeInferenceComponentOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeInferenceComponent API operation for Amazon SageMaker Service. +// +// Returns information about an inference component. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation DescribeInferenceComponent for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/DescribeInferenceComponent +func (c *SageMaker) DescribeInferenceComponent(input *DescribeInferenceComponentInput) (*DescribeInferenceComponentOutput, error) { + req, out := c.DescribeInferenceComponentRequest(input) + return out, req.Send() +} + +// DescribeInferenceComponentWithContext is the same as DescribeInferenceComponent with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeInferenceComponent 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 *SageMaker) DescribeInferenceComponentWithContext(ctx aws.Context, input *DescribeInferenceComponentInput, opts ...request.Option) (*DescribeInferenceComponentOutput, error) { + req, out := c.DescribeInferenceComponentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeInferenceExperiment = "DescribeInferenceExperiment" // DescribeInferenceExperimentRequest generates a "aws/request.Request" representing the @@ -12929,7 +13489,7 @@ func (c *SageMaker) DescribeStudioLifecycleConfigRequest(input *DescribeStudioLi // DescribeStudioLifecycleConfig API operation for Amazon SageMaker Service. // -// Describes the Studio Lifecycle Configuration. +// Describes the Amazon SageMaker Studio Lifecycle Configuration. // // 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 @@ -15565,6 +16125,272 @@ func (c *SageMaker) ListCandidatesForAutoMLJobPagesWithContext(ctx aws.Context, return p.Err() } +const opListClusterNodes = "ListClusterNodes" + +// ListClusterNodesRequest generates a "aws/request.Request" representing the +// client's request for the ListClusterNodes 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 ListClusterNodes for more information on using the ListClusterNodes +// 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 ListClusterNodesRequest method. +// req, resp := client.ListClusterNodesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListClusterNodes +func (c *SageMaker) ListClusterNodesRequest(input *ListClusterNodesInput) (req *request.Request, output *ListClusterNodesOutput) { + op := &request.Operation{ + Name: opListClusterNodes, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListClusterNodesInput{} + } + + output = &ListClusterNodesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListClusterNodes API operation for Amazon SageMaker Service. +// +// Retrieves the list of instances (also called nodes interchangeably) in a +// SageMaker HyperPod cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListClusterNodes for usage and error information. +// +// Returned Error Types: +// - ResourceNotFound +// Resource being access is not found. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListClusterNodes +func (c *SageMaker) ListClusterNodes(input *ListClusterNodesInput) (*ListClusterNodesOutput, error) { + req, out := c.ListClusterNodesRequest(input) + return out, req.Send() +} + +// ListClusterNodesWithContext is the same as ListClusterNodes with the addition of +// the ability to pass a context and additional request options. +// +// See ListClusterNodes 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 *SageMaker) ListClusterNodesWithContext(ctx aws.Context, input *ListClusterNodesInput, opts ...request.Option) (*ListClusterNodesOutput, error) { + req, out := c.ListClusterNodesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListClusterNodesPages iterates over the pages of a ListClusterNodes operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListClusterNodes 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 ListClusterNodes operation. +// pageNum := 0 +// err := client.ListClusterNodesPages(params, +// func(page *sagemaker.ListClusterNodesOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *SageMaker) ListClusterNodesPages(input *ListClusterNodesInput, fn func(*ListClusterNodesOutput, bool) bool) error { + return c.ListClusterNodesPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListClusterNodesPagesWithContext same as ListClusterNodesPages 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 *SageMaker) ListClusterNodesPagesWithContext(ctx aws.Context, input *ListClusterNodesInput, fn func(*ListClusterNodesOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListClusterNodesInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListClusterNodesRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListClusterNodesOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + +const opListClusters = "ListClusters" + +// ListClustersRequest generates a "aws/request.Request" representing the +// client's request for the ListClusters 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 ListClusters for more information on using the ListClusters +// 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 ListClustersRequest method. +// req, resp := client.ListClustersRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListClusters +func (c *SageMaker) ListClustersRequest(input *ListClustersInput) (req *request.Request, output *ListClustersOutput) { + op := &request.Operation{ + Name: opListClusters, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListClustersInput{} + } + + output = &ListClustersOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListClusters API operation for Amazon SageMaker Service. +// +// Retrieves the list of SageMaker HyperPod clusters. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListClusters for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListClusters +func (c *SageMaker) ListClusters(input *ListClustersInput) (*ListClustersOutput, error) { + req, out := c.ListClustersRequest(input) + return out, req.Send() +} + +// ListClustersWithContext is the same as ListClusters with the addition of +// the ability to pass a context and additional request options. +// +// See ListClusters 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 *SageMaker) ListClustersWithContext(ctx aws.Context, input *ListClustersInput, opts ...request.Option) (*ListClustersOutput, error) { + req, out := c.ListClustersRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListClustersPages iterates over the pages of a ListClusters operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListClusters 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 ListClusters operation. +// pageNum := 0 +// err := client.ListClustersPages(params, +// func(page *sagemaker.ListClustersOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *SageMaker) ListClustersPages(input *ListClustersInput, fn func(*ListClustersOutput, bool) bool) error { + return c.ListClustersPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListClustersPagesWithContext same as ListClustersPages 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 *SageMaker) ListClustersPagesWithContext(ctx aws.Context, input *ListClustersInput, fn func(*ListClustersOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListClustersInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListClustersRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListClustersOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListCodeRepositories = "ListCodeRepositories" // ListCodeRepositoriesRequest generates a "aws/request.Request" representing the @@ -18160,6 +18986,136 @@ func (c *SageMaker) ListImagesPagesWithContext(ctx aws.Context, input *ListImage return p.Err() } +const opListInferenceComponents = "ListInferenceComponents" + +// ListInferenceComponentsRequest generates a "aws/request.Request" representing the +// client's request for the ListInferenceComponents 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 ListInferenceComponents for more information on using the ListInferenceComponents +// 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 ListInferenceComponentsRequest method. +// req, resp := client.ListInferenceComponentsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListInferenceComponents +func (c *SageMaker) ListInferenceComponentsRequest(input *ListInferenceComponentsInput) (req *request.Request, output *ListInferenceComponentsOutput) { + op := &request.Operation{ + Name: opListInferenceComponents, + HTTPMethod: "POST", + HTTPPath: "/", + Paginator: &request.Paginator{ + InputTokens: []string{"NextToken"}, + OutputTokens: []string{"NextToken"}, + LimitToken: "MaxResults", + TruncationToken: "", + }, + } + + if input == nil { + input = &ListInferenceComponentsInput{} + } + + output = &ListInferenceComponentsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListInferenceComponents API operation for Amazon SageMaker Service. +// +// Lists the inference components in your account and their properties. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation ListInferenceComponents for usage and error information. +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/ListInferenceComponents +func (c *SageMaker) ListInferenceComponents(input *ListInferenceComponentsInput) (*ListInferenceComponentsOutput, error) { + req, out := c.ListInferenceComponentsRequest(input) + return out, req.Send() +} + +// ListInferenceComponentsWithContext is the same as ListInferenceComponents with the addition of +// the ability to pass a context and additional request options. +// +// See ListInferenceComponents 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 *SageMaker) ListInferenceComponentsWithContext(ctx aws.Context, input *ListInferenceComponentsInput, opts ...request.Option) (*ListInferenceComponentsOutput, error) { + req, out := c.ListInferenceComponentsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +// ListInferenceComponentsPages iterates over the pages of a ListInferenceComponents operation, +// calling the "fn" function with the response data for each page. To stop +// iterating, return false from the fn function. +// +// See ListInferenceComponents 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 ListInferenceComponents operation. +// pageNum := 0 +// err := client.ListInferenceComponentsPages(params, +// func(page *sagemaker.ListInferenceComponentsOutput, lastPage bool) bool { +// pageNum++ +// fmt.Println(page) +// return pageNum <= 3 +// }) +func (c *SageMaker) ListInferenceComponentsPages(input *ListInferenceComponentsInput, fn func(*ListInferenceComponentsOutput, bool) bool) error { + return c.ListInferenceComponentsPagesWithContext(aws.BackgroundContext(), input, fn) +} + +// ListInferenceComponentsPagesWithContext same as ListInferenceComponentsPages 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 *SageMaker) ListInferenceComponentsPagesWithContext(ctx aws.Context, input *ListInferenceComponentsInput, fn func(*ListInferenceComponentsOutput, bool) bool, opts ...request.Option) error { + p := request.Pagination{ + NewRequest: func() (*request.Request, error) { + var inCpy *ListInferenceComponentsInput + if input != nil { + tmp := *input + inCpy = &tmp + } + req, _ := c.ListInferenceComponentsRequest(inCpy) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return req, nil + }, + } + + for p.Next() { + if !fn(p.Page().(*ListInferenceComponentsOutput), !p.HasNextPage()) { + break + } + } + + return p.Err() +} + const opListInferenceExperiments = "ListInferenceExperiments" // ListInferenceExperimentsRequest generates a "aws/request.Request" representing the @@ -22290,7 +23246,8 @@ func (c *SageMaker) ListStudioLifecycleConfigsRequest(input *ListStudioLifecycle // ListStudioLifecycleConfigs API operation for Amazon SageMaker Service. // -// Lists the Studio Lifecycle Configurations in your Amazon Web Services Account. +// Lists the Amazon SageMaker Studio Lifecycle Configurations in your Amazon +// Web Services Account. // // 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 @@ -26305,6 +27262,93 @@ func (c *SageMaker) UpdateArtifactWithContext(ctx aws.Context, input *UpdateArti return out, req.Send() } +const opUpdateCluster = "UpdateCluster" + +// UpdateClusterRequest generates a "aws/request.Request" representing the +// client's request for the UpdateCluster 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 UpdateCluster for more information on using the UpdateCluster +// 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 UpdateClusterRequest method. +// req, resp := client.UpdateClusterRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateCluster +func (c *SageMaker) UpdateClusterRequest(input *UpdateClusterInput) (req *request.Request, output *UpdateClusterOutput) { + op := &request.Operation{ + Name: opUpdateCluster, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateClusterInput{} + } + + output = &UpdateClusterOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateCluster API operation for Amazon SageMaker Service. +// +// Update a SageMaker HyperPod cluster. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation UpdateCluster for usage and error information. +// +// Returned Error Types: +// +// - ResourceLimitExceeded +// You have exceeded an SageMaker resource limit. For example, you might have +// too many training jobs created. +// +// - ResourceNotFound +// Resource being access is not found. +// +// - ConflictException +// There was a conflict when you attempted to modify a SageMaker entity such +// as an Experiment or Artifact. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateCluster +func (c *SageMaker) UpdateCluster(input *UpdateClusterInput) (*UpdateClusterOutput, error) { + req, out := c.UpdateClusterRequest(input) + return out, req.Send() +} + +// UpdateClusterWithContext is the same as UpdateCluster with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateCluster 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 *SageMaker) UpdateClusterWithContext(ctx aws.Context, input *UpdateClusterInput, opts ...request.Option) (*UpdateClusterOutput, error) { + req, out := c.UpdateClusterRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateCodeRepository = "UpdateCodeRepository" // UpdateCodeRepositoryRequest generates a "aws/request.Request" representing the @@ -27378,6 +28422,164 @@ func (c *SageMaker) UpdateImageVersionWithContext(ctx aws.Context, input *Update return out, req.Send() } +const opUpdateInferenceComponent = "UpdateInferenceComponent" + +// UpdateInferenceComponentRequest generates a "aws/request.Request" representing the +// client's request for the UpdateInferenceComponent 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 UpdateInferenceComponent for more information on using the UpdateInferenceComponent +// 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 UpdateInferenceComponentRequest method. +// req, resp := client.UpdateInferenceComponentRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateInferenceComponent +func (c *SageMaker) UpdateInferenceComponentRequest(input *UpdateInferenceComponentInput) (req *request.Request, output *UpdateInferenceComponentOutput) { + op := &request.Operation{ + Name: opUpdateInferenceComponent, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateInferenceComponentInput{} + } + + output = &UpdateInferenceComponentOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateInferenceComponent API operation for Amazon SageMaker Service. +// +// Updates an inference component. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation UpdateInferenceComponent for usage and error information. +// +// Returned Error Types: +// - ResourceLimitExceeded +// You have exceeded an SageMaker resource limit. For example, you might have +// too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateInferenceComponent +func (c *SageMaker) UpdateInferenceComponent(input *UpdateInferenceComponentInput) (*UpdateInferenceComponentOutput, error) { + req, out := c.UpdateInferenceComponentRequest(input) + return out, req.Send() +} + +// UpdateInferenceComponentWithContext is the same as UpdateInferenceComponent with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateInferenceComponent 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 *SageMaker) UpdateInferenceComponentWithContext(ctx aws.Context, input *UpdateInferenceComponentInput, opts ...request.Option) (*UpdateInferenceComponentOutput, error) { + req, out := c.UpdateInferenceComponentRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opUpdateInferenceComponentRuntimeConfig = "UpdateInferenceComponentRuntimeConfig" + +// UpdateInferenceComponentRuntimeConfigRequest generates a "aws/request.Request" representing the +// client's request for the UpdateInferenceComponentRuntimeConfig 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 UpdateInferenceComponentRuntimeConfig for more information on using the UpdateInferenceComponentRuntimeConfig +// 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 UpdateInferenceComponentRuntimeConfigRequest method. +// req, resp := client.UpdateInferenceComponentRuntimeConfigRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateInferenceComponentRuntimeConfig +func (c *SageMaker) UpdateInferenceComponentRuntimeConfigRequest(input *UpdateInferenceComponentRuntimeConfigInput) (req *request.Request, output *UpdateInferenceComponentRuntimeConfigOutput) { + op := &request.Operation{ + Name: opUpdateInferenceComponentRuntimeConfig, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateInferenceComponentRuntimeConfigInput{} + } + + output = &UpdateInferenceComponentRuntimeConfigOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateInferenceComponentRuntimeConfig API operation for Amazon SageMaker Service. +// +// Runtime settings for a model that is deployed with an inference component. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for Amazon SageMaker Service's +// API operation UpdateInferenceComponentRuntimeConfig for usage and error information. +// +// Returned Error Types: +// - ResourceLimitExceeded +// You have exceeded an SageMaker resource limit. For example, you might have +// too many training jobs created. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/sagemaker-2017-07-24/UpdateInferenceComponentRuntimeConfig +func (c *SageMaker) UpdateInferenceComponentRuntimeConfig(input *UpdateInferenceComponentRuntimeConfigInput) (*UpdateInferenceComponentRuntimeConfigOutput, error) { + req, out := c.UpdateInferenceComponentRuntimeConfigRequest(input) + return out, req.Send() +} + +// UpdateInferenceComponentRuntimeConfigWithContext is the same as UpdateInferenceComponentRuntimeConfig with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateInferenceComponentRuntimeConfig 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 *SageMaker) UpdateInferenceComponentRuntimeConfigWithContext(ctx aws.Context, input *UpdateInferenceComponentRuntimeConfigInput, opts ...request.Option) (*UpdateInferenceComponentRuntimeConfigOutput, error) { + req, out := c.UpdateInferenceComponentRuntimeConfigRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opUpdateInferenceExperiment = "UpdateInferenceExperiment" // UpdateInferenceExperimentRequest generates a "aws/request.Request" representing the @@ -32544,6 +33746,9 @@ type AutoMLJobCompletionCriteria struct { // // For job V2s (jobs created by calling CreateAutoMLJobV2), this field controls // the runtime of the job candidate. + // + // For TextGenerationJobConfig (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_TextClassificationJobConfig.html) + // problem types, the maximum time defaults to 72 hours (259200 seconds). MaxRuntimePerTrainingJobInSeconds *int64 `min:"1" type:"integer"` } @@ -35984,6 +37189,575 @@ func (s *ClarifyTextConfig) SetLanguage(v string) *ClarifyTextConfig { return s } +// Details of an instance group in a SageMaker HyperPod cluster. +type ClusterInstanceGroupDetails struct { + _ struct{} `type:"structure"` + + // The number of instances that are currently in the instance group of a SageMaker + // HyperPod cluster. + CurrentCount *int64 `type:"integer"` + + // The execution role for the instance group to assume. + ExecutionRole *string `min:"20" type:"string"` + + // The name of the instance group of a SageMaker HyperPod cluster. + InstanceGroupName *string `min:"1" type:"string"` + + // The instance type of the instance group of a SageMaker HyperPod cluster. + InstanceType *string `type:"string" enum:"ClusterInstanceType"` + + // Details of LifeCycle configuration for the instance group. + LifeCycleConfig *ClusterLifeCycleConfig `type:"structure"` + + // The number of instances you specified to add to the instance group of a SageMaker + // HyperPod cluster. + TargetCount *int64 `min:"1" type:"integer"` + + // The number you specified to TreadsPerCore in CreateCluster for enabling or + // disabling multithreading. For instance types that support multithreading, + // you can specify 1 for disabling multithreading and 2 for enabling multithreading. + // For more information, see the reference table of CPU cores and threads per + // CPU core per instance type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cpu-options-supported-instances-values.html) + // in the Amazon Elastic Compute Cloud User Guide. + ThreadsPerCore *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterInstanceGroupDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterInstanceGroupDetails) GoString() string { + return s.String() +} + +// SetCurrentCount sets the CurrentCount field's value. +func (s *ClusterInstanceGroupDetails) SetCurrentCount(v int64) *ClusterInstanceGroupDetails { + s.CurrentCount = &v + return s +} + +// SetExecutionRole sets the ExecutionRole field's value. +func (s *ClusterInstanceGroupDetails) SetExecutionRole(v string) *ClusterInstanceGroupDetails { + s.ExecutionRole = &v + return s +} + +// SetInstanceGroupName sets the InstanceGroupName field's value. +func (s *ClusterInstanceGroupDetails) SetInstanceGroupName(v string) *ClusterInstanceGroupDetails { + s.InstanceGroupName = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *ClusterInstanceGroupDetails) SetInstanceType(v string) *ClusterInstanceGroupDetails { + s.InstanceType = &v + return s +} + +// SetLifeCycleConfig sets the LifeCycleConfig field's value. +func (s *ClusterInstanceGroupDetails) SetLifeCycleConfig(v *ClusterLifeCycleConfig) *ClusterInstanceGroupDetails { + s.LifeCycleConfig = v + return s +} + +// SetTargetCount sets the TargetCount field's value. +func (s *ClusterInstanceGroupDetails) SetTargetCount(v int64) *ClusterInstanceGroupDetails { + s.TargetCount = &v + return s +} + +// SetThreadsPerCore sets the ThreadsPerCore field's value. +func (s *ClusterInstanceGroupDetails) SetThreadsPerCore(v int64) *ClusterInstanceGroupDetails { + s.ThreadsPerCore = &v + return s +} + +// The specifications of an instance group that you need to define. +type ClusterInstanceGroupSpecification struct { + _ struct{} `type:"structure"` + + // Specifies an IAM execution role to be assumed by the instance group. + // + // ExecutionRole is a required field + ExecutionRole *string `min:"20" type:"string" required:"true"` + + // Specifies the number of instances to add to the instance group of a SageMaker + // HyperPod cluster. + // + // InstanceCount is a required field + InstanceCount *int64 `min:"1" type:"integer" required:"true"` + + // Specifies the name of the instance group. + // + // InstanceGroupName is a required field + InstanceGroupName *string `min:"1" type:"string" required:"true"` + + // Specifies the instance type of the instance group. + // + // InstanceType is a required field + InstanceType *string `type:"string" required:"true" enum:"ClusterInstanceType"` + + // Specifies the LifeCycle configuration for the instance group. + // + // LifeCycleConfig is a required field + LifeCycleConfig *ClusterLifeCycleConfig `type:"structure" required:"true"` + + // Specifies the value for Threads per core. For instance types that support + // multithreading, you can specify 1 for disabling multithreading and 2 for + // enabling multithreading. For instance types that doesn't support multithreading, + // specify 1. For more information, see the reference table of CPU cores and + // threads per CPU core per instance type (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/cpu-options-supported-instances-values.html) + // in the Amazon Elastic Compute Cloud User Guide. + ThreadsPerCore *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterInstanceGroupSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterInstanceGroupSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ClusterInstanceGroupSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ClusterInstanceGroupSpecification"} + if s.ExecutionRole == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionRole")) + } + if s.ExecutionRole != nil && len(*s.ExecutionRole) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionRole", 20)) + } + if s.InstanceCount == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceCount")) + } + if s.InstanceCount != nil && *s.InstanceCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("InstanceCount", 1)) + } + if s.InstanceGroupName == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceGroupName")) + } + if s.InstanceGroupName != nil && len(*s.InstanceGroupName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceGroupName", 1)) + } + if s.InstanceType == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceType")) + } + if s.LifeCycleConfig == nil { + invalidParams.Add(request.NewErrParamRequired("LifeCycleConfig")) + } + if s.ThreadsPerCore != nil && *s.ThreadsPerCore < 1 { + invalidParams.Add(request.NewErrParamMinValue("ThreadsPerCore", 1)) + } + if s.LifeCycleConfig != nil { + if err := s.LifeCycleConfig.Validate(); err != nil { + invalidParams.AddNested("LifeCycleConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExecutionRole sets the ExecutionRole field's value. +func (s *ClusterInstanceGroupSpecification) SetExecutionRole(v string) *ClusterInstanceGroupSpecification { + s.ExecutionRole = &v + return s +} + +// SetInstanceCount sets the InstanceCount field's value. +func (s *ClusterInstanceGroupSpecification) SetInstanceCount(v int64) *ClusterInstanceGroupSpecification { + s.InstanceCount = &v + return s +} + +// SetInstanceGroupName sets the InstanceGroupName field's value. +func (s *ClusterInstanceGroupSpecification) SetInstanceGroupName(v string) *ClusterInstanceGroupSpecification { + s.InstanceGroupName = &v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *ClusterInstanceGroupSpecification) SetInstanceType(v string) *ClusterInstanceGroupSpecification { + s.InstanceType = &v + return s +} + +// SetLifeCycleConfig sets the LifeCycleConfig field's value. +func (s *ClusterInstanceGroupSpecification) SetLifeCycleConfig(v *ClusterLifeCycleConfig) *ClusterInstanceGroupSpecification { + s.LifeCycleConfig = v + return s +} + +// SetThreadsPerCore sets the ThreadsPerCore field's value. +func (s *ClusterInstanceGroupSpecification) SetThreadsPerCore(v int64) *ClusterInstanceGroupSpecification { + s.ThreadsPerCore = &v + return s +} + +// Details of an instance in a SageMaker HyperPod cluster. +type ClusterInstanceStatusDetails struct { + _ struct{} `type:"structure"` + + // The message from an instance in a SageMaker HyperPod cluster. + Message *string `type:"string"` + + // The status of an instance in a SageMaker HyperPod cluster. + // + // Status is a required field + Status *string `type:"string" required:"true" enum:"ClusterInstanceStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterInstanceStatusDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterInstanceStatusDetails) GoString() string { + return s.String() +} + +// SetMessage sets the Message field's value. +func (s *ClusterInstanceStatusDetails) SetMessage(v string) *ClusterInstanceStatusDetails { + s.Message = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ClusterInstanceStatusDetails) SetStatus(v string) *ClusterInstanceStatusDetails { + s.Status = &v + return s +} + +// The LifeCycle configuration for a SageMaker HyperPod cluster. +type ClusterLifeCycleConfig struct { + _ struct{} `type:"structure"` + + // The directory of the LifeCycle script under SourceS3Uri. This LifeCycle script + // runs during cluster creation. + // + // OnCreate is a required field + OnCreate *string `min:"1" type:"string" required:"true"` + + // An Amazon S3 bucket path where your LifeCycle scripts are stored. + // + // SourceS3Uri is a required field + SourceS3Uri *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterLifeCycleConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterLifeCycleConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ClusterLifeCycleConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ClusterLifeCycleConfig"} + if s.OnCreate == nil { + invalidParams.Add(request.NewErrParamRequired("OnCreate")) + } + if s.OnCreate != nil && len(*s.OnCreate) < 1 { + invalidParams.Add(request.NewErrParamMinLen("OnCreate", 1)) + } + if s.SourceS3Uri == nil { + invalidParams.Add(request.NewErrParamRequired("SourceS3Uri")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetOnCreate sets the OnCreate field's value. +func (s *ClusterLifeCycleConfig) SetOnCreate(v string) *ClusterLifeCycleConfig { + s.OnCreate = &v + return s +} + +// SetSourceS3Uri sets the SourceS3Uri field's value. +func (s *ClusterLifeCycleConfig) SetSourceS3Uri(v string) *ClusterLifeCycleConfig { + s.SourceS3Uri = &v + return s +} + +// Details of an instance (also called a node interchangeably) in a SageMaker +// HyperPod cluster. +type ClusterNodeDetails struct { + _ struct{} `type:"structure"` + + // The instance group name in which the instance is. + InstanceGroupName *string `min:"1" type:"string"` + + // The ID of the instance. + InstanceId *string `type:"string"` + + // The status of the instance. + InstanceStatus *ClusterInstanceStatusDetails `type:"structure"` + + // The type of the instance. + InstanceType *string `type:"string" enum:"ClusterInstanceType"` + + // The time when the instance is launched. + LaunchTime *time.Time `type:"timestamp"` + + // The LifeCycle configuration applied to the instance. + LifeCycleConfig *ClusterLifeCycleConfig `type:"structure"` + + // The number of threads per CPU core you specified under CreateCluster. + ThreadsPerCore *int64 `min:"1" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterNodeDetails) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterNodeDetails) GoString() string { + return s.String() +} + +// SetInstanceGroupName sets the InstanceGroupName field's value. +func (s *ClusterNodeDetails) SetInstanceGroupName(v string) *ClusterNodeDetails { + s.InstanceGroupName = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ClusterNodeDetails) SetInstanceId(v string) *ClusterNodeDetails { + s.InstanceId = &v + return s +} + +// SetInstanceStatus sets the InstanceStatus field's value. +func (s *ClusterNodeDetails) SetInstanceStatus(v *ClusterInstanceStatusDetails) *ClusterNodeDetails { + s.InstanceStatus = v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *ClusterNodeDetails) SetInstanceType(v string) *ClusterNodeDetails { + s.InstanceType = &v + return s +} + +// SetLaunchTime sets the LaunchTime field's value. +func (s *ClusterNodeDetails) SetLaunchTime(v time.Time) *ClusterNodeDetails { + s.LaunchTime = &v + return s +} + +// SetLifeCycleConfig sets the LifeCycleConfig field's value. +func (s *ClusterNodeDetails) SetLifeCycleConfig(v *ClusterLifeCycleConfig) *ClusterNodeDetails { + s.LifeCycleConfig = v + return s +} + +// SetThreadsPerCore sets the ThreadsPerCore field's value. +func (s *ClusterNodeDetails) SetThreadsPerCore(v int64) *ClusterNodeDetails { + s.ThreadsPerCore = &v + return s +} + +// Lists a summary of the properties of an instance (also called a node interchangeably) +// of a SageMaker HyperPod cluster. +type ClusterNodeSummary struct { + _ struct{} `type:"structure"` + + // The name of the instance group in which the instance is. + // + // InstanceGroupName is a required field + InstanceGroupName *string `min:"1" type:"string" required:"true"` + + // The ID of the instance. + // + // InstanceId is a required field + InstanceId *string `type:"string" required:"true"` + + // The status of the instance. + // + // InstanceStatus is a required field + InstanceStatus *ClusterInstanceStatusDetails `type:"structure" required:"true"` + + // The type of the instance. + // + // InstanceType is a required field + InstanceType *string `type:"string" required:"true" enum:"ClusterInstanceType"` + + // The time when the instance is launched. + // + // LaunchTime is a required field + LaunchTime *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterNodeSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterNodeSummary) GoString() string { + return s.String() +} + +// SetInstanceGroupName sets the InstanceGroupName field's value. +func (s *ClusterNodeSummary) SetInstanceGroupName(v string) *ClusterNodeSummary { + s.InstanceGroupName = &v + return s +} + +// SetInstanceId sets the InstanceId field's value. +func (s *ClusterNodeSummary) SetInstanceId(v string) *ClusterNodeSummary { + s.InstanceId = &v + return s +} + +// SetInstanceStatus sets the InstanceStatus field's value. +func (s *ClusterNodeSummary) SetInstanceStatus(v *ClusterInstanceStatusDetails) *ClusterNodeSummary { + s.InstanceStatus = v + return s +} + +// SetInstanceType sets the InstanceType field's value. +func (s *ClusterNodeSummary) SetInstanceType(v string) *ClusterNodeSummary { + s.InstanceType = &v + return s +} + +// SetLaunchTime sets the LaunchTime field's value. +func (s *ClusterNodeSummary) SetLaunchTime(v time.Time) *ClusterNodeSummary { + s.LaunchTime = &v + return s +} + +// Lists a summary of the properties of a SageMaker HyperPod cluster. +type ClusterSummary struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster. + // + // ClusterArn is a required field + ClusterArn *string `type:"string" required:"true"` + + // The name of the SageMaker HyperPod cluster. + // + // ClusterName is a required field + ClusterName *string `min:"1" type:"string" required:"true"` + + // The status of the SageMaker HyperPod cluster. + // + // ClusterStatus is a required field + ClusterStatus *string `type:"string" required:"true" enum:"ClusterStatus"` + + // The time when the SageMaker HyperPod cluster is created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ClusterSummary) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *ClusterSummary) SetClusterArn(v string) *ClusterSummary { + s.ClusterArn = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *ClusterSummary) SetClusterName(v string) *ClusterSummary { + s.ClusterName = &v + return s +} + +// SetClusterStatus sets the ClusterStatus field's value. +func (s *ClusterSummary) SetClusterStatus(v string) *ClusterSummary { + s.ClusterStatus = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *ClusterSummary) SetCreationTime(v time.Time) *ClusterSummary { + s.CreationTime = &v + return s +} + // A Git repository that SageMaker automatically displays to users for cloning // in the JupyterServer application. type CodeRepository struct { @@ -37701,6 +39475,11 @@ func (s *CreateAppInput) Validate() error { if s.DomainId == nil { invalidParams.Add(request.NewErrParamRequired("DomainId")) } + if s.ResourceSpec != nil { + if err := s.ResourceSpec.Validate(); err != nil { + invalidParams.AddNested("ResourceSpec", err.(request.ErrInvalidParams)) + } + } if s.Tags != nil { for i, v := range s.Tags { if v == nil { @@ -38447,6 +40226,155 @@ func (s *CreateAutoMLJobV2Output) SetAutoMLJobArn(v string) *CreateAutoMLJobV2Ou return s } +type CreateClusterInput struct { + _ struct{} `type:"structure"` + + // The name for the new SageMaker HyperPod cluster. + // + // ClusterName is a required field + ClusterName *string `min:"1" type:"string" required:"true"` + + // The instance groups to be created in the SageMaker HyperPod cluster. + // + // InstanceGroups is a required field + InstanceGroups []*ClusterInstanceGroupSpecification `min:"1" type:"list" required:"true"` + + // Custom tags for managing the SageMaker HyperPod cluster as an Amazon Web + // Services resource. You can add tags to your cluster in the same way you add + // them in other Amazon Web Services services that support tagging. To learn + // more about tagging Amazon Web Services resources in general, see Tagging + // Amazon Web Services Resources User Guide (https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html). + Tags []*Tag `type:"list"` + + // Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, + // hosted models, and compute resources have access to. You can control access + // to and from your resources by configuring a VPC. For more information, see + // Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). + VpcConfig *VpcConfig `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateClusterInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.ClusterName != nil && len(*s.ClusterName) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ClusterName", 1)) + } + if s.InstanceGroups == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceGroups")) + } + if s.InstanceGroups != nil && len(s.InstanceGroups) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceGroups", 1)) + } + if s.InstanceGroups != nil { + for i, v := range s.InstanceGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) + } + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + if s.VpcConfig != nil { + if err := s.VpcConfig.Validate(); err != nil { + invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterName sets the ClusterName field's value. +func (s *CreateClusterInput) SetClusterName(v string) *CreateClusterInput { + s.ClusterName = &v + return s +} + +// SetInstanceGroups sets the InstanceGroups field's value. +func (s *CreateClusterInput) SetInstanceGroups(v []*ClusterInstanceGroupSpecification) *CreateClusterInput { + s.InstanceGroups = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateClusterInput) SetTags(v []*Tag) *CreateClusterInput { + s.Tags = v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *CreateClusterInput) SetVpcConfig(v *VpcConfig) *CreateClusterInput { + s.VpcConfig = v + return s +} + +type CreateClusterOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the cluster. + // + // ClusterArn is a required field + ClusterArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateClusterOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *CreateClusterOutput) SetClusterArn(v string) *CreateClusterOutput { + s.ClusterArn = &v + return s +} + type CreateCodeRepositoryInput struct { _ struct{} `type:"structure"` @@ -39347,7 +41275,7 @@ type CreateDomainInput struct { // * PublicInternetOnly - Non-EFS traffic is through a VPC managed by Amazon // SageMaker, which allows direct internet access // - // * VpcOnly - All Studio traffic is through the specified VPC and subnets + // * VpcOnly - All traffic is through the specified VPC and subnets AppNetworkAccessType *string `type:"string" enum:"AppNetworkAccessType"` // The entity that creates and manages the required security groups for inter-app @@ -39393,7 +41321,7 @@ type CreateDomainInput struct { // control, specify a customer managed key. KmsKeyId *string `type:"string"` - // The VPC subnets that Studio uses for communication. + // The VPC subnets that the domain uses for communication. // // SubnetIds is a required field SubnetIds []*string `min:"1" type:"list" required:"true"` @@ -39406,7 +41334,8 @@ type CreateDomainInput struct { // Domain launches. Tags []*Tag `type:"list"` - // The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. + // The ID of the Amazon Virtual Private Cloud (VPC) that the domain uses for + // communication. // // VpcId is a required field VpcId *string `type:"string" required:"true"` @@ -40052,6 +41981,11 @@ type CreateEndpointConfigInput struct { // Configuration to control how SageMaker captures inference data. DataCaptureConfig *DataCaptureConfig `type:"structure"` + // Sets whether all model containers deployed to the endpoint are isolated. + // If they are, no inbound or outbound network calls can be made to or from + // the model containers. + EnableNetworkIsolation *bool `type:"boolean"` + // The name of the endpoint configuration. You specify this name in a CreateEndpoint // (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html) // request. @@ -40059,6 +41993,14 @@ type CreateEndpointConfigInput struct { // EndpointConfigName is a required field EndpointConfigName *string `type:"string" required:"true"` + // The Amazon Resource Name (ARN) of an IAM role that Amazon SageMaker can assume + // to perform actions on your behalf. For more information, see SageMaker Roles + // (https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html). + // + // To be able to pass this role to Amazon SageMaker, the caller of this action + // must have the iam:PassRole permission. + ExecutionRoleArn *string `min:"20" type:"string"` + // A member of CreateEndpointConfig that enables explainers. ExplainerConfig *ExplainerConfig `type:"structure"` @@ -40114,6 +42056,12 @@ type CreateEndpointConfigInput struct { // environment. For more information, see Tagging Amazon Web Services Resources // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). Tags []*Tag `type:"list"` + + // Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, + // hosted models, and compute resources have access to. You can control access + // to and from your resources by configuring a VPC. For more information, see + // Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). + VpcConfig *VpcConfig `type:"structure"` } // String returns the string representation. @@ -40140,6 +42088,9 @@ func (s *CreateEndpointConfigInput) Validate() error { if s.EndpointConfigName == nil { invalidParams.Add(request.NewErrParamRequired("EndpointConfigName")) } + if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 20 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 20)) + } if s.ProductionVariants == nil { invalidParams.Add(request.NewErrParamRequired("ProductionVariants")) } @@ -40194,6 +42145,11 @@ func (s *CreateEndpointConfigInput) Validate() error { } } } + if s.VpcConfig != nil { + if err := s.VpcConfig.Validate(); err != nil { + invalidParams.AddNested("VpcConfig", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -40213,12 +42169,24 @@ func (s *CreateEndpointConfigInput) SetDataCaptureConfig(v *DataCaptureConfig) * return s } +// SetEnableNetworkIsolation sets the EnableNetworkIsolation field's value. +func (s *CreateEndpointConfigInput) SetEnableNetworkIsolation(v bool) *CreateEndpointConfigInput { + s.EnableNetworkIsolation = &v + return s +} + // SetEndpointConfigName sets the EndpointConfigName field's value. func (s *CreateEndpointConfigInput) SetEndpointConfigName(v string) *CreateEndpointConfigInput { s.EndpointConfigName = &v return s } +// SetExecutionRoleArn sets the ExecutionRoleArn field's value. +func (s *CreateEndpointConfigInput) SetExecutionRoleArn(v string) *CreateEndpointConfigInput { + s.ExecutionRoleArn = &v + return s +} + // SetExplainerConfig sets the ExplainerConfig field's value. func (s *CreateEndpointConfigInput) SetExplainerConfig(v *ExplainerConfig) *CreateEndpointConfigInput { s.ExplainerConfig = v @@ -40249,6 +42217,12 @@ func (s *CreateEndpointConfigInput) SetTags(v []*Tag) *CreateEndpointConfigInput return s } +// SetVpcConfig sets the VpcConfig field's value. +func (s *CreateEndpointConfigInput) SetVpcConfig(v *VpcConfig) *CreateEndpointConfigInput { + s.VpcConfig = v + return s +} + type CreateEndpointConfigOutput struct { _ struct{} `type:"structure"` @@ -41871,6 +43845,173 @@ func (s *CreateImageVersionOutput) SetImageVersionArn(v string) *CreateImageVers return s } +type CreateInferenceComponentInput struct { + _ struct{} `type:"structure"` + + // The name of an existing endpoint where you host the inference component. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` + + // A unique name to assign to the inference component. + // + // InferenceComponentName is a required field + InferenceComponentName *string `type:"string" required:"true"` + + // Runtime settings for a model that is deployed with an inference component. + // + // RuntimeConfig is a required field + RuntimeConfig *InferenceComponentRuntimeConfig `type:"structure" required:"true"` + + // Details about the resources to deploy with this inference component, including + // the model, container, and compute resources. + // + // Specification is a required field + Specification *InferenceComponentSpecification `type:"structure" required:"true"` + + // A list of key-value pairs associated with the model. For more information, + // see Tagging Amazon Web Services resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) + // in the Amazon Web Services General Reference. + Tags []*Tag `type:"list"` + + // The name of an existing production variant where you host the inference component. + // + // VariantName is a required field + VariantName *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateInferenceComponentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateInferenceComponentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateInferenceComponentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateInferenceComponentInput"} + if s.EndpointName == nil { + invalidParams.Add(request.NewErrParamRequired("EndpointName")) + } + if s.InferenceComponentName == nil { + invalidParams.Add(request.NewErrParamRequired("InferenceComponentName")) + } + if s.RuntimeConfig == nil { + invalidParams.Add(request.NewErrParamRequired("RuntimeConfig")) + } + if s.Specification == nil { + invalidParams.Add(request.NewErrParamRequired("Specification")) + } + if s.VariantName == nil { + invalidParams.Add(request.NewErrParamRequired("VariantName")) + } + if s.RuntimeConfig != nil { + if err := s.RuntimeConfig.Validate(); err != nil { + invalidParams.AddNested("RuntimeConfig", err.(request.ErrInvalidParams)) + } + } + if s.Specification != nil { + if err := s.Specification.Validate(); err != nil { + invalidParams.AddNested("Specification", err.(request.ErrInvalidParams)) + } + } + if s.Tags != nil { + for i, v := range s.Tags { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetEndpointName sets the EndpointName field's value. +func (s *CreateInferenceComponentInput) SetEndpointName(v string) *CreateInferenceComponentInput { + s.EndpointName = &v + return s +} + +// SetInferenceComponentName sets the InferenceComponentName field's value. +func (s *CreateInferenceComponentInput) SetInferenceComponentName(v string) *CreateInferenceComponentInput { + s.InferenceComponentName = &v + return s +} + +// SetRuntimeConfig sets the RuntimeConfig field's value. +func (s *CreateInferenceComponentInput) SetRuntimeConfig(v *InferenceComponentRuntimeConfig) *CreateInferenceComponentInput { + s.RuntimeConfig = v + return s +} + +// SetSpecification sets the Specification field's value. +func (s *CreateInferenceComponentInput) SetSpecification(v *InferenceComponentSpecification) *CreateInferenceComponentInput { + s.Specification = v + return s +} + +// SetTags sets the Tags field's value. +func (s *CreateInferenceComponentInput) SetTags(v []*Tag) *CreateInferenceComponentInput { + s.Tags = v + return s +} + +// SetVariantName sets the VariantName field's value. +func (s *CreateInferenceComponentInput) SetVariantName(v string) *CreateInferenceComponentInput { + s.VariantName = &v + return s +} + +type CreateInferenceComponentOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the inference component. + // + // InferenceComponentArn is a required field + InferenceComponentArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateInferenceComponentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateInferenceComponentOutput) GoString() string { + return s.String() +} + +// SetInferenceComponentArn sets the InferenceComponentArn field's value. +func (s *CreateInferenceComponentOutput) SetInferenceComponentArn(v string) *CreateInferenceComponentOutput { + s.InferenceComponentArn = &v + return s +} + type CreateInferenceExperimentInput struct { _ struct{} `type:"structure"` @@ -43458,9 +45599,7 @@ type CreateModelInput struct { // // To be able to pass this role to SageMaker, the caller of this API must have // the iam:PassRole permission. - // - // ExecutionRoleArn is a required field - ExecutionRoleArn *string `min:"20" type:"string" required:"true"` + ExecutionRoleArn *string `min:"20" type:"string"` // Specifies details of how containers in a multi-container endpoint are called. InferenceExecutionConfig *InferenceExecutionConfig `type:"structure"` @@ -43512,9 +45651,6 @@ func (s CreateModelInput) GoString() string { // Validate inspects the fields of the type to determine if they are valid. func (s *CreateModelInput) Validate() error { invalidParams := request.ErrInvalidParams{Context: "CreateModelInput"} - if s.ExecutionRoleArn == nil { - invalidParams.Add(request.NewErrParamRequired("ExecutionRoleArn")) - } if s.ExecutionRoleArn != nil && len(*s.ExecutionRoleArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("ExecutionRoleArn", 20)) } @@ -45086,6 +47222,25 @@ type CreatePresignedDomainUrlInput struct { // to 300. ExpiresInSeconds *int64 `min:"5" type:"integer"` + // The landing page that the user is directed to when accessing the presigned + // URL. Using this value, users can access Studio or Studio Classic, even if + // it is not the default experience for the domain. The supported values are: + // + // * studio::relative/path: Directs users to the relative path in Studio. + // + // * app:JupyterServer:relative/path: Directs users to the relative path + // in the Studio Classic application. + // + // * app:JupyterLab:relative/path: Directs users to the relative path in + // the JupyterLab application. + // + // * app:RStudioServerPro:relative/path: Directs users to the relative path + // in the RStudio application. + // + // * app:Canvas:relative/path: Directs users to the relative path in the + // Canvas application. + LandingUri *string `type:"string"` + // The session expiration duration in seconds. This value defaults to 43200. SessionExpirationDurationInSeconds *int64 `min:"1800" type:"integer"` @@ -45150,6 +47305,12 @@ func (s *CreatePresignedDomainUrlInput) SetExpiresInSeconds(v int64) *CreatePres return s } +// SetLandingUri sets the LandingUri field's value. +func (s *CreatePresignedDomainUrlInput) SetLandingUri(v string) *CreatePresignedDomainUrlInput { + s.LandingUri = &v + return s +} + // SetSessionExpirationDurationInSeconds sets the SessionExpirationDurationInSeconds field's value. func (s *CreatePresignedDomainUrlInput) SetSessionExpirationDurationInSeconds(v int64) *CreatePresignedDomainUrlInput { s.SessionExpirationDurationInSeconds = &v @@ -45824,13 +47985,13 @@ type CreateStudioLifecycleConfigInput struct { // StudioLifecycleConfigAppType is a required field StudioLifecycleConfigAppType *string `type:"string" required:"true" enum:"StudioLifecycleConfigAppType"` - // The content of your Studio Lifecycle Configuration script. This content must - // be base64 encoded. + // The content of your Amazon SageMaker Studio Lifecycle Configuration script. + // This content must be base64 encoded. // // StudioLifecycleConfigContent is a required field StudioLifecycleConfigContent *string `min:"1" type:"string" required:"true"` - // The name of the Studio Lifecycle Configuration to create. + // The name of the Amazon SageMaker Studio Lifecycle Configuration to create. // // StudioLifecycleConfigName is a required field StudioLifecycleConfigName *string `type:"string" required:"true"` @@ -46030,6 +48191,10 @@ type CreateTrainingJobInput struct { // and return an exception error. HyperParameters map[string]*string `type:"map"` + // Contains information about the infrastructure health check configuration + // for the training job. + InfraCheckConfig *InfraCheckConfig `type:"structure"` + // An array of Channel objects. Each channel is a named input source. InputDataConfig // describes the input data and its location. // @@ -46335,6 +48500,12 @@ func (s *CreateTrainingJobInput) SetHyperParameters(v map[string]*string) *Creat return s } +// SetInfraCheckConfig sets the InfraCheckConfig field's value. +func (s *CreateTrainingJobInput) SetInfraCheckConfig(v *InfraCheckConfig) *CreateTrainingJobInput { + s.InfraCheckConfig = v + return s +} + // SetInputDataConfig sets the InputDataConfig field's value. func (s *CreateTrainingJobInput) SetInputDataConfig(v []*Channel) *CreateTrainingJobInput { s.InputDataConfig = v @@ -49376,6 +51547,86 @@ func (s *DeleteAssociationOutput) SetSourceArn(v string) *DeleteAssociationOutpu return s } +type DeleteClusterInput struct { + _ struct{} `type:"structure"` + + // The string name or the Amazon Resource Name (ARN) of the SageMaker HyperPod + // cluster to delete. + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteClusterInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterName sets the ClusterName field's value. +func (s *DeleteClusterInput) SetClusterName(v string) *DeleteClusterInput { + s.ClusterName = &v + return s +} + +type DeleteClusterOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster to delete. + // + // ClusterArn is a required field + ClusterArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteClusterOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *DeleteClusterOutput) SetClusterArn(v string) *DeleteClusterOutput { + s.ClusterArn = &v + return s +} + type DeleteCodeRepositoryInput struct { _ struct{} `type:"structure"` @@ -50682,6 +52933,74 @@ func (s DeleteImageVersionOutput) GoString() string { return s.String() } +type DeleteInferenceComponentInput struct { + _ struct{} `type:"structure"` + + // The name of the inference component to delete. + // + // InferenceComponentName is a required field + InferenceComponentName *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteInferenceComponentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteInferenceComponentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteInferenceComponentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteInferenceComponentInput"} + if s.InferenceComponentName == nil { + invalidParams.Add(request.NewErrParamRequired("InferenceComponentName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInferenceComponentName sets the InferenceComponentName field's value. +func (s *DeleteInferenceComponentInput) SetInferenceComponentName(v string) *DeleteInferenceComponentInput { + s.InferenceComponentName = &v + return s +} + +type DeleteInferenceComponentOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteInferenceComponentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteInferenceComponentOutput) GoString() string { + return s.String() +} + type DeleteInferenceExperimentInput struct { _ struct{} `type:"structure"` @@ -51788,7 +54107,7 @@ func (s DeleteSpaceOutput) GoString() string { type DeleteStudioLifecycleConfigInput struct { _ struct{} `type:"structure"` - // The name of the Studio Lifecycle Configuration to delete. + // The name of the Amazon SageMaker Studio Lifecycle Configuration to delete. // // StudioLifecycleConfigName is a required field StudioLifecycleConfigName *string `type:"string" required:"true"` @@ -54252,6 +56571,244 @@ func (s *DescribeAutoMLJobV2Output) SetSecurityConfig(v *AutoMLSecurityConfig) * return s } +type DescribeClusterInput struct { + _ struct{} `type:"structure"` + + // The string name or the Amazon Resource Name (ARN) of the SageMaker HyperPod + // cluster. + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClusterInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterName sets the ClusterName field's value. +func (s *DescribeClusterInput) SetClusterName(v string) *DescribeClusterInput { + s.ClusterName = &v + return s +} + +type DescribeClusterNodeInput struct { + _ struct{} `type:"structure"` + + // The string name or the Amazon Resource Name (ARN) of the SageMaker HyperPod + // cluster in which the instance is. + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` + + // The ID of the instance. + // + // NodeId is a required field + NodeId *string `min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeClusterNodeInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeClusterNodeInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeClusterNodeInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeClusterNodeInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.NodeId == nil { + invalidParams.Add(request.NewErrParamRequired("NodeId")) + } + if s.NodeId != nil && len(*s.NodeId) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NodeId", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterName sets the ClusterName field's value. +func (s *DescribeClusterNodeInput) SetClusterName(v string) *DescribeClusterNodeInput { + s.ClusterName = &v + return s +} + +// SetNodeId sets the NodeId field's value. +func (s *DescribeClusterNodeInput) SetNodeId(v string) *DescribeClusterNodeInput { + s.NodeId = &v + return s +} + +type DescribeClusterNodeOutput struct { + _ struct{} `type:"structure"` + + // The details of the instance. + // + // NodeDetails is a required field + NodeDetails *ClusterNodeDetails `type:"structure" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeClusterNodeOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeClusterNodeOutput) GoString() string { + return s.String() +} + +// SetNodeDetails sets the NodeDetails field's value. +func (s *DescribeClusterNodeOutput) SetNodeDetails(v *ClusterNodeDetails) *DescribeClusterNodeOutput { + s.NodeDetails = v + return s +} + +type DescribeClusterOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the SageMaker HyperPod cluster. + // + // ClusterArn is a required field + ClusterArn *string `type:"string" required:"true"` + + // The name of the SageMaker HyperPod cluster. + ClusterName *string `min:"1" type:"string"` + + // The status of the SageMaker HyperPod cluster. + // + // ClusterStatus is a required field + ClusterStatus *string `type:"string" required:"true" enum:"ClusterStatus"` + + // The time when the SageMaker Cluster is created. + CreationTime *time.Time `type:"timestamp"` + + // The failure message of the SageMaker HyperPod cluster. + FailureMessage *string `type:"string"` + + // The instance groups of the SageMaker HyperPod cluster. + // + // InstanceGroups is a required field + InstanceGroups []*ClusterInstanceGroupDetails `type:"list" required:"true"` + + // Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, + // hosted models, and compute resources have access to. You can control access + // to and from your resources by configuring a VPC. For more information, see + // Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). + VpcConfig *VpcConfig `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeClusterOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *DescribeClusterOutput) SetClusterArn(v string) *DescribeClusterOutput { + s.ClusterArn = &v + return s +} + +// SetClusterName sets the ClusterName field's value. +func (s *DescribeClusterOutput) SetClusterName(v string) *DescribeClusterOutput { + s.ClusterName = &v + return s +} + +// SetClusterStatus sets the ClusterStatus field's value. +func (s *DescribeClusterOutput) SetClusterStatus(v string) *DescribeClusterOutput { + s.ClusterStatus = &v + return s +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeClusterOutput) SetCreationTime(v time.Time) *DescribeClusterOutput { + s.CreationTime = &v + return s +} + +// SetFailureMessage sets the FailureMessage field's value. +func (s *DescribeClusterOutput) SetFailureMessage(v string) *DescribeClusterOutput { + s.FailureMessage = &v + return s +} + +// SetInstanceGroups sets the InstanceGroups field's value. +func (s *DescribeClusterOutput) SetInstanceGroups(v []*ClusterInstanceGroupDetails) *DescribeClusterOutput { + s.InstanceGroups = v + return s +} + +// SetVpcConfig sets the VpcConfig field's value. +func (s *DescribeClusterOutput) SetVpcConfig(v *VpcConfig) *DescribeClusterOutput { + s.VpcConfig = v + return s +} + type DescribeCodeRepositoryInput struct { _ struct{} `type:"structure"` @@ -55428,7 +57985,7 @@ type DescribeDomainOutput struct { // * PublicInternetOnly - Non-EFS traffic is through a VPC managed by Amazon // SageMaker, which allows direct internet access // - // * VpcOnly - All Studio traffic is through the specified VPC and subnets + // * VpcOnly - All traffic is through the specified VPC and subnets AppNetworkAccessType *string `type:"string" enum:"AppNetworkAccessType"` // The entity that creates and manages the required security groups for inter-app @@ -55494,13 +58051,14 @@ type DescribeDomainOutput struct { // The status. Status *string `type:"string" enum:"DomainStatus"` - // The VPC subnets that Studio uses for communication. + // The VPC subnets that the domain uses for communication. SubnetIds []*string `min:"1" type:"list"` // The domain's URL. Url *string `type:"string"` - // The ID of the Amazon Virtual Private Cloud (VPC) that Studio uses for communication. + // The ID of the Amazon Virtual Private Cloud (VPC) that the domain uses for + // communication. VpcId *string `type:"string"` } @@ -56130,6 +58688,11 @@ type DescribeEndpointConfigOutput struct { // Configuration to control how SageMaker captures inference data. DataCaptureConfig *DataCaptureConfig `type:"structure"` + // Indicates whether all model containers deployed to the endpoint are isolated. + // If they are, no inbound or outbound network calls can be made to or from + // the model containers. + EnableNetworkIsolation *bool `type:"boolean"` + // The Amazon Resource Name (ARN) of the endpoint configuration. // // EndpointConfigArn is a required field @@ -56140,6 +58703,10 @@ type DescribeEndpointConfigOutput struct { // EndpointConfigName is a required field EndpointConfigName *string `type:"string" required:"true"` + // The Amazon Resource Name (ARN) of the IAM role that you assigned to the endpoint + // configuration. + ExecutionRoleArn *string `min:"20" type:"string"` + // The configuration parameters for an explainer. ExplainerConfig *ExplainerConfig `type:"structure"` @@ -56157,6 +58724,12 @@ type DescribeEndpointConfigOutput struct { // host at this endpoint in shadow mode with production traffic replicated from // the model specified on ProductionVariants. ShadowProductionVariants []*ProductionVariant `min:"1" type:"list"` + + // Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, + // hosted models, and compute resources have access to. You can control access + // to and from your resources by configuring a VPC. For more information, see + // Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). + VpcConfig *VpcConfig `type:"structure"` } // String returns the string representation. @@ -56195,6 +58768,12 @@ func (s *DescribeEndpointConfigOutput) SetDataCaptureConfig(v *DataCaptureConfig return s } +// SetEnableNetworkIsolation sets the EnableNetworkIsolation field's value. +func (s *DescribeEndpointConfigOutput) SetEnableNetworkIsolation(v bool) *DescribeEndpointConfigOutput { + s.EnableNetworkIsolation = &v + return s +} + // SetEndpointConfigArn sets the EndpointConfigArn field's value. func (s *DescribeEndpointConfigOutput) SetEndpointConfigArn(v string) *DescribeEndpointConfigOutput { s.EndpointConfigArn = &v @@ -56207,6 +58786,12 @@ func (s *DescribeEndpointConfigOutput) SetEndpointConfigName(v string) *Describe return s } +// SetExecutionRoleArn sets the ExecutionRoleArn field's value. +func (s *DescribeEndpointConfigOutput) SetExecutionRoleArn(v string) *DescribeEndpointConfigOutput { + s.ExecutionRoleArn = &v + return s +} + // SetExplainerConfig sets the ExplainerConfig field's value. func (s *DescribeEndpointConfigOutput) SetExplainerConfig(v *ExplainerConfig) *DescribeEndpointConfigOutput { s.ExplainerConfig = v @@ -56231,6 +58816,12 @@ func (s *DescribeEndpointConfigOutput) SetShadowProductionVariants(v []*Producti return s } +// SetVpcConfig sets the VpcConfig field's value. +func (s *DescribeEndpointConfigOutput) SetVpcConfig(v *VpcConfig) *DescribeEndpointConfigOutput { + s.VpcConfig = v + return s +} + type DescribeEndpointInput struct { _ struct{} `type:"structure"` @@ -58510,6 +61101,186 @@ func (s *DescribeImageVersionOutput) SetVersion(v int64) *DescribeImageVersionOu return s } +type DescribeInferenceComponentInput struct { + _ struct{} `type:"structure"` + + // The name of the inference component. + // + // InferenceComponentName is a required field + InferenceComponentName *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeInferenceComponentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeInferenceComponentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeInferenceComponentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeInferenceComponentInput"} + if s.InferenceComponentName == nil { + invalidParams.Add(request.NewErrParamRequired("InferenceComponentName")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInferenceComponentName sets the InferenceComponentName field's value. +func (s *DescribeInferenceComponentInput) SetInferenceComponentName(v string) *DescribeInferenceComponentInput { + s.InferenceComponentName = &v + return s +} + +type DescribeInferenceComponentOutput struct { + _ struct{} `type:"structure"` + + // The time when the inference component was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) of the endpoint that hosts the inference component. + // + // EndpointArn is a required field + EndpointArn *string `min:"20" type:"string" required:"true"` + + // The name of the endpoint that hosts the inference component. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` + + // If the inference component status is Failed, the reason for the failure. + FailureReason *string `type:"string"` + + // The Amazon Resource Name (ARN) of the inference component. + // + // InferenceComponentArn is a required field + InferenceComponentArn *string `min:"20" type:"string" required:"true"` + + // The name of the inference component. + // + // InferenceComponentName is a required field + InferenceComponentName *string `type:"string" required:"true"` + + // The status of the inference component. + InferenceComponentStatus *string `type:"string" enum:"InferenceComponentStatus"` + + // The time when the inference component was last updated. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // Details about the runtime settings for the model that is deployed with the + // inference component. + RuntimeConfig *InferenceComponentRuntimeConfigSummary `type:"structure"` + + // Details about the resources that are deployed with this inference component. + Specification *InferenceComponentSpecificationSummary `type:"structure"` + + // The name of the production variant that hosts the inference component. + VariantName *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeInferenceComponentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeInferenceComponentOutput) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *DescribeInferenceComponentOutput) SetCreationTime(v time.Time) *DescribeInferenceComponentOutput { + s.CreationTime = &v + return s +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *DescribeInferenceComponentOutput) SetEndpointArn(v string) *DescribeInferenceComponentOutput { + s.EndpointArn = &v + return s +} + +// SetEndpointName sets the EndpointName field's value. +func (s *DescribeInferenceComponentOutput) SetEndpointName(v string) *DescribeInferenceComponentOutput { + s.EndpointName = &v + return s +} + +// SetFailureReason sets the FailureReason field's value. +func (s *DescribeInferenceComponentOutput) SetFailureReason(v string) *DescribeInferenceComponentOutput { + s.FailureReason = &v + return s +} + +// SetInferenceComponentArn sets the InferenceComponentArn field's value. +func (s *DescribeInferenceComponentOutput) SetInferenceComponentArn(v string) *DescribeInferenceComponentOutput { + s.InferenceComponentArn = &v + return s +} + +// SetInferenceComponentName sets the InferenceComponentName field's value. +func (s *DescribeInferenceComponentOutput) SetInferenceComponentName(v string) *DescribeInferenceComponentOutput { + s.InferenceComponentName = &v + return s +} + +// SetInferenceComponentStatus sets the InferenceComponentStatus field's value. +func (s *DescribeInferenceComponentOutput) SetInferenceComponentStatus(v string) *DescribeInferenceComponentOutput { + s.InferenceComponentStatus = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *DescribeInferenceComponentOutput) SetLastModifiedTime(v time.Time) *DescribeInferenceComponentOutput { + s.LastModifiedTime = &v + return s +} + +// SetRuntimeConfig sets the RuntimeConfig field's value. +func (s *DescribeInferenceComponentOutput) SetRuntimeConfig(v *InferenceComponentRuntimeConfigSummary) *DescribeInferenceComponentOutput { + s.RuntimeConfig = v + return s +} + +// SetSpecification sets the Specification field's value. +func (s *DescribeInferenceComponentOutput) SetSpecification(v *InferenceComponentSpecificationSummary) *DescribeInferenceComponentOutput { + s.Specification = v + return s +} + +// SetVariantName sets the VariantName field's value. +func (s *DescribeInferenceComponentOutput) SetVariantName(v string) *DescribeInferenceComponentOutput { + s.VariantName = &v + return s +} + type DescribeInferenceExperimentInput struct { _ struct{} `type:"structure"` @@ -60294,9 +63065,7 @@ type DescribeModelOutput struct { // The Amazon Resource Name (ARN) of the IAM role that you specified for the // model. - // - // ExecutionRoleArn is a required field - ExecutionRoleArn *string `min:"20" type:"string" required:"true"` + ExecutionRoleArn *string `min:"20" type:"string"` // Specifies details of how containers in a multi-container endpoint are called. InferenceExecutionConfig *InferenceExecutionConfig `type:"structure"` @@ -62682,6 +65451,19 @@ type DescribeSpaceOutput struct { // The status. Status *string `type:"string" enum:"SpaceStatus"` + + // Returns the URL of the space. If the space is created with Amazon Web Services + // IAM Identity Center (Successor to Amazon Web Services Single Sign-On) authentication, + // users can navigate to the URL after appending the respective redirect parameter + // for the application type to be federated through Amazon Web Services IAM + // Identity Center. + // + // The following application types are supported: + // + // * Studio Classic: &redirect=JupyterServer + // + // * JupyterLab: &redirect=JupyterLab + Url *string `type:"string"` } // String returns the string representation. @@ -62756,10 +65538,16 @@ func (s *DescribeSpaceOutput) SetStatus(v string) *DescribeSpaceOutput { return s } +// SetUrl sets the Url field's value. +func (s *DescribeSpaceOutput) SetUrl(v string) *DescribeSpaceOutput { + s.Url = &v + return s +} + type DescribeStudioLifecycleConfigInput struct { _ struct{} `type:"structure"` - // The name of the Studio Lifecycle Configuration to describe. + // The name of the Amazon SageMaker Studio Lifecycle Configuration to describe. // // StudioLifecycleConfigName is a required field StudioLifecycleConfigName *string `type:"string" required:"true"` @@ -62805,11 +65593,11 @@ func (s *DescribeStudioLifecycleConfigInput) SetStudioLifecycleConfigName(v stri type DescribeStudioLifecycleConfigOutput struct { _ struct{} `type:"structure"` - // The creation time of the Studio Lifecycle Configuration. + // The creation time of the Amazon SageMaker Studio Lifecycle Configuration. CreationTime *time.Time `type:"timestamp"` - // This value is equivalent to CreationTime because Studio Lifecycle Configurations - // are immutable. + // This value is equivalent to CreationTime because Amazon SageMaker Studio + // Lifecycle Configurations are immutable. LastModifiedTime *time.Time `type:"timestamp"` // The App type that the Lifecycle Configuration is attached to. @@ -62818,10 +65606,10 @@ type DescribeStudioLifecycleConfigOutput struct { // The ARN of the Lifecycle Configuration to describe. StudioLifecycleConfigArn *string `type:"string"` - // The content of your Studio Lifecycle Configuration script. + // The content of your Amazon SageMaker Studio Lifecycle Configuration script. StudioLifecycleConfigContent *string `min:"1" type:"string"` - // The name of the Studio Lifecycle Configuration that is described. + // The name of the Amazon SageMaker Studio Lifecycle Configuration that is described. StudioLifecycleConfigName *string `type:"string"` } @@ -63098,6 +65886,10 @@ type DescribeTrainingJobOutput struct { // Algorithm-specific parameters. HyperParameters map[string]*string `type:"map"` + // Contains information about the infrastructure health check configuration + // for the training job. + InfraCheckConfig *InfraCheckConfig `type:"structure"` + // An array of Channel objects that describes each data input channel. InputDataConfig []*Channel `min:"1" type:"list"` @@ -63401,6 +66193,12 @@ func (s *DescribeTrainingJobOutput) SetHyperParameters(v map[string]*string) *De return s } +// SetInfraCheckConfig sets the InfraCheckConfig field's value. +func (s *DescribeTrainingJobOutput) SetInfraCheckConfig(v *InfraCheckConfig) *DescribeTrainingJobOutput { + s.InfraCheckConfig = v + return s +} + // SetInputDataConfig sets the InputDataConfig field's value. func (s *DescribeTrainingJobOutput) SetInputDataConfig(v []*Channel) *DescribeTrainingJobOutput { s.InputDataConfig = v @@ -74662,6 +77460,624 @@ func (s *ImportHubContentOutput) SetHubContentArn(v string) *ImportHubContentOut return s } +// Defines the compute resources to allocate to run a model that you assign +// to an inference component. These resources include CPU cores, accelerators, +// and memory. +type InferenceComponentComputeResourceRequirements struct { + _ struct{} `type:"structure"` + + // The maximum MB of memory to allocate to run a model that you assign to an + // inference component. + MaxMemoryRequiredInMb *int64 `min:"128" type:"integer"` + + // The minimum MB of memory to allocate to run a model that you assign to an + // inference component. + // + // MinMemoryRequiredInMb is a required field + MinMemoryRequiredInMb *int64 `min:"128" type:"integer" required:"true"` + + // The number of accelerators to allocate to run a model that you assign to + // an inference component. Accelerators include GPUs and Amazon Web Services + // Inferentia. + NumberOfAcceleratorDevicesRequired *float64 `min:"1" type:"float"` + + // The number of CPU cores to allocate to run a model that you assign to an + // inference component. + NumberOfCpuCoresRequired *float64 `min:"0.25" type:"float"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentComputeResourceRequirements) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentComputeResourceRequirements) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InferenceComponentComputeResourceRequirements) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InferenceComponentComputeResourceRequirements"} + if s.MaxMemoryRequiredInMb != nil && *s.MaxMemoryRequiredInMb < 128 { + invalidParams.Add(request.NewErrParamMinValue("MaxMemoryRequiredInMb", 128)) + } + if s.MinMemoryRequiredInMb == nil { + invalidParams.Add(request.NewErrParamRequired("MinMemoryRequiredInMb")) + } + if s.MinMemoryRequiredInMb != nil && *s.MinMemoryRequiredInMb < 128 { + invalidParams.Add(request.NewErrParamMinValue("MinMemoryRequiredInMb", 128)) + } + if s.NumberOfAcceleratorDevicesRequired != nil && *s.NumberOfAcceleratorDevicesRequired < 1 { + invalidParams.Add(request.NewErrParamMinValue("NumberOfAcceleratorDevicesRequired", 1)) + } + if s.NumberOfCpuCoresRequired != nil && *s.NumberOfCpuCoresRequired < 0.25 { + invalidParams.Add(request.NewErrParamMinValue("NumberOfCpuCoresRequired", 0.25)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxMemoryRequiredInMb sets the MaxMemoryRequiredInMb field's value. +func (s *InferenceComponentComputeResourceRequirements) SetMaxMemoryRequiredInMb(v int64) *InferenceComponentComputeResourceRequirements { + s.MaxMemoryRequiredInMb = &v + return s +} + +// SetMinMemoryRequiredInMb sets the MinMemoryRequiredInMb field's value. +func (s *InferenceComponentComputeResourceRequirements) SetMinMemoryRequiredInMb(v int64) *InferenceComponentComputeResourceRequirements { + s.MinMemoryRequiredInMb = &v + return s +} + +// SetNumberOfAcceleratorDevicesRequired sets the NumberOfAcceleratorDevicesRequired field's value. +func (s *InferenceComponentComputeResourceRequirements) SetNumberOfAcceleratorDevicesRequired(v float64) *InferenceComponentComputeResourceRequirements { + s.NumberOfAcceleratorDevicesRequired = &v + return s +} + +// SetNumberOfCpuCoresRequired sets the NumberOfCpuCoresRequired field's value. +func (s *InferenceComponentComputeResourceRequirements) SetNumberOfCpuCoresRequired(v float64) *InferenceComponentComputeResourceRequirements { + s.NumberOfCpuCoresRequired = &v + return s +} + +// Defines a container that provides the runtime environment for a model that +// you deploy with an inference component. +type InferenceComponentContainerSpecification struct { + _ struct{} `type:"structure"` + + // The Amazon S3 path where the model artifacts, which result from model training, + // are stored. This path must point to a single gzip compressed tar archive + // (.tar.gz suffix). + ArtifactUrl *string `type:"string"` + + // The environment variables to set in the Docker container. Each key and value + // in the Environment string-to-string map can have length of up to 1024. We + // support up to 16 entries in the map. + Environment map[string]*string `type:"map"` + + // The Amazon Elastic Container Registry (Amazon ECR) path where the Docker + // image for the model is stored. + Image *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentContainerSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentContainerSpecification) GoString() string { + return s.String() +} + +// SetArtifactUrl sets the ArtifactUrl field's value. +func (s *InferenceComponentContainerSpecification) SetArtifactUrl(v string) *InferenceComponentContainerSpecification { + s.ArtifactUrl = &v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *InferenceComponentContainerSpecification) SetEnvironment(v map[string]*string) *InferenceComponentContainerSpecification { + s.Environment = v + return s +} + +// SetImage sets the Image field's value. +func (s *InferenceComponentContainerSpecification) SetImage(v string) *InferenceComponentContainerSpecification { + s.Image = &v + return s +} + +// Details about the resources that are deployed with this inference component. +type InferenceComponentContainerSpecificationSummary struct { + _ struct{} `type:"structure"` + + // The Amazon S3 path where the model artifacts are stored. + ArtifactUrl *string `type:"string"` + + // Gets the Amazon EC2 Container Registry path of the docker image of the model + // that is hosted in this ProductionVariant (https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariant.html). + // + // If you used the registry/repository[:tag] form to specify the image path + // of the primary container when you created the model hosted in this ProductionVariant, + // the path resolves to a path of the form registry/repository[@digest]. A digest + // is a hash value that identifies a specific version of an image. For information + // about Amazon ECR paths, see Pulling an Image (https://docs.aws.amazon.com/AmazonECR/latest/userguide/docker-pull-ecr-image.html) + // in the Amazon ECR User Guide. + DeployedImage *DeployedImage `type:"structure"` + + // The environment variables to set in the Docker container. + Environment map[string]*string `type:"map"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentContainerSpecificationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentContainerSpecificationSummary) GoString() string { + return s.String() +} + +// SetArtifactUrl sets the ArtifactUrl field's value. +func (s *InferenceComponentContainerSpecificationSummary) SetArtifactUrl(v string) *InferenceComponentContainerSpecificationSummary { + s.ArtifactUrl = &v + return s +} + +// SetDeployedImage sets the DeployedImage field's value. +func (s *InferenceComponentContainerSpecificationSummary) SetDeployedImage(v *DeployedImage) *InferenceComponentContainerSpecificationSummary { + s.DeployedImage = v + return s +} + +// SetEnvironment sets the Environment field's value. +func (s *InferenceComponentContainerSpecificationSummary) SetEnvironment(v map[string]*string) *InferenceComponentContainerSpecificationSummary { + s.Environment = v + return s +} + +// Runtime settings for a model that is deployed with an inference component. +type InferenceComponentRuntimeConfig struct { + _ struct{} `type:"structure"` + + // The number of runtime copies of the model container to deploy with the inference + // component. Each copy can serve inference requests. + // + // CopyCount is a required field + CopyCount *int64 `type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentRuntimeConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentRuntimeConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InferenceComponentRuntimeConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InferenceComponentRuntimeConfig"} + if s.CopyCount == nil { + invalidParams.Add(request.NewErrParamRequired("CopyCount")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCopyCount sets the CopyCount field's value. +func (s *InferenceComponentRuntimeConfig) SetCopyCount(v int64) *InferenceComponentRuntimeConfig { + s.CopyCount = &v + return s +} + +// Details about the runtime settings for the model that is deployed with the +// inference component. +type InferenceComponentRuntimeConfigSummary struct { + _ struct{} `type:"structure"` + + // The number of runtime copies of the model container that are currently deployed. + CurrentCopyCount *int64 `type:"integer"` + + // The number of runtime copies of the model container that you requested to + // deploy with the inference component. + DesiredCopyCount *int64 `type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentRuntimeConfigSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentRuntimeConfigSummary) GoString() string { + return s.String() +} + +// SetCurrentCopyCount sets the CurrentCopyCount field's value. +func (s *InferenceComponentRuntimeConfigSummary) SetCurrentCopyCount(v int64) *InferenceComponentRuntimeConfigSummary { + s.CurrentCopyCount = &v + return s +} + +// SetDesiredCopyCount sets the DesiredCopyCount field's value. +func (s *InferenceComponentRuntimeConfigSummary) SetDesiredCopyCount(v int64) *InferenceComponentRuntimeConfigSummary { + s.DesiredCopyCount = &v + return s +} + +// Details about the resources to deploy with this inference component, including +// the model, container, and compute resources. +type InferenceComponentSpecification struct { + _ struct{} `type:"structure"` + + // The compute resources allocated to run the model assigned to the inference + // component. + // + // ComputeResourceRequirements is a required field + ComputeResourceRequirements *InferenceComponentComputeResourceRequirements `type:"structure" required:"true"` + + // Defines a container that provides the runtime environment for a model that + // you deploy with an inference component. + Container *InferenceComponentContainerSpecification `type:"structure"` + + // The name of an existing SageMaker model object in your account that you want + // to deploy with the inference component. + ModelName *string `type:"string"` + + // Settings that take effect while the model container starts up. + StartupParameters *InferenceComponentStartupParameters `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentSpecification) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentSpecification) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InferenceComponentSpecification) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InferenceComponentSpecification"} + if s.ComputeResourceRequirements == nil { + invalidParams.Add(request.NewErrParamRequired("ComputeResourceRequirements")) + } + if s.ComputeResourceRequirements != nil { + if err := s.ComputeResourceRequirements.Validate(); err != nil { + invalidParams.AddNested("ComputeResourceRequirements", err.(request.ErrInvalidParams)) + } + } + if s.StartupParameters != nil { + if err := s.StartupParameters.Validate(); err != nil { + invalidParams.AddNested("StartupParameters", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetComputeResourceRequirements sets the ComputeResourceRequirements field's value. +func (s *InferenceComponentSpecification) SetComputeResourceRequirements(v *InferenceComponentComputeResourceRequirements) *InferenceComponentSpecification { + s.ComputeResourceRequirements = v + return s +} + +// SetContainer sets the Container field's value. +func (s *InferenceComponentSpecification) SetContainer(v *InferenceComponentContainerSpecification) *InferenceComponentSpecification { + s.Container = v + return s +} + +// SetModelName sets the ModelName field's value. +func (s *InferenceComponentSpecification) SetModelName(v string) *InferenceComponentSpecification { + s.ModelName = &v + return s +} + +// SetStartupParameters sets the StartupParameters field's value. +func (s *InferenceComponentSpecification) SetStartupParameters(v *InferenceComponentStartupParameters) *InferenceComponentSpecification { + s.StartupParameters = v + return s +} + +// Details about the resources that are deployed with this inference component. +type InferenceComponentSpecificationSummary struct { + _ struct{} `type:"structure"` + + // The compute resources allocated to run the model assigned to the inference + // component. + ComputeResourceRequirements *InferenceComponentComputeResourceRequirements `type:"structure"` + + // Details about the container that provides the runtime environment for the + // model that is deployed with the inference component. + Container *InferenceComponentContainerSpecificationSummary `type:"structure"` + + // The name of the SageMaker model object that is deployed with the inference + // component. + ModelName *string `type:"string"` + + // Settings that take effect while the model container starts up. + StartupParameters *InferenceComponentStartupParameters `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentSpecificationSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentSpecificationSummary) GoString() string { + return s.String() +} + +// SetComputeResourceRequirements sets the ComputeResourceRequirements field's value. +func (s *InferenceComponentSpecificationSummary) SetComputeResourceRequirements(v *InferenceComponentComputeResourceRequirements) *InferenceComponentSpecificationSummary { + s.ComputeResourceRequirements = v + return s +} + +// SetContainer sets the Container field's value. +func (s *InferenceComponentSpecificationSummary) SetContainer(v *InferenceComponentContainerSpecificationSummary) *InferenceComponentSpecificationSummary { + s.Container = v + return s +} + +// SetModelName sets the ModelName field's value. +func (s *InferenceComponentSpecificationSummary) SetModelName(v string) *InferenceComponentSpecificationSummary { + s.ModelName = &v + return s +} + +// SetStartupParameters sets the StartupParameters field's value. +func (s *InferenceComponentSpecificationSummary) SetStartupParameters(v *InferenceComponentStartupParameters) *InferenceComponentSpecificationSummary { + s.StartupParameters = v + return s +} + +// Settings that take effect while the model container starts up. +type InferenceComponentStartupParameters struct { + _ struct{} `type:"structure"` + + // The timeout value, in seconds, for your inference container to pass health + // check by Amazon S3 Hosting. For more information about health check, see + // How Your Container Should Respond to Health Check (Ping) Requests (https://docs.aws.amazon.com/sagemaker/latest/dg/your-algorithms-inference-code.html#your-algorithms-inference-algo-ping-requests). + ContainerStartupHealthCheckTimeoutInSeconds *int64 `min:"60" type:"integer"` + + // The timeout value, in seconds, to download and extract the model that you + // want to host from Amazon S3 to the individual inference instance associated + // with this inference component. + ModelDataDownloadTimeoutInSeconds *int64 `min:"60" type:"integer"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentStartupParameters) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentStartupParameters) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InferenceComponentStartupParameters) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InferenceComponentStartupParameters"} + if s.ContainerStartupHealthCheckTimeoutInSeconds != nil && *s.ContainerStartupHealthCheckTimeoutInSeconds < 60 { + invalidParams.Add(request.NewErrParamMinValue("ContainerStartupHealthCheckTimeoutInSeconds", 60)) + } + if s.ModelDataDownloadTimeoutInSeconds != nil && *s.ModelDataDownloadTimeoutInSeconds < 60 { + invalidParams.Add(request.NewErrParamMinValue("ModelDataDownloadTimeoutInSeconds", 60)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetContainerStartupHealthCheckTimeoutInSeconds sets the ContainerStartupHealthCheckTimeoutInSeconds field's value. +func (s *InferenceComponentStartupParameters) SetContainerStartupHealthCheckTimeoutInSeconds(v int64) *InferenceComponentStartupParameters { + s.ContainerStartupHealthCheckTimeoutInSeconds = &v + return s +} + +// SetModelDataDownloadTimeoutInSeconds sets the ModelDataDownloadTimeoutInSeconds field's value. +func (s *InferenceComponentStartupParameters) SetModelDataDownloadTimeoutInSeconds(v int64) *InferenceComponentStartupParameters { + s.ModelDataDownloadTimeoutInSeconds = &v + return s +} + +// A summary of the properties of an inference component. +type InferenceComponentSummary struct { + _ struct{} `type:"structure"` + + // The time when the inference component was created. + // + // CreationTime is a required field + CreationTime *time.Time `type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) of the endpoint that hosts the inference component. + // + // EndpointArn is a required field + EndpointArn *string `min:"20" type:"string" required:"true"` + + // The name of the endpoint that hosts the inference component. + // + // EndpointName is a required field + EndpointName *string `type:"string" required:"true"` + + // The Amazon Resource Name (ARN) of the inference component. + // + // InferenceComponentArn is a required field + InferenceComponentArn *string `min:"20" type:"string" required:"true"` + + // The name of the inference component. + // + // InferenceComponentName is a required field + InferenceComponentName *string `type:"string" required:"true"` + + // The status of the inference component. + InferenceComponentStatus *string `type:"string" enum:"InferenceComponentStatus"` + + // The time when the inference component was last updated. + // + // LastModifiedTime is a required field + LastModifiedTime *time.Time `type:"timestamp" required:"true"` + + // The name of the production variant that hosts the inference component. + // + // VariantName is a required field + VariantName *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentSummary) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InferenceComponentSummary) GoString() string { + return s.String() +} + +// SetCreationTime sets the CreationTime field's value. +func (s *InferenceComponentSummary) SetCreationTime(v time.Time) *InferenceComponentSummary { + s.CreationTime = &v + return s +} + +// SetEndpointArn sets the EndpointArn field's value. +func (s *InferenceComponentSummary) SetEndpointArn(v string) *InferenceComponentSummary { + s.EndpointArn = &v + return s +} + +// SetEndpointName sets the EndpointName field's value. +func (s *InferenceComponentSummary) SetEndpointName(v string) *InferenceComponentSummary { + s.EndpointName = &v + return s +} + +// SetInferenceComponentArn sets the InferenceComponentArn field's value. +func (s *InferenceComponentSummary) SetInferenceComponentArn(v string) *InferenceComponentSummary { + s.InferenceComponentArn = &v + return s +} + +// SetInferenceComponentName sets the InferenceComponentName field's value. +func (s *InferenceComponentSummary) SetInferenceComponentName(v string) *InferenceComponentSummary { + s.InferenceComponentName = &v + return s +} + +// SetInferenceComponentStatus sets the InferenceComponentStatus field's value. +func (s *InferenceComponentSummary) SetInferenceComponentStatus(v string) *InferenceComponentSummary { + s.InferenceComponentStatus = &v + return s +} + +// SetLastModifiedTime sets the LastModifiedTime field's value. +func (s *InferenceComponentSummary) SetLastModifiedTime(v time.Time) *InferenceComponentSummary { + s.LastModifiedTime = &v + return s +} + +// SetVariantName sets the VariantName field's value. +func (s *InferenceComponentSummary) SetVariantName(v string) *InferenceComponentSummary { + s.VariantName = &v + return s +} + // Specifies details about how containers in a multi-container endpoint are // run. type InferenceExecutionConfig struct { @@ -75422,6 +78838,40 @@ func (s *InferenceSpecification) SetSupportedTransformInstanceTypes(v []*string) return s } +// Configuration information for the infrastructure health check of a training +// job. A SageMaker-provided health check tests the health of instance hardware +// and cluster network connectivity. +type InfraCheckConfig struct { + _ struct{} `type:"structure"` + + // Enables an infrastructure health check. + EnableInfraCheck *bool `type:"boolean"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InfraCheckConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InfraCheckConfig) GoString() string { + return s.String() +} + +// SetEnableInfraCheck sets the EnableInfraCheck field's value. +func (s *InfraCheckConfig) SetEnableInfraCheck(v bool) *InfraCheckConfig { + s.EnableInfraCheck = &v + return s +} + // Contains information about the location of input model artifacts, the name // and shape of the expected data inputs, and the framework in which the model // was trained. @@ -75967,6 +79417,11 @@ func (s *JupyterServerAppSettings) Validate() error { } } } + if s.DefaultResourceSpec != nil { + if err := s.DefaultResourceSpec.Validate(); err != nil { + invalidParams.AddNested("DefaultResourceSpec", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -76082,6 +79537,11 @@ func (s *KernelGatewayAppSettings) Validate() error { } } } + if s.DefaultResourceSpec != nil { + if err := s.DefaultResourceSpec.Validate(); err != nil { + invalidParams.AddNested("DefaultResourceSpec", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -76847,11 +80307,10 @@ type LabelingJobResourceConfig struct { // * Amazon Resource Name (ARN) of a KMS Key "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" VolumeKmsKeyId *string `type:"string"` - // Specifies a VPC that your training jobs and hosted models have access to. - // Control access to and from your training and model containers by configuring - // the VPC. For more information, see Protect Endpoints by Using an Amazon Virtual - // Private Cloud (https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) - // and Protect Training Jobs by Using an Amazon Virtual Private Cloud (https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html). + // Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, + // hosted models, and compute resources have access to. You can control access + // to and from your resources by configuring a VPC. For more information, see + // Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). VpcConfig *VpcConfig `type:"structure"` } @@ -78765,6 +82224,354 @@ func (s *ListCandidatesForAutoMLJobOutput) SetNextToken(v string) *ListCandidate return s } +type ListClusterNodesInput struct { + _ struct{} `type:"structure"` + + // The string name or the Amazon Resource Name (ARN) of the SageMaker HyperPod + // cluster in which you want to retrieve the list of nodes. + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` + + // A filter that returns nodes in a SageMaker HyperPod cluster created after + // the specified time. Timestamps are formatted according to the ISO 8601 standard. + // + // Acceptable formats include: + // + // * YYYY-MM-DDThh:mm:ss.sssTZD (UTC), for example, 2014-10-01T20:30:00.000Z + // + // * YYYY-MM-DDThh:mm:ss.sssTZD (with offset), for example, 2014-10-01T12:30:00.000-08:00 + // + // * YYYY-MM-DD, for example, 2014-10-01 + // + // * Unix time in seconds, for example, 1412195400. This is also referred + // to as Unix Epoch time and represents the number of seconds since midnight, + // January 1, 1970 UTC. + // + // For more information about the timestamp format, see Timestamp (https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-types.html#parameter-type-timestamp) + // in the Amazon Web Services Command Line Interface User Guide. + CreationTimeAfter *time.Time `type:"timestamp"` + + // A filter that returns nodes in a SageMaker HyperPod cluster created before + // the specified time. The acceptable formats are the same as the timestamp + // formats for CreationTimeAfter. For more information about the timestamp format, + // see Timestamp (https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-types.html#parameter-type-timestamp) + // in the Amazon Web Services Command Line Interface User Guide. + CreationTimeBefore *time.Time `type:"timestamp"` + + // A filter that returns the instance groups whose name contain a specified + // string. + InstanceGroupNameContains *string `min:"1" type:"string"` + + // The maximum number of nodes to return in the response. + MaxResults *int64 `min:"1" type:"integer"` + + // If the result of the previous ListClusterNodes request was truncated, the + // response includes a NextToken. To retrieve the next set of cluster nodes, + // use the token in the next request. + NextToken *string `type:"string"` + + // The field by which to sort results. The default value is CREATION_TIME. + SortBy *string `type:"string" enum:"ClusterSortBy"` + + // The sort order for results. The default value is Ascending. + SortOrder *string `type:"string" enum:"SortOrder"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListClusterNodesInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListClusterNodesInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListClusterNodesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListClusterNodesInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.InstanceGroupNameContains != nil && len(*s.InstanceGroupNameContains) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceGroupNameContains", 1)) + } + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterName sets the ClusterName field's value. +func (s *ListClusterNodesInput) SetClusterName(v string) *ListClusterNodesInput { + s.ClusterName = &v + return s +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListClusterNodesInput) SetCreationTimeAfter(v time.Time) *ListClusterNodesInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListClusterNodesInput) SetCreationTimeBefore(v time.Time) *ListClusterNodesInput { + s.CreationTimeBefore = &v + return s +} + +// SetInstanceGroupNameContains sets the InstanceGroupNameContains field's value. +func (s *ListClusterNodesInput) SetInstanceGroupNameContains(v string) *ListClusterNodesInput { + s.InstanceGroupNameContains = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListClusterNodesInput) SetMaxResults(v int64) *ListClusterNodesInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListClusterNodesInput) SetNextToken(v string) *ListClusterNodesInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListClusterNodesInput) SetSortBy(v string) *ListClusterNodesInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListClusterNodesInput) SetSortOrder(v string) *ListClusterNodesInput { + s.SortOrder = &v + return s +} + +type ListClusterNodesOutput struct { + _ struct{} `type:"structure"` + + // The summaries of listed instances in a SageMaker HyperPod cluster + // + // ClusterNodeSummaries is a required field + ClusterNodeSummaries []*ClusterNodeSummary `type:"list" required:"true"` + + // The next token specified for listing instances in a SageMaker HyperPod cluster. + // + // NextToken is a required field + NextToken *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListClusterNodesOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListClusterNodesOutput) GoString() string { + return s.String() +} + +// SetClusterNodeSummaries sets the ClusterNodeSummaries field's value. +func (s *ListClusterNodesOutput) SetClusterNodeSummaries(v []*ClusterNodeSummary) *ListClusterNodesOutput { + s.ClusterNodeSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListClusterNodesOutput) SetNextToken(v string) *ListClusterNodesOutput { + s.NextToken = &v + return s +} + +type ListClustersInput struct { + _ struct{} `type:"structure"` + + // Set a start time for the time range during which you want to list SageMaker + // HyperPod clusters. Timestamps are formatted according to the ISO 8601 standard. + // + // Acceptable formats include: + // + // * YYYY-MM-DDThh:mm:ss.sssTZD (UTC), for example, 2014-10-01T20:30:00.000Z + // + // * YYYY-MM-DDThh:mm:ss.sssTZD (with offset), for example, 2014-10-01T12:30:00.000-08:00 + // + // * YYYY-MM-DD, for example, 2014-10-01 + // + // * Unix time in seconds, for example, 1412195400. This is also referred + // to as Unix Epoch time and represents the number of seconds since midnight, + // January 1, 1970 UTC. + // + // For more information about the timestamp format, see Timestamp (https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-types.html#parameter-type-timestamp) + // in the Amazon Web Services Command Line Interface User Guide. + CreationTimeAfter *time.Time `type:"timestamp"` + + // Set an end time for the time range during which you want to list SageMaker + // HyperPod clusters. A filter that returns nodes in a SageMaker HyperPod cluster + // created before the specified time. The acceptable formats are the same as + // the timestamp formats for CreationTimeAfter. For more information about the + // timestamp format, see Timestamp (https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-types.html#parameter-type-timestamp) + // in the Amazon Web Services Command Line Interface User Guide. + CreationTimeBefore *time.Time `type:"timestamp"` + + // Set the maximum number of SageMaker HyperPod clusters to list. + MaxResults *int64 `min:"1" type:"integer"` + + // Set the maximum number of instances to print in the list. + NameContains *string `type:"string"` + + // Set the next token to retrieve the list of SageMaker HyperPod clusters. + NextToken *string `type:"string"` + + // The field by which to sort results. The default value is CREATION_TIME. + SortBy *string `type:"string" enum:"ClusterSortBy"` + + // The sort order for results. The default value is Ascending. + SortOrder *string `type:"string" enum:"SortOrder"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListClustersInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListClustersInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListClustersInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListClustersInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListClustersInput) SetCreationTimeAfter(v time.Time) *ListClustersInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListClustersInput) SetCreationTimeBefore(v time.Time) *ListClustersInput { + s.CreationTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListClustersInput) SetMaxResults(v int64) *ListClustersInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListClustersInput) SetNameContains(v string) *ListClustersInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListClustersInput) SetNextToken(v string) *ListClustersInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListClustersInput) SetSortBy(v string) *ListClustersInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListClustersInput) SetSortOrder(v string) *ListClustersInput { + s.SortOrder = &v + return s +} + +type ListClustersOutput struct { + _ struct{} `type:"structure"` + + // The summaries of listed SageMaker HyperPod clusters. + // + // ClusterSummaries is a required field + ClusterSummaries []*ClusterSummary `type:"list" required:"true"` + + // If the result of the previous ListClusters request was truncated, the response + // includes a NextToken. To retrieve the next set of clusters, use the token + // in the next request. + // + // NextToken is a required field + NextToken *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListClustersOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListClustersOutput) GoString() string { + return s.String() +} + +// SetClusterSummaries sets the ClusterSummaries field's value. +func (s *ListClustersOutput) SetClusterSummaries(v []*ClusterSummary) *ListClustersOutput { + s.ClusterSummaries = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListClustersOutput) SetNextToken(v string) *ListClustersOutput { + s.NextToken = &v + return s +} + type ListCodeRepositoriesInput struct { _ struct{} `type:"structure"` @@ -82043,6 +85850,207 @@ func (s *ListImagesOutput) SetNextToken(v string) *ListImagesOutput { return s } +type ListInferenceComponentsInput struct { + _ struct{} `type:"structure"` + + // Filters the results to only those inference components that were created + // after the specified time. + CreationTimeAfter *time.Time `type:"timestamp"` + + // Filters the results to only those inference components that were created + // before the specified time. + CreationTimeBefore *time.Time `type:"timestamp"` + + // An endpoint name to filter the listed inference components. The response + // includes only those inference components that are hosted at the specified + // endpoint. + EndpointNameEquals *string `type:"string"` + + // Filters the results to only those inference components that were updated + // after the specified time. + LastModifiedTimeAfter *time.Time `type:"timestamp"` + + // Filters the results to only those inference components that were updated + // before the specified time. + LastModifiedTimeBefore *time.Time `type:"timestamp"` + + // The maximum number of inference components to return in the response. This + // value defaults to 10. + MaxResults *int64 `min:"1" type:"integer"` + + // Filters the results to only those inference components with a name that contains + // the specified string. + NameContains *string `type:"string"` + + // A token that you use to get the next set of results following a truncated + // response. If the response to the previous request was truncated, that response + // provides the value for this token. + NextToken *string `type:"string"` + + // The field by which to sort the inference components in the response. The + // default is CreationTime. + SortBy *string `type:"string" enum:"InferenceComponentSortKey"` + + // The sort order for results. The default is Descending. + SortOrder *string `type:"string" enum:"OrderKey"` + + // Filters the results to only those inference components with the specified + // status. + StatusEquals *string `type:"string" enum:"InferenceComponentStatus"` + + // A production variant name to filter the listed inference components. The + // response includes only those inference components that are hosted at the + // specified variant. + VariantNameEquals *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListInferenceComponentsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListInferenceComponentsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListInferenceComponentsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListInferenceComponentsInput"} + if s.MaxResults != nil && *s.MaxResults < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetCreationTimeAfter sets the CreationTimeAfter field's value. +func (s *ListInferenceComponentsInput) SetCreationTimeAfter(v time.Time) *ListInferenceComponentsInput { + s.CreationTimeAfter = &v + return s +} + +// SetCreationTimeBefore sets the CreationTimeBefore field's value. +func (s *ListInferenceComponentsInput) SetCreationTimeBefore(v time.Time) *ListInferenceComponentsInput { + s.CreationTimeBefore = &v + return s +} + +// SetEndpointNameEquals sets the EndpointNameEquals field's value. +func (s *ListInferenceComponentsInput) SetEndpointNameEquals(v string) *ListInferenceComponentsInput { + s.EndpointNameEquals = &v + return s +} + +// SetLastModifiedTimeAfter sets the LastModifiedTimeAfter field's value. +func (s *ListInferenceComponentsInput) SetLastModifiedTimeAfter(v time.Time) *ListInferenceComponentsInput { + s.LastModifiedTimeAfter = &v + return s +} + +// SetLastModifiedTimeBefore sets the LastModifiedTimeBefore field's value. +func (s *ListInferenceComponentsInput) SetLastModifiedTimeBefore(v time.Time) *ListInferenceComponentsInput { + s.LastModifiedTimeBefore = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListInferenceComponentsInput) SetMaxResults(v int64) *ListInferenceComponentsInput { + s.MaxResults = &v + return s +} + +// SetNameContains sets the NameContains field's value. +func (s *ListInferenceComponentsInput) SetNameContains(v string) *ListInferenceComponentsInput { + s.NameContains = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInferenceComponentsInput) SetNextToken(v string) *ListInferenceComponentsInput { + s.NextToken = &v + return s +} + +// SetSortBy sets the SortBy field's value. +func (s *ListInferenceComponentsInput) SetSortBy(v string) *ListInferenceComponentsInput { + s.SortBy = &v + return s +} + +// SetSortOrder sets the SortOrder field's value. +func (s *ListInferenceComponentsInput) SetSortOrder(v string) *ListInferenceComponentsInput { + s.SortOrder = &v + return s +} + +// SetStatusEquals sets the StatusEquals field's value. +func (s *ListInferenceComponentsInput) SetStatusEquals(v string) *ListInferenceComponentsInput { + s.StatusEquals = &v + return s +} + +// SetVariantNameEquals sets the VariantNameEquals field's value. +func (s *ListInferenceComponentsInput) SetVariantNameEquals(v string) *ListInferenceComponentsInput { + s.VariantNameEquals = &v + return s +} + +type ListInferenceComponentsOutput struct { + _ struct{} `type:"structure"` + + // A list of inference components and their properties that matches any of the + // filters you specified in the request. + // + // InferenceComponents is a required field + InferenceComponents []*InferenceComponentSummary `type:"list" required:"true"` + + // The token to use in a subsequent request to get the next set of results following + // a truncated response. + NextToken *string `type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListInferenceComponentsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListInferenceComponentsOutput) GoString() string { + return s.String() +} + +// SetInferenceComponents sets the InferenceComponents field's value. +func (s *ListInferenceComponentsOutput) SetInferenceComponents(v []*InferenceComponentSummary) *ListInferenceComponentsOutput { + s.InferenceComponents = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListInferenceComponentsOutput) SetNextToken(v string) *ListInferenceComponentsOutput { + s.NextToken = &v + return s +} + type ListInferenceExperimentsInput struct { _ struct{} `type:"structure"` @@ -89013,11 +93021,10 @@ type Model struct { // in the Amazon Web Services General Reference Guide. Tags []*Tag `type:"list"` - // Specifies a VPC that your training jobs and hosted models have access to. - // Control access to and from your training and model containers by configuring - // the VPC. For more information, see Protect Endpoints by Using an Amazon Virtual - // Private Cloud (https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) - // and Protect Training Jobs by Using an Amazon Virtual Private Cloud (https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html). + // Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, + // hosted models, and compute resources have access to. You can control access + // to and from your resources by configuring a VPC. For more information, see + // Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). VpcConfig *VpcConfig `type:"structure"` } @@ -94086,11 +98093,10 @@ type MonitoringNetworkConfig struct { // used for the monitoring job. EnableNetworkIsolation *bool `type:"boolean"` - // Specifies a VPC that your training jobs and hosted models have access to. - // Control access to and from your training and model containers by configuring - // the VPC. For more information, see Protect Endpoints by Using an Amazon Virtual - // Private Cloud (https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) - // and Protect Training Jobs by Using an Amazon Virtual Private Cloud (https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html). + // Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, + // hosted models, and compute resources have access to. You can control access + // to and from your resources by configuring a VPC. For more information, see + // Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). VpcConfig *VpcConfig `type:"structure"` } @@ -95043,11 +99049,10 @@ type NetworkConfig struct { // used for the processing job. EnableNetworkIsolation *bool `type:"boolean"` - // Specifies a VPC that your training jobs and hosted models have access to. - // Control access to and from your training and model containers by configuring - // the VPC. For more information, see Protect Endpoints by Using an Amazon Virtual - // Private Cloud (https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) - // and Protect Training Jobs by Using an Amazon Virtual Private Cloud (https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html). + // Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, + // hosted models, and compute resources have access to. You can control access + // to and from your resources by configuring a VPC. For more information, see + // Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). VpcConfig *VpcConfig `type:"structure"` } @@ -96961,6 +100966,14 @@ type PendingProductionVariantSummary struct { // The type of instances associated with the variant. InstanceType *string `type:"string" enum:"ProductionVariantInstanceType"` + // Settings that control the range in the number of instances that the endpoint + // provisions as it scales up or down to accommodate traffic. + ManagedInstanceScaling *ProductionVariantManagedInstanceScaling `type:"structure"` + + // Settings that control how the endpoint routes incoming traffic to the instances + // that the endpoint hosts. + RoutingConfig *ProductionVariantRoutingConfig `type:"structure"` + // The name of the variant. // // VariantName is a required field @@ -97043,6 +101056,18 @@ func (s *PendingProductionVariantSummary) SetInstanceType(v string) *PendingProd return s } +// SetManagedInstanceScaling sets the ManagedInstanceScaling field's value. +func (s *PendingProductionVariantSummary) SetManagedInstanceScaling(v *ProductionVariantManagedInstanceScaling) *PendingProductionVariantSummary { + s.ManagedInstanceScaling = v + return s +} + +// SetRoutingConfig sets the RoutingConfig field's value. +func (s *PendingProductionVariantSummary) SetRoutingConfig(v *ProductionVariantRoutingConfig) *PendingProductionVariantSummary { + s.RoutingConfig = v + return s +} + // SetVariantName sets the VariantName field's value. func (s *PendingProductionVariantSummary) SetVariantName(v string) *PendingProductionVariantSummary { s.VariantName = &v @@ -99195,6 +103220,10 @@ type ProductionVariant struct { // The ML compute instance type. InstanceType *string `type:"string" enum:"ProductionVariantInstanceType"` + // Settings that control the range in the number of instances that the endpoint + // provisions as it scales up or down to accommodate traffic. + ManagedInstanceScaling *ProductionVariantManagedInstanceScaling `type:"structure"` + // The timeout value, in seconds, to download and extract the model that you // want to host from Amazon S3 to the individual inference instance associated // with this production variant. @@ -99202,9 +103231,11 @@ type ProductionVariant struct { // The name of the model that you want to host. This is the name that you specified // when creating the model. - // - // ModelName is a required field - ModelName *string `type:"string" required:"true"` + ModelName *string `type:"string"` + + // Settings that control how the endpoint routes incoming traffic to the instances + // that the endpoint hosts. + RoutingConfig *ProductionVariantRoutingConfig `type:"structure"` // The serverless configuration for an endpoint. Specifies a serverless endpoint // configuration instead of an instance-based endpoint configuration. @@ -99251,9 +103282,6 @@ func (s *ProductionVariant) Validate() error { if s.ModelDataDownloadTimeoutInSeconds != nil && *s.ModelDataDownloadTimeoutInSeconds < 60 { invalidParams.Add(request.NewErrParamMinValue("ModelDataDownloadTimeoutInSeconds", 60)) } - if s.ModelName == nil { - invalidParams.Add(request.NewErrParamRequired("ModelName")) - } if s.VariantName == nil { invalidParams.Add(request.NewErrParamRequired("VariantName")) } @@ -99265,6 +103293,16 @@ func (s *ProductionVariant) Validate() error { invalidParams.AddNested("CoreDumpConfig", err.(request.ErrInvalidParams)) } } + if s.ManagedInstanceScaling != nil { + if err := s.ManagedInstanceScaling.Validate(); err != nil { + invalidParams.AddNested("ManagedInstanceScaling", err.(request.ErrInvalidParams)) + } + } + if s.RoutingConfig != nil { + if err := s.RoutingConfig.Validate(); err != nil { + invalidParams.AddNested("RoutingConfig", err.(request.ErrInvalidParams)) + } + } if s.ServerlessConfig != nil { if err := s.ServerlessConfig.Validate(); err != nil { invalidParams.AddNested("ServerlessConfig", err.(request.ErrInvalidParams)) @@ -99319,6 +103357,12 @@ func (s *ProductionVariant) SetInstanceType(v string) *ProductionVariant { return s } +// SetManagedInstanceScaling sets the ManagedInstanceScaling field's value. +func (s *ProductionVariant) SetManagedInstanceScaling(v *ProductionVariantManagedInstanceScaling) *ProductionVariant { + s.ManagedInstanceScaling = v + return s +} + // SetModelDataDownloadTimeoutInSeconds sets the ModelDataDownloadTimeoutInSeconds field's value. func (s *ProductionVariant) SetModelDataDownloadTimeoutInSeconds(v int64) *ProductionVariant { s.ModelDataDownloadTimeoutInSeconds = &v @@ -99331,6 +103375,12 @@ func (s *ProductionVariant) SetModelName(v string) *ProductionVariant { return s } +// SetRoutingConfig sets the RoutingConfig field's value. +func (s *ProductionVariant) SetRoutingConfig(v *ProductionVariantRoutingConfig) *ProductionVariant { + s.RoutingConfig = v + return s +} + // SetServerlessConfig sets the ServerlessConfig field's value. func (s *ProductionVariant) SetServerlessConfig(v *ProductionVariantServerlessConfig) *ProductionVariant { s.ServerlessConfig = v @@ -99431,6 +103481,128 @@ func (s *ProductionVariantCoreDumpConfig) SetKmsKeyId(v string) *ProductionVaria return s } +// Settings that control the range in the number of instances that the endpoint +// provisions as it scales up or down to accommodate traffic. +type ProductionVariantManagedInstanceScaling struct { + _ struct{} `type:"structure"` + + // The maximum number of instances that the endpoint can provision when it scales + // up to accommodate an increase in traffic. + MaxInstanceCount *int64 `min:"1" type:"integer"` + + // The minimum number of instances that the endpoint must retain when it scales + // down to accommodate a decrease in traffic. + MinInstanceCount *int64 `min:"1" type:"integer"` + + // Indicates whether managed instance scaling is enabled. + Status *string `type:"string" enum:"ManagedInstanceScalingStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProductionVariantManagedInstanceScaling) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProductionVariantManagedInstanceScaling) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProductionVariantManagedInstanceScaling) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProductionVariantManagedInstanceScaling"} + if s.MaxInstanceCount != nil && *s.MaxInstanceCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("MaxInstanceCount", 1)) + } + if s.MinInstanceCount != nil && *s.MinInstanceCount < 1 { + invalidParams.Add(request.NewErrParamMinValue("MinInstanceCount", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMaxInstanceCount sets the MaxInstanceCount field's value. +func (s *ProductionVariantManagedInstanceScaling) SetMaxInstanceCount(v int64) *ProductionVariantManagedInstanceScaling { + s.MaxInstanceCount = &v + return s +} + +// SetMinInstanceCount sets the MinInstanceCount field's value. +func (s *ProductionVariantManagedInstanceScaling) SetMinInstanceCount(v int64) *ProductionVariantManagedInstanceScaling { + s.MinInstanceCount = &v + return s +} + +// SetStatus sets the Status field's value. +func (s *ProductionVariantManagedInstanceScaling) SetStatus(v string) *ProductionVariantManagedInstanceScaling { + s.Status = &v + return s +} + +// Settings that control how the endpoint routes incoming traffic to the instances +// that the endpoint hosts. +type ProductionVariantRoutingConfig struct { + _ struct{} `type:"structure"` + + // Sets how the endpoint routes incoming traffic: + // + // * LEAST_OUTSTANDING_REQUESTS: The endpoint routes requests to the specific + // instances that have more capacity to process them. + // + // * RANDOM: The endpoint routes each request to a randomly chosen instance. + // + // RoutingStrategy is a required field + RoutingStrategy *string `type:"string" required:"true" enum:"RoutingStrategy"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProductionVariantRoutingConfig) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ProductionVariantRoutingConfig) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ProductionVariantRoutingConfig) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ProductionVariantRoutingConfig"} + if s.RoutingStrategy == nil { + invalidParams.Add(request.NewErrParamRequired("RoutingStrategy")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetRoutingStrategy sets the RoutingStrategy field's value. +func (s *ProductionVariantRoutingConfig) SetRoutingStrategy(v string) *ProductionVariantRoutingConfig { + s.RoutingStrategy = &v + return s +} + // Specifies the serverless configuration for an endpoint variant. type ProductionVariantServerlessConfig struct { _ struct{} `type:"structure"` @@ -99672,6 +103844,14 @@ type ProductionVariantSummary struct { // request. DesiredWeight *float64 `type:"float"` + // Settings that control the range in the number of instances that the endpoint + // provisions as it scales up or down to accommodate traffic. + ManagedInstanceScaling *ProductionVariantManagedInstanceScaling `type:"structure"` + + // Settings that control how the endpoint routes incoming traffic to the instances + // that the endpoint hosts. + RoutingConfig *ProductionVariantRoutingConfig `type:"structure"` + // The name of the variant. // // VariantName is a required field @@ -99742,6 +103922,18 @@ func (s *ProductionVariantSummary) SetDesiredWeight(v float64) *ProductionVarian return s } +// SetManagedInstanceScaling sets the ManagedInstanceScaling field's value. +func (s *ProductionVariantSummary) SetManagedInstanceScaling(v *ProductionVariantManagedInstanceScaling) *ProductionVariantSummary { + s.ManagedInstanceScaling = v + return s +} + +// SetRoutingConfig sets the RoutingConfig field's value. +func (s *ProductionVariantSummary) SetRoutingConfig(v *ProductionVariantRoutingConfig) *ProductionVariantSummary { + s.RoutingConfig = v + return s +} + // SetVariantName sets the VariantName field's value. func (s *ProductionVariantSummary) SetVariantName(v string) *ProductionVariantSummary { s.VariantName = &v @@ -101181,6 +105373,11 @@ func (s *RSessionAppSettings) Validate() error { } } } + if s.DefaultResourceSpec != nil { + if err := s.DefaultResourceSpec.Validate(); err != nil { + invalidParams.AddNested("DefaultResourceSpec", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -101292,6 +105489,11 @@ func (s *RStudioServerProDomainSettings) Validate() error { if s.DomainExecutionRoleArn != nil && len(*s.DomainExecutionRoleArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("DomainExecutionRoleArn", 20)) } + if s.DefaultResourceSpec != nil { + if err := s.DefaultResourceSpec.Validate(); err != nil { + invalidParams.AddNested("DefaultResourceSpec", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -101371,6 +105573,11 @@ func (s *RStudioServerProDomainSettingsForUpdate) Validate() error { if s.DomainExecutionRoleArn != nil && len(*s.DomainExecutionRoleArn) < 20 { invalidParams.Add(request.NewErrParamMinLen("DomainExecutionRoleArn", 20)) } + if s.DefaultResourceSpec != nil { + if err := s.DefaultResourceSpec.Validate(); err != nil { + invalidParams.AddNested("DefaultResourceSpec", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -103633,6 +107840,9 @@ type ResourceSpec struct { // The ARN of the SageMaker image that the image version belongs to. SageMakerImageArn *string `type:"string"` + // The SageMakerImageVersionAlias. + SageMakerImageVersionAlias *string `min:"1" type:"string"` + // The ARN of the image version created on the instance. SageMakerImageVersionArn *string `type:"string"` } @@ -103655,6 +107865,19 @@ func (s ResourceSpec) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *ResourceSpec) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ResourceSpec"} + if s.SageMakerImageVersionAlias != nil && len(*s.SageMakerImageVersionAlias) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SageMakerImageVersionAlias", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetInstanceType sets the InstanceType field's value. func (s *ResourceSpec) SetInstanceType(v string) *ResourceSpec { s.InstanceType = &v @@ -103673,6 +107896,12 @@ func (s *ResourceSpec) SetSageMakerImageArn(v string) *ResourceSpec { return s } +// SetSageMakerImageVersionAlias sets the SageMakerImageVersionAlias field's value. +func (s *ResourceSpec) SetSageMakerImageVersionAlias(v string) *ResourceSpec { + s.SageMakerImageVersionAlias = &v + return s +} + // SetSageMakerImageVersionArn sets the SageMakerImageVersionArn field's value. func (s *ResourceSpec) SetSageMakerImageVersionArn(v string) *ResourceSpec { s.SageMakerImageVersionArn = &v @@ -105921,7 +110150,7 @@ func (s *ShadowModelVariantConfig) SetShadowModelVariantName(v string) *ShadowMo return s } -// Specifies options for sharing SageMaker Studio notebooks. These settings +// Specifies options for sharing Amazon SageMaker Studio notebooks. These settings // are specified as part of DefaultUserSettings when the CreateDomain API is // called, and as part of UserSettings when the CreateUserProfile API is called. // When SharingSettings is not specified, notebook sharing isn't allowed. @@ -108115,15 +112344,15 @@ func (s *StoppingCondition) SetMaxWaitTimeInSeconds(v int64) *StoppingCondition return s } -// Details of the Studio Lifecycle Configuration. +// Details of the Amazon SageMaker Studio Lifecycle Configuration. type StudioLifecycleConfigDetails struct { _ struct{} `type:"structure"` - // The creation time of the Studio Lifecycle Configuration. + // The creation time of the Amazon SageMaker Studio Lifecycle Configuration. CreationTime *time.Time `type:"timestamp"` - // This value is equivalent to CreationTime because Studio Lifecycle Configurations - // are immutable. + // This value is equivalent to CreationTime because Amazon SageMaker Studio + // Lifecycle Configurations are immutable. LastModifiedTime *time.Time `type:"timestamp"` // The App type to which the Lifecycle Configuration is attached. @@ -108132,7 +112361,7 @@ type StudioLifecycleConfigDetails struct { // The Amazon Resource Name (ARN) of the Lifecycle Configuration. StudioLifecycleConfigArn *string `type:"string"` - // The name of the Studio Lifecycle Configuration. + // The name of the Amazon SageMaker Studio Lifecycle Configuration. StudioLifecycleConfigName *string `type:"string"` } @@ -108774,6 +113003,21 @@ func (s TensorBoardAppSettings) GoString() string { return s.String() } +// Validate inspects the fields of the type to determine if they are valid. +func (s *TensorBoardAppSettings) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "TensorBoardAppSettings"} + if s.DefaultResourceSpec != nil { + if err := s.DefaultResourceSpec.Validate(); err != nil { + invalidParams.AddNested("DefaultResourceSpec", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + // SetDefaultResourceSpec sets the DefaultResourceSpec field's value. func (s *TensorBoardAppSettings) SetDefaultResourceSpec(v *ResourceSpec) *TensorBoardAppSettings { s.DefaultResourceSpec = v @@ -108934,12 +113178,42 @@ type TextGenerationJobConfig struct { // The name of the base model to fine-tune. Autopilot supports fine-tuning a // variety of large language models. For information on the list of supported // models, see Text generation models supporting fine-tuning in Autopilot (https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-llms-finetuning-models.html#autopilot-llms-finetuning-supported-llms). - // If no BaseModelName is provided, the default model used is Falcon-7B-Instruct. + // If no BaseModelName is provided, the default model used is Falcon7BInstruct. BaseModelName *string `min:"1" type:"string"` - // How long a job is allowed to run, or how many candidates a job is allowed - // to generate. + // How long a fine-tuning job is allowed to run. For TextGenerationJobConfig + // problem types, the MaxRuntimePerTrainingJobInSeconds attribute of AutoMLJobCompletionCriteria + // defaults to 72h (259200s). CompletionCriteria *AutoMLJobCompletionCriteria `type:"structure"` + + // The hyperparameters used to configure and optimize the learning process of + // the base model. You can set any combination of the following hyperparameters + // for all base models. For more information on each supported hyperparameter, + // see Optimize the learning process of your text generation models with hyperparameters + // (https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-llms-finetuning-set-hyperparameters.html). + // + // * "epochCount": The number of times the model goes through the entire + // training dataset. Its value should be a string containing an integer value + // within the range of "1" to "10". + // + // * "batchSize": The number of data samples used in each iteration of training. + // Its value should be a string containing an integer value within the range + // of "1" to "64". + // + // * "learningRate": The step size at which a model's parameters are updated + // during training. Its value should be a string containing a floating-point + // value within the range of "0" to "1". + // + // * "learningRateWarmupSteps": The number of training steps during which + // the learning rate gradually increases before reaching its target or maximum + // value. Its value should be a string containing an integer value within + // the range of "0" to "250". + // + // Here is an example where all four hyperparameters are configured. + // + // { "epochCount":"5", "learningRate":"0.5", "batchSize": "32", "learningRateWarmupSteps": + // "10" } + TextGenerationHyperParameters map[string]*string `type:"map"` } // String returns the string representation. @@ -108990,6 +113264,12 @@ func (s *TextGenerationJobConfig) SetCompletionCriteria(v *AutoMLJobCompletionCr return s } +// SetTextGenerationHyperParameters sets the TextGenerationHyperParameters field's value. +func (s *TextGenerationJobConfig) SetTextGenerationHyperParameters(v map[string]*string) *TextGenerationJobConfig { + s.TextGenerationHyperParameters = v + return s +} + // The resolved attributes specific to the text generation problem type. type TextGenerationResolvedAttributes struct { _ struct{} `type:"structure"` @@ -113574,6 +117854,112 @@ func (s *UpdateArtifactOutput) SetArtifactArn(v string) *UpdateArtifactOutput { return s } +type UpdateClusterInput struct { + _ struct{} `type:"structure"` + + // Specify the name of the SageMaker HyperPod cluster you want to update. + // + // ClusterName is a required field + ClusterName *string `type:"string" required:"true"` + + // Specify the instance groups to update. + // + // InstanceGroups is a required field + InstanceGroups []*ClusterInstanceGroupSpecification `min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateClusterInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateClusterInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateClusterInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateClusterInput"} + if s.ClusterName == nil { + invalidParams.Add(request.NewErrParamRequired("ClusterName")) + } + if s.InstanceGroups == nil { + invalidParams.Add(request.NewErrParamRequired("InstanceGroups")) + } + if s.InstanceGroups != nil && len(s.InstanceGroups) < 1 { + invalidParams.Add(request.NewErrParamMinLen("InstanceGroups", 1)) + } + if s.InstanceGroups != nil { + for i, v := range s.InstanceGroups { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceGroups", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetClusterName sets the ClusterName field's value. +func (s *UpdateClusterInput) SetClusterName(v string) *UpdateClusterInput { + s.ClusterName = &v + return s +} + +// SetInstanceGroups sets the InstanceGroups field's value. +func (s *UpdateClusterInput) SetInstanceGroups(v []*ClusterInstanceGroupSpecification) *UpdateClusterInput { + s.InstanceGroups = v + return s +} + +type UpdateClusterOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the updated SageMaker HyperPod cluster. + // + // ClusterArn is a required field + ClusterArn *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateClusterOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateClusterOutput) GoString() string { + return s.String() +} + +// SetClusterArn sets the ClusterArn field's value. +func (s *UpdateClusterOutput) SetClusterArn(v string) *UpdateClusterOutput { + s.ClusterArn = &v + return s +} + type UpdateCodeRepositoryInput struct { _ struct{} `type:"structure"` @@ -114007,6 +118393,19 @@ func (s UpdateDevicesOutput) GoString() string { type UpdateDomainInput struct { _ struct{} `type:"structure"` + // Specifies the VPC used for non-EFS traffic. + // + // * PublicInternetOnly - Non-EFS traffic is through a VPC managed by Amazon + // SageMaker, which allows direct internet access. + // + // * VpcOnly - All Studio traffic is through the specified VPC and subnets. + // + // This configuration can only be modified if there are no apps in the InService, + // Pending, or Deleting state. The configuration cannot be updated if DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn + // is already set or DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn + // is provided as part of the same request. + AppNetworkAccessType *string `type:"string" enum:"AppNetworkAccessType"` + // The entity that creates and manages the required security groups for inter-app // communication in VPCOnly mode. Required when CreateDomain.AppNetworkAccessType // is VPCOnly and DomainSettings.RStudioServerProDomainSettings.DomainExecutionRoleArn @@ -114027,6 +118426,12 @@ type UpdateDomainInput struct { // A collection of DomainSettings configuration values to update. DomainSettingsForUpdate *DomainSettingsForUpdate `type:"structure"` + + // The VPC subnets that Studio uses for communication. + // + // If removing subnets, ensure there are no apps in the InService, Pending, + // or Deleting state. + SubnetIds []*string `min:"1" type:"list"` } // String returns the string representation. @@ -114053,6 +118458,9 @@ func (s *UpdateDomainInput) Validate() error { if s.DomainId == nil { invalidParams.Add(request.NewErrParamRequired("DomainId")) } + if s.SubnetIds != nil && len(s.SubnetIds) < 1 { + invalidParams.Add(request.NewErrParamMinLen("SubnetIds", 1)) + } if s.DefaultSpaceSettings != nil { if err := s.DefaultSpaceSettings.Validate(); err != nil { invalidParams.AddNested("DefaultSpaceSettings", err.(request.ErrInvalidParams)) @@ -114075,6 +118483,12 @@ func (s *UpdateDomainInput) Validate() error { return nil } +// SetAppNetworkAccessType sets the AppNetworkAccessType field's value. +func (s *UpdateDomainInput) SetAppNetworkAccessType(v string) *UpdateDomainInput { + s.AppNetworkAccessType = &v + return s +} + // SetAppSecurityGroupManagement sets the AppSecurityGroupManagement field's value. func (s *UpdateDomainInput) SetAppSecurityGroupManagement(v string) *UpdateDomainInput { s.AppSecurityGroupManagement = &v @@ -114105,6 +118519,12 @@ func (s *UpdateDomainInput) SetDomainSettingsForUpdate(v *DomainSettingsForUpdat return s } +// SetSubnetIds sets the SubnetIds field's value. +func (s *UpdateDomainInput) SetSubnetIds(v []*string) *UpdateDomainInput { + s.SubnetIds = v + return s +} + type UpdateDomainOutput struct { _ struct{} `type:"structure"` @@ -115196,6 +119616,212 @@ func (s *UpdateImageVersionOutput) SetImageVersionArn(v string) *UpdateImageVers return s } +type UpdateInferenceComponentInput struct { + _ struct{} `type:"structure"` + + // The name of the inference component. + // + // InferenceComponentName is a required field + InferenceComponentName *string `type:"string" required:"true"` + + // Runtime settings for a model that is deployed with an inference component. + RuntimeConfig *InferenceComponentRuntimeConfig `type:"structure"` + + // Details about the resources to deploy with this inference component, including + // the model, container, and compute resources. + Specification *InferenceComponentSpecification `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateInferenceComponentInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateInferenceComponentInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateInferenceComponentInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateInferenceComponentInput"} + if s.InferenceComponentName == nil { + invalidParams.Add(request.NewErrParamRequired("InferenceComponentName")) + } + if s.RuntimeConfig != nil { + if err := s.RuntimeConfig.Validate(); err != nil { + invalidParams.AddNested("RuntimeConfig", err.(request.ErrInvalidParams)) + } + } + if s.Specification != nil { + if err := s.Specification.Validate(); err != nil { + invalidParams.AddNested("Specification", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetInferenceComponentName sets the InferenceComponentName field's value. +func (s *UpdateInferenceComponentInput) SetInferenceComponentName(v string) *UpdateInferenceComponentInput { + s.InferenceComponentName = &v + return s +} + +// SetRuntimeConfig sets the RuntimeConfig field's value. +func (s *UpdateInferenceComponentInput) SetRuntimeConfig(v *InferenceComponentRuntimeConfig) *UpdateInferenceComponentInput { + s.RuntimeConfig = v + return s +} + +// SetSpecification sets the Specification field's value. +func (s *UpdateInferenceComponentInput) SetSpecification(v *InferenceComponentSpecification) *UpdateInferenceComponentInput { + s.Specification = v + return s +} + +type UpdateInferenceComponentOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the inference component. + // + // InferenceComponentArn is a required field + InferenceComponentArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateInferenceComponentOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateInferenceComponentOutput) GoString() string { + return s.String() +} + +// SetInferenceComponentArn sets the InferenceComponentArn field's value. +func (s *UpdateInferenceComponentOutput) SetInferenceComponentArn(v string) *UpdateInferenceComponentOutput { + s.InferenceComponentArn = &v + return s +} + +type UpdateInferenceComponentRuntimeConfigInput struct { + _ struct{} `type:"structure"` + + // Runtime settings for a model that is deployed with an inference component. + // + // DesiredRuntimeConfig is a required field + DesiredRuntimeConfig *InferenceComponentRuntimeConfig `type:"structure" required:"true"` + + // The name of the inference component to update. + // + // InferenceComponentName is a required field + InferenceComponentName *string `type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateInferenceComponentRuntimeConfigInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateInferenceComponentRuntimeConfigInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateInferenceComponentRuntimeConfigInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateInferenceComponentRuntimeConfigInput"} + if s.DesiredRuntimeConfig == nil { + invalidParams.Add(request.NewErrParamRequired("DesiredRuntimeConfig")) + } + if s.InferenceComponentName == nil { + invalidParams.Add(request.NewErrParamRequired("InferenceComponentName")) + } + if s.DesiredRuntimeConfig != nil { + if err := s.DesiredRuntimeConfig.Validate(); err != nil { + invalidParams.AddNested("DesiredRuntimeConfig", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDesiredRuntimeConfig sets the DesiredRuntimeConfig field's value. +func (s *UpdateInferenceComponentRuntimeConfigInput) SetDesiredRuntimeConfig(v *InferenceComponentRuntimeConfig) *UpdateInferenceComponentRuntimeConfigInput { + s.DesiredRuntimeConfig = v + return s +} + +// SetInferenceComponentName sets the InferenceComponentName field's value. +func (s *UpdateInferenceComponentRuntimeConfigInput) SetInferenceComponentName(v string) *UpdateInferenceComponentRuntimeConfigInput { + s.InferenceComponentName = &v + return s +} + +type UpdateInferenceComponentRuntimeConfigOutput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the inference component. + // + // InferenceComponentArn is a required field + InferenceComponentArn *string `min:"20" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateInferenceComponentRuntimeConfigOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateInferenceComponentRuntimeConfigOutput) GoString() string { + return s.String() +} + +// SetInferenceComponentArn sets the InferenceComponentArn field's value. +func (s *UpdateInferenceComponentRuntimeConfigOutput) SetInferenceComponentArn(v string) *UpdateInferenceComponentRuntimeConfigOutput { + s.InferenceComponentArn = &v + return s +} + type UpdateInferenceExperimentInput struct { _ struct{} `type:"structure"` @@ -117656,9 +122282,9 @@ func (s *UserProfileDetails) SetUserProfileName(v string) *UserProfileDetails { return s } -// A collection of settings that apply to users of Amazon SageMaker Studio. -// These settings are specified when the CreateUserProfile API is called, and -// as DefaultUserSettings when the CreateDomain API is called. +// A collection of settings that apply to users in a domain. These settings +// are specified when the CreateUserProfile API is called, and as DefaultUserSettings +// when the CreateDomain API is called. // // SecurityGroups is aggregated when specified in both calls. For all other // settings in UserSettings, the values specified in CreateUserProfile take @@ -117669,6 +122295,15 @@ type UserSettings struct { // The Canvas app settings. CanvasAppSettings *CanvasAppSettings `type:"structure"` + // The default experience that the user is directed to when accessing the domain. + // The supported values are: + // + // * studio::: Indicates that Studio is the default experience. This value + // can only be passed if StudioWebPortal is set to ENABLED. + // + // * app:JupyterServer:: Indicates that Studio Classic is the default experience. + DefaultLandingUri *string `type:"string"` + // The execution role for the user. ExecutionRole *string `min:"20" type:"string"` @@ -117685,7 +122320,7 @@ type UserSettings struct { // app. RStudioServerProAppSettings *RStudioServerProAppSettings `type:"structure"` - // The security groups for the Amazon Virtual Private Cloud (VPC) that Studio + // The security groups for the Amazon Virtual Private Cloud (VPC) that the domain // uses for communication. // // Optional when the CreateDomain.AppNetworkAccessType parameter is set to PublicInternetOnly. @@ -117693,14 +122328,19 @@ type UserSettings struct { // Required when the CreateDomain.AppNetworkAccessType parameter is set to VpcOnly, // unless specified as part of the DefaultUserSettings for the domain. // - // Amazon SageMaker adds a security group to allow NFS traffic from SageMaker + // Amazon SageMaker adds a security group to allow NFS traffic from Amazon SageMaker // Studio. Therefore, the number of security groups that you can specify is // one less than the maximum number shown. SecurityGroups []*string `type:"list"` - // Specifies options for sharing SageMaker Studio notebooks. + // Specifies options for sharing Amazon SageMaker Studio notebooks. SharingSettings *SharingSettings `type:"structure"` + // Whether the user can access Studio. If this value is set to DISABLED, the + // user cannot access Studio, even if that is the default experience for the + // domain. + StudioWebPortal *string `type:"string" enum:"StudioWebPortal"` + // The TensorBoard app settings. TensorBoardAppSettings *TensorBoardAppSettings `type:"structure"` } @@ -117749,6 +122389,11 @@ func (s *UserSettings) Validate() error { invalidParams.AddNested("RSessionAppSettings", err.(request.ErrInvalidParams)) } } + if s.TensorBoardAppSettings != nil { + if err := s.TensorBoardAppSettings.Validate(); err != nil { + invalidParams.AddNested("TensorBoardAppSettings", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -117762,6 +122407,12 @@ func (s *UserSettings) SetCanvasAppSettings(v *CanvasAppSettings) *UserSettings return s } +// SetDefaultLandingUri sets the DefaultLandingUri field's value. +func (s *UserSettings) SetDefaultLandingUri(v string) *UserSettings { + s.DefaultLandingUri = &v + return s +} + // SetExecutionRole sets the ExecutionRole field's value. func (s *UserSettings) SetExecutionRole(v string) *UserSettings { s.ExecutionRole = &v @@ -117804,6 +122455,12 @@ func (s *UserSettings) SetSharingSettings(v *SharingSettings) *UserSettings { return s } +// SetStudioWebPortal sets the StudioWebPortal field's value. +func (s *UserSettings) SetStudioWebPortal(v string) *UserSettings { + s.StudioWebPortal = &v + return s +} + // SetTensorBoardAppSettings sets the TensorBoardAppSettings field's value. func (s *UserSettings) SetTensorBoardAppSettings(v *TensorBoardAppSettings) *UserSettings { s.TensorBoardAppSettings = v @@ -117973,11 +122630,10 @@ func (s *Vertex) SetType(v string) *Vertex { return s } -// Specifies a VPC that your training jobs and hosted models have access to. -// Control access to and from your training and model containers by configuring -// the VPC. For more information, see Protect Endpoints by Using an Amazon Virtual -// Private Cloud (https://docs.aws.amazon.com/sagemaker/latest/dg/host-vpc.html) -// and Protect Training Jobs by Using an Amazon Virtual Private Cloud (https://docs.aws.amazon.com/sagemaker/latest/dg/train-vpc.html). +// Specifies an Amazon Virtual Private Cloud (VPC) that your SageMaker jobs, +// hosted models, and compute resources have access to. You can control access +// to and from your resources by configuring a VPC. For more information, see +// Give SageMaker Access to Resources in your Amazon VPC (https://docs.aws.amazon.com/sagemaker/latest/dg/infrastructure-give-access.html). type VpcConfig struct { _ struct{} `type:"structure"` @@ -120162,6 +124818,246 @@ func ClarifyTextLanguage_Values() []string { } } +const ( + // ClusterInstanceStatusRunning is a ClusterInstanceStatus enum value + ClusterInstanceStatusRunning = "Running" + + // ClusterInstanceStatusFailure is a ClusterInstanceStatus enum value + ClusterInstanceStatusFailure = "Failure" + + // ClusterInstanceStatusPending is a ClusterInstanceStatus enum value + ClusterInstanceStatusPending = "Pending" + + // ClusterInstanceStatusShuttingDown is a ClusterInstanceStatus enum value + ClusterInstanceStatusShuttingDown = "ShuttingDown" + + // ClusterInstanceStatusSystemUpdating is a ClusterInstanceStatus enum value + ClusterInstanceStatusSystemUpdating = "SystemUpdating" +) + +// ClusterInstanceStatus_Values returns all elements of the ClusterInstanceStatus enum +func ClusterInstanceStatus_Values() []string { + return []string{ + ClusterInstanceStatusRunning, + ClusterInstanceStatusFailure, + ClusterInstanceStatusPending, + ClusterInstanceStatusShuttingDown, + ClusterInstanceStatusSystemUpdating, + } +} + +const ( + // ClusterInstanceTypeMlP4d24xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlP4d24xlarge = "ml.p4d.24xlarge" + + // ClusterInstanceTypeMlP4de24xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlP4de24xlarge = "ml.p4de.24xlarge" + + // ClusterInstanceTypeMlP548xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlP548xlarge = "ml.p5.48xlarge" + + // ClusterInstanceTypeMlTrn132xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlTrn132xlarge = "ml.trn1.32xlarge" + + // ClusterInstanceTypeMlTrn1n32xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlTrn1n32xlarge = "ml.trn1n.32xlarge" + + // ClusterInstanceTypeMlG5Xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlG5Xlarge = "ml.g5.xlarge" + + // ClusterInstanceTypeMlG52xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlG52xlarge = "ml.g5.2xlarge" + + // ClusterInstanceTypeMlG54xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlG54xlarge = "ml.g5.4xlarge" + + // ClusterInstanceTypeMlG58xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlG58xlarge = "ml.g5.8xlarge" + + // ClusterInstanceTypeMlG512xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlG512xlarge = "ml.g5.12xlarge" + + // ClusterInstanceTypeMlG516xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlG516xlarge = "ml.g5.16xlarge" + + // ClusterInstanceTypeMlG524xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlG524xlarge = "ml.g5.24xlarge" + + // ClusterInstanceTypeMlG548xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlG548xlarge = "ml.g5.48xlarge" + + // ClusterInstanceTypeMlC5Large is a ClusterInstanceType enum value + ClusterInstanceTypeMlC5Large = "ml.c5.large" + + // ClusterInstanceTypeMlC5Xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlC5Xlarge = "ml.c5.xlarge" + + // ClusterInstanceTypeMlC52xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlC52xlarge = "ml.c5.2xlarge" + + // ClusterInstanceTypeMlC54xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlC54xlarge = "ml.c5.4xlarge" + + // ClusterInstanceTypeMlC59xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlC59xlarge = "ml.c5.9xlarge" + + // ClusterInstanceTypeMlC512xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlC512xlarge = "ml.c5.12xlarge" + + // ClusterInstanceTypeMlC518xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlC518xlarge = "ml.c5.18xlarge" + + // ClusterInstanceTypeMlC524xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlC524xlarge = "ml.c5.24xlarge" + + // ClusterInstanceTypeMlC5nLarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlC5nLarge = "ml.c5n.large" + + // ClusterInstanceTypeMlC5n2xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlC5n2xlarge = "ml.c5n.2xlarge" + + // ClusterInstanceTypeMlC5n4xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlC5n4xlarge = "ml.c5n.4xlarge" + + // ClusterInstanceTypeMlC5n9xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlC5n9xlarge = "ml.c5n.9xlarge" + + // ClusterInstanceTypeMlC5n18xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlC5n18xlarge = "ml.c5n.18xlarge" + + // ClusterInstanceTypeMlM5Large is a ClusterInstanceType enum value + ClusterInstanceTypeMlM5Large = "ml.m5.large" + + // ClusterInstanceTypeMlM5Xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlM5Xlarge = "ml.m5.xlarge" + + // ClusterInstanceTypeMlM52xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlM52xlarge = "ml.m5.2xlarge" + + // ClusterInstanceTypeMlM54xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlM54xlarge = "ml.m5.4xlarge" + + // ClusterInstanceTypeMlM58xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlM58xlarge = "ml.m5.8xlarge" + + // ClusterInstanceTypeMlM512xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlM512xlarge = "ml.m5.12xlarge" + + // ClusterInstanceTypeMlM516xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlM516xlarge = "ml.m5.16xlarge" + + // ClusterInstanceTypeMlM524xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlM524xlarge = "ml.m5.24xlarge" + + // ClusterInstanceTypeMlT3Medium is a ClusterInstanceType enum value + ClusterInstanceTypeMlT3Medium = "ml.t3.medium" + + // ClusterInstanceTypeMlT3Large is a ClusterInstanceType enum value + ClusterInstanceTypeMlT3Large = "ml.t3.large" + + // ClusterInstanceTypeMlT3Xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlT3Xlarge = "ml.t3.xlarge" + + // ClusterInstanceTypeMlT32xlarge is a ClusterInstanceType enum value + ClusterInstanceTypeMlT32xlarge = "ml.t3.2xlarge" +) + +// ClusterInstanceType_Values returns all elements of the ClusterInstanceType enum +func ClusterInstanceType_Values() []string { + return []string{ + ClusterInstanceTypeMlP4d24xlarge, + ClusterInstanceTypeMlP4de24xlarge, + ClusterInstanceTypeMlP548xlarge, + ClusterInstanceTypeMlTrn132xlarge, + ClusterInstanceTypeMlTrn1n32xlarge, + ClusterInstanceTypeMlG5Xlarge, + ClusterInstanceTypeMlG52xlarge, + ClusterInstanceTypeMlG54xlarge, + ClusterInstanceTypeMlG58xlarge, + ClusterInstanceTypeMlG512xlarge, + ClusterInstanceTypeMlG516xlarge, + ClusterInstanceTypeMlG524xlarge, + ClusterInstanceTypeMlG548xlarge, + ClusterInstanceTypeMlC5Large, + ClusterInstanceTypeMlC5Xlarge, + ClusterInstanceTypeMlC52xlarge, + ClusterInstanceTypeMlC54xlarge, + ClusterInstanceTypeMlC59xlarge, + ClusterInstanceTypeMlC512xlarge, + ClusterInstanceTypeMlC518xlarge, + ClusterInstanceTypeMlC524xlarge, + ClusterInstanceTypeMlC5nLarge, + ClusterInstanceTypeMlC5n2xlarge, + ClusterInstanceTypeMlC5n4xlarge, + ClusterInstanceTypeMlC5n9xlarge, + ClusterInstanceTypeMlC5n18xlarge, + ClusterInstanceTypeMlM5Large, + ClusterInstanceTypeMlM5Xlarge, + ClusterInstanceTypeMlM52xlarge, + ClusterInstanceTypeMlM54xlarge, + ClusterInstanceTypeMlM58xlarge, + ClusterInstanceTypeMlM512xlarge, + ClusterInstanceTypeMlM516xlarge, + ClusterInstanceTypeMlM524xlarge, + ClusterInstanceTypeMlT3Medium, + ClusterInstanceTypeMlT3Large, + ClusterInstanceTypeMlT3Xlarge, + ClusterInstanceTypeMlT32xlarge, + } +} + +const ( + // ClusterSortByCreationTime is a ClusterSortBy enum value + ClusterSortByCreationTime = "CREATION_TIME" + + // ClusterSortByName is a ClusterSortBy enum value + ClusterSortByName = "NAME" +) + +// ClusterSortBy_Values returns all elements of the ClusterSortBy enum +func ClusterSortBy_Values() []string { + return []string{ + ClusterSortByCreationTime, + ClusterSortByName, + } +} + +const ( + // ClusterStatusCreating is a ClusterStatus enum value + ClusterStatusCreating = "Creating" + + // ClusterStatusDeleting is a ClusterStatus enum value + ClusterStatusDeleting = "Deleting" + + // ClusterStatusFailed is a ClusterStatus enum value + ClusterStatusFailed = "Failed" + + // ClusterStatusInService is a ClusterStatus enum value + ClusterStatusInService = "InService" + + // ClusterStatusRollingBack is a ClusterStatus enum value + ClusterStatusRollingBack = "RollingBack" + + // ClusterStatusSystemUpdating is a ClusterStatus enum value + ClusterStatusSystemUpdating = "SystemUpdating" + + // ClusterStatusUpdating is a ClusterStatus enum value + ClusterStatusUpdating = "Updating" +) + +// ClusterStatus_Values returns all elements of the ClusterStatus enum +func ClusterStatus_Values() []string { + return []string{ + ClusterStatusCreating, + ClusterStatusDeleting, + ClusterStatusFailed, + ClusterStatusInService, + ClusterStatusRollingBack, + ClusterStatusSystemUpdating, + ClusterStatusUpdating, + } +} + const ( // CodeRepositorySortByName is a CodeRepositorySortBy enum value CodeRepositorySortByName = "Name" @@ -121436,6 +126332,54 @@ func ImageVersionStatus_Values() []string { } } +const ( + // InferenceComponentSortKeyName is a InferenceComponentSortKey enum value + InferenceComponentSortKeyName = "Name" + + // InferenceComponentSortKeyCreationTime is a InferenceComponentSortKey enum value + InferenceComponentSortKeyCreationTime = "CreationTime" + + // InferenceComponentSortKeyStatus is a InferenceComponentSortKey enum value + InferenceComponentSortKeyStatus = "Status" +) + +// InferenceComponentSortKey_Values returns all elements of the InferenceComponentSortKey enum +func InferenceComponentSortKey_Values() []string { + return []string{ + InferenceComponentSortKeyName, + InferenceComponentSortKeyCreationTime, + InferenceComponentSortKeyStatus, + } +} + +const ( + // InferenceComponentStatusInService is a InferenceComponentStatus enum value + InferenceComponentStatusInService = "InService" + + // InferenceComponentStatusCreating is a InferenceComponentStatus enum value + InferenceComponentStatusCreating = "Creating" + + // InferenceComponentStatusUpdating is a InferenceComponentStatus enum value + InferenceComponentStatusUpdating = "Updating" + + // InferenceComponentStatusFailed is a InferenceComponentStatus enum value + InferenceComponentStatusFailed = "Failed" + + // InferenceComponentStatusDeleting is a InferenceComponentStatus enum value + InferenceComponentStatusDeleting = "Deleting" +) + +// InferenceComponentStatus_Values returns all elements of the InferenceComponentStatus enum +func InferenceComponentStatus_Values() []string { + return []string{ + InferenceComponentStatusInService, + InferenceComponentStatusCreating, + InferenceComponentStatusUpdating, + InferenceComponentStatusFailed, + InferenceComponentStatusDeleting, + } +} + const ( // InferenceExecutionModeSerial is a InferenceExecutionMode enum value InferenceExecutionModeSerial = "Serial" @@ -122112,6 +127056,22 @@ func ListWorkteamsSortByOptions_Values() []string { } } +const ( + // ManagedInstanceScalingStatusEnabled is a ManagedInstanceScalingStatus enum value + ManagedInstanceScalingStatusEnabled = "ENABLED" + + // ManagedInstanceScalingStatusDisabled is a ManagedInstanceScalingStatus enum value + ManagedInstanceScalingStatusDisabled = "DISABLED" +) + +// ManagedInstanceScalingStatus_Values returns all elements of the ManagedInstanceScalingStatus enum +func ManagedInstanceScalingStatus_Values() []string { + return []string{ + ManagedInstanceScalingStatusEnabled, + ManagedInstanceScalingStatusDisabled, + } +} + const ( // MetricSetSourceTrain is a MetricSetSource enum value MetricSetSourceTrain = "Train" @@ -124419,6 +129379,22 @@ func RootAccess_Values() []string { } } +const ( + // RoutingStrategyLeastOutstandingRequests is a RoutingStrategy enum value + RoutingStrategyLeastOutstandingRequests = "LEAST_OUTSTANDING_REQUESTS" + + // RoutingStrategyRandom is a RoutingStrategy enum value + RoutingStrategyRandom = "RANDOM" +) + +// RoutingStrategy_Values returns all elements of the RoutingStrategy enum +func RoutingStrategy_Values() []string { + return []string{ + RoutingStrategyLeastOutstandingRequests, + RoutingStrategyRandom, + } +} + const ( // RuleEvaluationStatusInProgress is a RuleEvaluationStatus enum value RuleEvaluationStatusInProgress = "InProgress" @@ -125099,6 +130075,22 @@ func StudioLifecycleConfigSortKey_Values() []string { } } +const ( + // StudioWebPortalEnabled is a StudioWebPortal enum value + StudioWebPortalEnabled = "ENABLED" + + // StudioWebPortalDisabled is a StudioWebPortal enum value + StudioWebPortalDisabled = "DISABLED" +) + +// StudioWebPortal_Values returns all elements of the StudioWebPortal enum +func StudioWebPortal_Values() []string { + return []string{ + StudioWebPortalEnabled, + StudioWebPortalDisabled, + } +} + const ( // TableFormatGlue is a TableFormat enum value TableFormatGlue = "Glue" diff --git a/service/sagemaker/sagemakeriface/interface.go b/service/sagemaker/sagemakeriface/interface.go index f60899b7e09..96e7b5dfa2d 100644 --- a/service/sagemaker/sagemakeriface/interface.go +++ b/service/sagemaker/sagemakeriface/interface.go @@ -104,6 +104,10 @@ type SageMakerAPI interface { CreateAutoMLJobV2WithContext(aws.Context, *sagemaker.CreateAutoMLJobV2Input, ...request.Option) (*sagemaker.CreateAutoMLJobV2Output, error) CreateAutoMLJobV2Request(*sagemaker.CreateAutoMLJobV2Input) (*request.Request, *sagemaker.CreateAutoMLJobV2Output) + CreateCluster(*sagemaker.CreateClusterInput) (*sagemaker.CreateClusterOutput, error) + CreateClusterWithContext(aws.Context, *sagemaker.CreateClusterInput, ...request.Option) (*sagemaker.CreateClusterOutput, error) + CreateClusterRequest(*sagemaker.CreateClusterInput) (*request.Request, *sagemaker.CreateClusterOutput) + CreateCodeRepository(*sagemaker.CreateCodeRepositoryInput) (*sagemaker.CreateCodeRepositoryOutput, error) CreateCodeRepositoryWithContext(aws.Context, *sagemaker.CreateCodeRepositoryInput, ...request.Option) (*sagemaker.CreateCodeRepositoryOutput, error) CreateCodeRepositoryRequest(*sagemaker.CreateCodeRepositoryInput) (*request.Request, *sagemaker.CreateCodeRepositoryOutput) @@ -180,6 +184,10 @@ type SageMakerAPI interface { CreateImageVersionWithContext(aws.Context, *sagemaker.CreateImageVersionInput, ...request.Option) (*sagemaker.CreateImageVersionOutput, error) CreateImageVersionRequest(*sagemaker.CreateImageVersionInput) (*request.Request, *sagemaker.CreateImageVersionOutput) + CreateInferenceComponent(*sagemaker.CreateInferenceComponentInput) (*sagemaker.CreateInferenceComponentOutput, error) + CreateInferenceComponentWithContext(aws.Context, *sagemaker.CreateInferenceComponentInput, ...request.Option) (*sagemaker.CreateInferenceComponentOutput, error) + CreateInferenceComponentRequest(*sagemaker.CreateInferenceComponentInput) (*request.Request, *sagemaker.CreateInferenceComponentOutput) + CreateInferenceExperiment(*sagemaker.CreateInferenceExperimentInput) (*sagemaker.CreateInferenceExperimentOutput, error) CreateInferenceExperimentWithContext(aws.Context, *sagemaker.CreateInferenceExperimentInput, ...request.Option) (*sagemaker.CreateInferenceExperimentOutput, error) CreateInferenceExperimentRequest(*sagemaker.CreateInferenceExperimentInput) (*request.Request, *sagemaker.CreateInferenceExperimentOutput) @@ -316,6 +324,10 @@ type SageMakerAPI interface { DeleteAssociationWithContext(aws.Context, *sagemaker.DeleteAssociationInput, ...request.Option) (*sagemaker.DeleteAssociationOutput, error) DeleteAssociationRequest(*sagemaker.DeleteAssociationInput) (*request.Request, *sagemaker.DeleteAssociationOutput) + DeleteCluster(*sagemaker.DeleteClusterInput) (*sagemaker.DeleteClusterOutput, error) + DeleteClusterWithContext(aws.Context, *sagemaker.DeleteClusterInput, ...request.Option) (*sagemaker.DeleteClusterOutput, error) + DeleteClusterRequest(*sagemaker.DeleteClusterInput) (*request.Request, *sagemaker.DeleteClusterOutput) + DeleteCodeRepository(*sagemaker.DeleteCodeRepositoryInput) (*sagemaker.DeleteCodeRepositoryOutput, error) DeleteCodeRepositoryWithContext(aws.Context, *sagemaker.DeleteCodeRepositoryInput, ...request.Option) (*sagemaker.DeleteCodeRepositoryOutput, error) DeleteCodeRepositoryRequest(*sagemaker.DeleteCodeRepositoryInput) (*request.Request, *sagemaker.DeleteCodeRepositoryOutput) @@ -384,6 +396,10 @@ type SageMakerAPI interface { DeleteImageVersionWithContext(aws.Context, *sagemaker.DeleteImageVersionInput, ...request.Option) (*sagemaker.DeleteImageVersionOutput, error) DeleteImageVersionRequest(*sagemaker.DeleteImageVersionInput) (*request.Request, *sagemaker.DeleteImageVersionOutput) + DeleteInferenceComponent(*sagemaker.DeleteInferenceComponentInput) (*sagemaker.DeleteInferenceComponentOutput, error) + DeleteInferenceComponentWithContext(aws.Context, *sagemaker.DeleteInferenceComponentInput, ...request.Option) (*sagemaker.DeleteInferenceComponentOutput, error) + DeleteInferenceComponentRequest(*sagemaker.DeleteInferenceComponentInput) (*request.Request, *sagemaker.DeleteInferenceComponentOutput) + DeleteInferenceExperiment(*sagemaker.DeleteInferenceExperimentInput) (*sagemaker.DeleteInferenceExperimentOutput, error) DeleteInferenceExperimentWithContext(aws.Context, *sagemaker.DeleteInferenceExperimentInput, ...request.Option) (*sagemaker.DeleteInferenceExperimentOutput, error) DeleteInferenceExperimentRequest(*sagemaker.DeleteInferenceExperimentInput) (*request.Request, *sagemaker.DeleteInferenceExperimentOutput) @@ -504,6 +520,14 @@ type SageMakerAPI interface { DescribeAutoMLJobV2WithContext(aws.Context, *sagemaker.DescribeAutoMLJobV2Input, ...request.Option) (*sagemaker.DescribeAutoMLJobV2Output, error) DescribeAutoMLJobV2Request(*sagemaker.DescribeAutoMLJobV2Input) (*request.Request, *sagemaker.DescribeAutoMLJobV2Output) + DescribeCluster(*sagemaker.DescribeClusterInput) (*sagemaker.DescribeClusterOutput, error) + DescribeClusterWithContext(aws.Context, *sagemaker.DescribeClusterInput, ...request.Option) (*sagemaker.DescribeClusterOutput, error) + DescribeClusterRequest(*sagemaker.DescribeClusterInput) (*request.Request, *sagemaker.DescribeClusterOutput) + + DescribeClusterNode(*sagemaker.DescribeClusterNodeInput) (*sagemaker.DescribeClusterNodeOutput, error) + DescribeClusterNodeWithContext(aws.Context, *sagemaker.DescribeClusterNodeInput, ...request.Option) (*sagemaker.DescribeClusterNodeOutput, error) + DescribeClusterNodeRequest(*sagemaker.DescribeClusterNodeInput) (*request.Request, *sagemaker.DescribeClusterNodeOutput) + DescribeCodeRepository(*sagemaker.DescribeCodeRepositoryInput) (*sagemaker.DescribeCodeRepositoryOutput, error) DescribeCodeRepositoryWithContext(aws.Context, *sagemaker.DescribeCodeRepositoryInput, ...request.Option) (*sagemaker.DescribeCodeRepositoryOutput, error) DescribeCodeRepositoryRequest(*sagemaker.DescribeCodeRepositoryInput) (*request.Request, *sagemaker.DescribeCodeRepositoryOutput) @@ -588,6 +612,10 @@ type SageMakerAPI interface { DescribeImageVersionWithContext(aws.Context, *sagemaker.DescribeImageVersionInput, ...request.Option) (*sagemaker.DescribeImageVersionOutput, error) DescribeImageVersionRequest(*sagemaker.DescribeImageVersionInput) (*request.Request, *sagemaker.DescribeImageVersionOutput) + DescribeInferenceComponent(*sagemaker.DescribeInferenceComponentInput) (*sagemaker.DescribeInferenceComponentOutput, error) + DescribeInferenceComponentWithContext(aws.Context, *sagemaker.DescribeInferenceComponentInput, ...request.Option) (*sagemaker.DescribeInferenceComponentOutput, error) + DescribeInferenceComponentRequest(*sagemaker.DescribeInferenceComponentInput) (*request.Request, *sagemaker.DescribeInferenceComponentOutput) + DescribeInferenceExperiment(*sagemaker.DescribeInferenceExperimentInput) (*sagemaker.DescribeInferenceExperimentOutput, error) DescribeInferenceExperimentWithContext(aws.Context, *sagemaker.DescribeInferenceExperimentInput, ...request.Option) (*sagemaker.DescribeInferenceExperimentOutput, error) DescribeInferenceExperimentRequest(*sagemaker.DescribeInferenceExperimentInput) (*request.Request, *sagemaker.DescribeInferenceExperimentOutput) @@ -811,6 +839,20 @@ type SageMakerAPI interface { ListCandidatesForAutoMLJobPages(*sagemaker.ListCandidatesForAutoMLJobInput, func(*sagemaker.ListCandidatesForAutoMLJobOutput, bool) bool) error ListCandidatesForAutoMLJobPagesWithContext(aws.Context, *sagemaker.ListCandidatesForAutoMLJobInput, func(*sagemaker.ListCandidatesForAutoMLJobOutput, bool) bool, ...request.Option) error + ListClusterNodes(*sagemaker.ListClusterNodesInput) (*sagemaker.ListClusterNodesOutput, error) + ListClusterNodesWithContext(aws.Context, *sagemaker.ListClusterNodesInput, ...request.Option) (*sagemaker.ListClusterNodesOutput, error) + ListClusterNodesRequest(*sagemaker.ListClusterNodesInput) (*request.Request, *sagemaker.ListClusterNodesOutput) + + ListClusterNodesPages(*sagemaker.ListClusterNodesInput, func(*sagemaker.ListClusterNodesOutput, bool) bool) error + ListClusterNodesPagesWithContext(aws.Context, *sagemaker.ListClusterNodesInput, func(*sagemaker.ListClusterNodesOutput, bool) bool, ...request.Option) error + + ListClusters(*sagemaker.ListClustersInput) (*sagemaker.ListClustersOutput, error) + ListClustersWithContext(aws.Context, *sagemaker.ListClustersInput, ...request.Option) (*sagemaker.ListClustersOutput, error) + ListClustersRequest(*sagemaker.ListClustersInput) (*request.Request, *sagemaker.ListClustersOutput) + + ListClustersPages(*sagemaker.ListClustersInput, func(*sagemaker.ListClustersOutput, bool) bool) error + ListClustersPagesWithContext(aws.Context, *sagemaker.ListClustersInput, func(*sagemaker.ListClustersOutput, bool) bool, ...request.Option) error + ListCodeRepositories(*sagemaker.ListCodeRepositoriesInput) (*sagemaker.ListCodeRepositoriesOutput, error) ListCodeRepositoriesWithContext(aws.Context, *sagemaker.ListCodeRepositoriesInput, ...request.Option) (*sagemaker.ListCodeRepositoriesOutput, error) ListCodeRepositoriesRequest(*sagemaker.ListCodeRepositoriesInput) (*request.Request, *sagemaker.ListCodeRepositoriesOutput) @@ -949,6 +991,13 @@ type SageMakerAPI interface { ListImagesPages(*sagemaker.ListImagesInput, func(*sagemaker.ListImagesOutput, bool) bool) error ListImagesPagesWithContext(aws.Context, *sagemaker.ListImagesInput, func(*sagemaker.ListImagesOutput, bool) bool, ...request.Option) error + ListInferenceComponents(*sagemaker.ListInferenceComponentsInput) (*sagemaker.ListInferenceComponentsOutput, error) + ListInferenceComponentsWithContext(aws.Context, *sagemaker.ListInferenceComponentsInput, ...request.Option) (*sagemaker.ListInferenceComponentsOutput, error) + ListInferenceComponentsRequest(*sagemaker.ListInferenceComponentsInput) (*request.Request, *sagemaker.ListInferenceComponentsOutput) + + ListInferenceComponentsPages(*sagemaker.ListInferenceComponentsInput, func(*sagemaker.ListInferenceComponentsOutput, bool) bool) error + ListInferenceComponentsPagesWithContext(aws.Context, *sagemaker.ListInferenceComponentsInput, func(*sagemaker.ListInferenceComponentsOutput, bool) bool, ...request.Option) error + ListInferenceExperiments(*sagemaker.ListInferenceExperimentsInput) (*sagemaker.ListInferenceExperimentsOutput, error) ListInferenceExperimentsWithContext(aws.Context, *sagemaker.ListInferenceExperimentsInput, ...request.Option) (*sagemaker.ListInferenceExperimentsOutput, error) ListInferenceExperimentsRequest(*sagemaker.ListInferenceExperimentsInput) (*request.Request, *sagemaker.ListInferenceExperimentsOutput) @@ -1369,6 +1418,10 @@ type SageMakerAPI interface { UpdateArtifactWithContext(aws.Context, *sagemaker.UpdateArtifactInput, ...request.Option) (*sagemaker.UpdateArtifactOutput, error) UpdateArtifactRequest(*sagemaker.UpdateArtifactInput) (*request.Request, *sagemaker.UpdateArtifactOutput) + UpdateCluster(*sagemaker.UpdateClusterInput) (*sagemaker.UpdateClusterOutput, error) + UpdateClusterWithContext(aws.Context, *sagemaker.UpdateClusterInput, ...request.Option) (*sagemaker.UpdateClusterOutput, error) + UpdateClusterRequest(*sagemaker.UpdateClusterInput) (*request.Request, *sagemaker.UpdateClusterOutput) + UpdateCodeRepository(*sagemaker.UpdateCodeRepositoryInput) (*sagemaker.UpdateCodeRepositoryOutput, error) UpdateCodeRepositoryWithContext(aws.Context, *sagemaker.UpdateCodeRepositoryInput, ...request.Option) (*sagemaker.UpdateCodeRepositoryOutput, error) UpdateCodeRepositoryRequest(*sagemaker.UpdateCodeRepositoryInput) (*request.Request, *sagemaker.UpdateCodeRepositoryOutput) @@ -1421,6 +1474,14 @@ type SageMakerAPI interface { UpdateImageVersionWithContext(aws.Context, *sagemaker.UpdateImageVersionInput, ...request.Option) (*sagemaker.UpdateImageVersionOutput, error) UpdateImageVersionRequest(*sagemaker.UpdateImageVersionInput) (*request.Request, *sagemaker.UpdateImageVersionOutput) + UpdateInferenceComponent(*sagemaker.UpdateInferenceComponentInput) (*sagemaker.UpdateInferenceComponentOutput, error) + UpdateInferenceComponentWithContext(aws.Context, *sagemaker.UpdateInferenceComponentInput, ...request.Option) (*sagemaker.UpdateInferenceComponentOutput, error) + UpdateInferenceComponentRequest(*sagemaker.UpdateInferenceComponentInput) (*request.Request, *sagemaker.UpdateInferenceComponentOutput) + + UpdateInferenceComponentRuntimeConfig(*sagemaker.UpdateInferenceComponentRuntimeConfigInput) (*sagemaker.UpdateInferenceComponentRuntimeConfigOutput, error) + UpdateInferenceComponentRuntimeConfigWithContext(aws.Context, *sagemaker.UpdateInferenceComponentRuntimeConfigInput, ...request.Option) (*sagemaker.UpdateInferenceComponentRuntimeConfigOutput, error) + UpdateInferenceComponentRuntimeConfigRequest(*sagemaker.UpdateInferenceComponentRuntimeConfigInput) (*request.Request, *sagemaker.UpdateInferenceComponentRuntimeConfigOutput) + UpdateInferenceExperiment(*sagemaker.UpdateInferenceExperimentInput) (*sagemaker.UpdateInferenceExperimentOutput, error) UpdateInferenceExperimentWithContext(aws.Context, *sagemaker.UpdateInferenceExperimentInput, ...request.Option) (*sagemaker.UpdateInferenceExperimentOutput, error) UpdateInferenceExperimentRequest(*sagemaker.UpdateInferenceExperimentInput) (*request.Request, *sagemaker.UpdateInferenceExperimentOutput) diff --git a/service/sagemakerruntime/api.go b/service/sagemakerruntime/api.go index 574c47bbd85..b16ca478d25 100644 --- a/service/sagemakerruntime/api.go +++ b/service/sagemakerruntime/api.go @@ -309,6 +309,11 @@ func (c *SageMakerRuntime) InvokeEndpointWithResponseStreamRequest(input *Invoke // - For information about how to process the streaming response, see Invoke // real-time endpoints (https://docs.aws.amazon.com/sagemaker/latest/dg/realtime-endpoints-test-endpoints.html). // +// Before you can use this operation, your IAM permissions must allow the sagemaker:InvokeEndpoint +// action. For more information about Amazon SageMaker actions for IAM policies, +// see Actions, resources, and condition keys for Amazon SageMaker (https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonsagemaker.html) +// in the IAM Service Authorization Reference. +// // Amazon SageMaker strips all POST headers except those supported by the API. // Amazon SageMaker might add additional headers. You should not rely on the // behavior of headers outside those enumerated in the request syntax. @@ -1013,6 +1018,10 @@ type InvokeEndpointInput struct { // EndpointName is a required field EndpointName *string `location:"uri" locationName:"EndpointName" type:"string" required:"true"` + // If the endpoint hosts one or more inference components, this parameter specifies + // the name of inference component to invoke. + InferenceComponentName *string `location:"header" locationName:"X-Amzn-SageMaker-Inference-Component" type:"string"` + // If you provide a value, it is added to the captured data when you enable // data capture on the endpoint. For information about data capture, see Capture // Data (https://docs.aws.amazon.com/sagemaker/latest/dg/model-monitor-data-capture.html). @@ -1117,6 +1126,12 @@ func (s *InvokeEndpointInput) SetEndpointName(v string) *InvokeEndpointInput { return s } +// SetInferenceComponentName sets the InferenceComponentName field's value. +func (s *InvokeEndpointInput) SetInferenceComponentName(v string) *InvokeEndpointInput { + s.InferenceComponentName = &v + return s +} + // SetInferenceId sets the InferenceId field's value. func (s *InvokeEndpointInput) SetInferenceId(v string) *InvokeEndpointInput { s.InferenceId = &v @@ -1287,6 +1302,10 @@ type InvokeEndpointWithResponseStreamInput struct { // EndpointName is a required field EndpointName *string `location:"uri" locationName:"EndpointName" type:"string" required:"true"` + // If the endpoint hosts one or more inference components, this parameter specifies + // the name of inference component to invoke for a streaming response. + InferenceComponentName *string `location:"header" locationName:"X-Amzn-SageMaker-Inference-Component" type:"string"` + // An identifier that you assign to your request. InferenceId *string `location:"header" locationName:"X-Amzn-SageMaker-Inference-Id" min:"1" type:"string"` @@ -1374,6 +1393,12 @@ func (s *InvokeEndpointWithResponseStreamInput) SetEndpointName(v string) *Invok return s } +// SetInferenceComponentName sets the InferenceComponentName field's value. +func (s *InvokeEndpointWithResponseStreamInput) SetInferenceComponentName(v string) *InvokeEndpointWithResponseStreamInput { + s.InferenceComponentName = &v + return s +} + // SetInferenceId sets the InferenceId field's value. func (s *InvokeEndpointWithResponseStreamInput) SetInferenceId(v string) *InvokeEndpointWithResponseStreamInput { s.InferenceId = &v diff --git a/service/sts/api.go b/service/sts/api.go index 9305b9010d1..2c395f5f673 100644 --- a/service/sts/api.go +++ b/service/sts/api.go @@ -1468,7 +1468,7 @@ type AssumeRoleInput struct { // trusted context assertion and the ARN of the context provider from which // the trusted context assertion was generated. // - // [{"ProviderArn":"arn:aws:iam::aws:contextProvider/identitycenter","ContextAssertion":"trusted-context-assertion"}] + // [{"ProviderArn":"arn:aws:iam::aws:contextProvider/IdentityCenter","ContextAssertion":"trusted-context-assertion"}] ProvidedContexts []*ProvidedContext `type:"list"` // The Amazon Resource Name (ARN) of the role to assume.