diff --git a/generator/ServiceModels/sagemaker/sagemaker-2017-07-24.api.json b/generator/ServiceModels/sagemaker/sagemaker-2017-07-24.api.json index a07acf22e1cb..18fc07ee4d29 100644 --- a/generator/ServiceModels/sagemaker/sagemaker-2017-07-24.api.json +++ b/generator/ServiceModels/sagemaker/sagemaker-2017-07-24.api.json @@ -2762,7 +2762,10 @@ "requestUri":"/" }, "input":{"shape":"UpdateWorkforceRequest"}, - "output":{"shape":"UpdateWorkforceResponse"} + "output":{"shape":"UpdateWorkforceResponse"}, + "errors":[ + {"shape":"ConflictException"} + ] }, "UpdateWorkteam":{ "name":"UpdateWorkteam", @@ -5580,7 +5583,8 @@ "OidcConfig":{"shape":"OidcConfig"}, "SourceIpConfig":{"shape":"SourceIpConfig"}, "WorkforceName":{"shape":"WorkforceName"}, - "Tags":{"shape":"TagList"} + "Tags":{"shape":"TagList"}, + "WorkforceVpcConfig":{"shape":"WorkforceVpcConfigRequest"} } }, "CreateWorkforceResponse":{ @@ -9932,7 +9936,8 @@ "LabelingJobResourceConfig":{ "type":"structure", "members":{ - "VolumeKmsKeyId":{"shape":"KmsKeyId"} + "VolumeKmsKeyId":{"shape":"KmsKeyId"}, + "VpcConfig":{"shape":"VpcConfig"} } }, "LabelingJobS3DataSource":{ @@ -16492,7 +16497,8 @@ "members":{ "WorkforceName":{"shape":"WorkforceName"}, "SourceIpConfig":{"shape":"SourceIpConfig"}, - "OidcConfig":{"shape":"OidcConfig"} + "OidcConfig":{"shape":"OidcConfig"}, + "WorkforceVpcConfig":{"shape":"WorkforceVpcConfigRequest"} } }, "UpdateWorkforceResponse":{ @@ -16706,7 +16712,10 @@ "SubDomain":{"shape":"String"}, "CognitoConfig":{"shape":"CognitoConfig"}, "OidcConfig":{"shape":"OidcConfigForResponse"}, - "CreateDate":{"shape":"Timestamp"} + "CreateDate":{"shape":"Timestamp"}, + "WorkforceVpcConfig":{"shape":"WorkforceVpcConfigResponse"}, + "Status":{"shape":"WorkforceStatus"}, + "FailureReason":{"shape":"WorkforceFailureReason"} } }, "WorkforceArn":{ @@ -16714,12 +16723,83 @@ "max":256, "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:workforce/.*" }, + "WorkforceFailureReason":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".+" + }, "WorkforceName":{ "type":"string", "max":63, "min":1, "pattern":"^[a-zA-Z0-9]([a-zA-Z0-9\\-]){0,62}$" }, + "WorkforceSecurityGroupId":{ + "type":"string", + "max":32, + "pattern":"^sg-[0-9a-z]*$" + }, + "WorkforceSecurityGroupIds":{ + "type":"list", + "member":{"shape":"WorkforceSecurityGroupId"}, + "max":5, + "min":1 + }, + "WorkforceStatus":{ + "type":"string", + "enum":[ + "Initializing", + "Updating", + "Deleting", + "Failed", + "Active" + ] + }, + "WorkforceSubnetId":{ + "type":"string", + "max":32, + "pattern":"^subnet-[0-9a-z]*$" + }, + "WorkforceSubnets":{ + "type":"list", + "member":{"shape":"WorkforceSubnetId"}, + "max":16, + "min":1 + }, + "WorkforceVpcConfigRequest":{ + "type":"structure", + "members":{ + "VpcId":{"shape":"WorkforceVpcId"}, + "SecurityGroupIds":{"shape":"WorkforceSecurityGroupIds"}, + "Subnets":{"shape":"WorkforceSubnets"} + } + }, + "WorkforceVpcConfigResponse":{ + "type":"structure", + "required":[ + "VpcId", + "SecurityGroupIds", + "Subnets" + ], + "members":{ + "VpcId":{"shape":"WorkforceVpcId"}, + "SecurityGroupIds":{"shape":"WorkforceSecurityGroupIds"}, + "Subnets":{"shape":"WorkforceSubnets"}, + "VpcEndpointId":{"shape":"WorkforceVpcEndpointId"} + } + }, + "WorkforceVpcEndpointId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^vpce-[0-9a-z]*$" + }, + "WorkforceVpcId":{ + "type":"string", + "max":32, + "pattern":"^vpc-[0-9a-z]*$" + }, "Workforces":{ "type":"list", "member":{"shape":"Workforce"} diff --git a/generator/ServiceModels/sagemaker/sagemaker-2017-07-24.docs.json b/generator/ServiceModels/sagemaker/sagemaker-2017-07-24.docs.json index 211e1833ff25..3c3bb68ff3b7 100644 --- a/generator/ServiceModels/sagemaker/sagemaker-2017-07-24.docs.json +++ b/generator/ServiceModels/sagemaker/sagemaker-2017-07-24.docs.json @@ -30,7 +30,7 @@ "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.

", "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.

", - "CreateModel": "

Creates a model in SageMaker. In the request, you name the model and describe a primary container. For the primary container, you specify the Docker image that contains inference code, artifacts (from prior training), and a custom environment map that the inference code uses when you deploy the model for predictions.

Use this API to create a model if you want to use SageMaker hosting services or run a batch transform job.

To host your model, you create an endpoint configuration with the CreateEndpointConfig API, and then create an endpoint with the CreateEndpoint API. SageMaker then deploys all of the containers that you defined for the model in the hosting environment.

For an example that calls this method when deploying a model to SageMaker hosting services, see Deploy the Model to Amazon SageMaker Hosting Services (Amazon Web Services SDK for Python (Boto 3)).

To run a batch transform using your model, you start a job with the CreateTransformJob API. SageMaker uses your model and your dataset to get inferences which are then saved to a specified S3 location.

In the request, you also provide an IAM role that SageMaker can assume to access model artifacts and docker image for deployment on ML compute hosting instances or for batch transform jobs. In addition, you also use the IAM role to manage permissions the inference code needs. For example, if the inference code access any other Amazon Web Services resources, you grant necessary permissions via this role.

", + "CreateModel": "

Creates a model in SageMaker. In the request, you name the model and describe a primary container. For the primary container, you specify the Docker image that contains inference code, artifacts (from prior training), and a custom environment map that the inference code uses when you deploy the model for predictions.

Use this API to create a model if you want to use SageMaker hosting services or run a batch transform job.

To host your model, you create an endpoint configuration with the CreateEndpointConfig API, and then create an endpoint with the CreateEndpoint API. SageMaker then deploys all of the containers that you defined for the model in the hosting environment.

For an example that calls this method when deploying a model to SageMaker hosting services, see Create a Model (Amazon Web Services SDK for Python (Boto 3)).

To run a batch transform using your model, you start a job with the CreateTransformJob API. SageMaker uses your model and your dataset to get inferences which are then saved to a specified S3 location.

In the request, you also provide an IAM role that SageMaker can assume to access model artifacts and docker image for deployment on ML compute hosting instances or for batch transform jobs. In addition, you also use the IAM role to manage permissions the inference code needs. For example, if the inference code access any other Amazon Web Services resources, you grant necessary permissions via this role.

", "CreateModelBiasJobDefinition": "

Creates the definition for a model bias job.

", "CreateModelExplainabilityJobDefinition": "

Creates the definition for a model explainability job.

", "CreateModelPackage": "

Creates a model package that you can use to create SageMaker models or list on Amazon Web Services Marketplace, or a versioned model that is part of a model group. Buyers can subscribe to model packages listed on Amazon Web Services Marketplace to create models in SageMaker.

To create a model package by specifying a Docker container that contains your inference code and the Amazon S3 location of your model artifacts, provide values for InferenceSpecification. To create a model from an algorithm resource that you created or subscribed to in Amazon Web Services Marketplace, provide a value for SourceAlgorithmSpecification.

There are two types of model packages:

", @@ -251,7 +251,7 @@ "UpdateTrial": "

Updates the display name of a trial.

", "UpdateTrialComponent": "

Updates one or more properties of a trial component.

", "UpdateUserProfile": "

Updates a user profile.

", - "UpdateWorkforce": "

Use this operation to update your workforce. You can use this operation to require that workers use specific IP addresses to work on tasks and to update your OpenID Connect (OIDC) Identity Provider (IdP) workforce configuration.

Use SourceIpConfig to restrict worker access to tasks to a specific range of IP addresses. You specify allowed IP addresses by creating a list of up to ten CIDRs. By default, a workforce isn't restricted to specific IP addresses. If you specify a range of IP addresses, workers who attempt to access tasks using any IP address outside the specified range are denied and get a Not Found error message on the worker portal.

Use OidcConfig to update the configuration of a workforce created using your own OIDC IdP.

You can only update your OIDC IdP configuration when there are no work teams associated with your workforce. You can delete work teams using the operation.

After restricting access to a range of IP addresses or updating your OIDC IdP configuration with this operation, you can view details about your update workforce using the operation.

This operation only applies to private workforces.

", + "UpdateWorkforce": "

Use this operation to update your workforce. You can use this operation to require that workers use specific IP addresses to work on tasks and to update your OpenID Connect (OIDC) Identity Provider (IdP) workforce configuration.

The worker portal is now supported in VPC and public internet.

Use SourceIpConfig to restrict worker access to tasks to a specific range of IP addresses. You specify allowed IP addresses by creating a list of up to ten CIDRs. By default, a workforce isn't restricted to specific IP addresses. If you specify a range of IP addresses, workers who attempt to access tasks using any IP address outside the specified range are denied and get a Not Found error message on the worker portal.

To restrict access to all the workers in public internet, add the SourceIpConfig CIDR value as \"0.0.0.0/0\".

Amazon SageMaker does not support Source Ip restriction for worker portals in VPC.

Use OidcConfig to update the configuration of a workforce created using your own OIDC IdP.

You can only update your OIDC IdP configuration when there are no work teams associated with your workforce. You can delete work teams using the operation.

After restricting access to a range of IP addresses or updating your OIDC IdP configuration with this operation, you can view details about your update workforce using the operation.

This operation only applies to private workforces.

", "UpdateWorkteam": "

Updates an existing work team with new member definitions or description.

" }, "shapes": { @@ -530,7 +530,7 @@ "AppInstanceType": { "base": null, "refs": { - "ResourceSpec$InstanceType": "

The instance type that the image version runs on.

JupyterServer Apps only support the system value. KernelGateway Apps do not support the system value, but support all other values for available instance types.

" + "ResourceSpec$InstanceType": "

The instance type that the image version runs on.

JupyterServer apps only support the system value.

For KernelGateway apps, the system value is translated to ml.t3.medium. KernelGateway apps also support all other values for available instance types.

" } }, "AppList": { @@ -887,7 +887,7 @@ } }, "AutoMLDataSplitConfig": { - "base": "

This structure specifies how to split the data into train and test datasets. The validation and training datasets must contain the same headers. The validation dataset must be less than 2 GB in size.

", + "base": "

This structure specifies how to split the data into train and validation datasets. The validation and training datasets must contain the same headers. The validation dataset must be less than 2 GB in size.

", "refs": { "AutoMLJobConfig$DataSplitConfig": "

The configuration for splitting the input training dataset.

Type: AutoMLDataSplitConfig

" } @@ -1044,13 +1044,13 @@ "AutoMLS3DataSource": { "base": "

The Amazon S3 data source.

", "refs": { - "AutoMLDataSource$S3DataSource": "

The Amazon S3 location of the input data.

The input data must be in CSV format and contain at least 500 rows.

" + "AutoMLDataSource$S3DataSource": "

The Amazon S3 location of the input data.

" } }, "AutoMLS3DataType": { "base": null, "refs": { - "AutoMLS3DataSource$S3DataType": "

The data type.

" + "AutoMLS3DataSource$S3DataType": "

The data type.

A ManifestFile should have the format shown below:

[ {\"prefix\": \"s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/DOC-EXAMPLE-PREFIX/\"},

\"DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-1\",

\"DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-2\",

... \"DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-N\" ]

An S3Prefix should have the following format:

s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER-OR-FILE

" } }, "AutoMLSecurityConfig": { @@ -9239,7 +9239,7 @@ "ResourceSpec": { "base": "

Specifies the ARN's of a SageMaker image and SageMaker image version, and the instance type that the version runs on.

", "refs": { - "CreateAppRequest$ResourceSpec": "

The instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

", + "CreateAppRequest$ResourceSpec": "

The instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

The value of InstanceType passed as part of the ResourceSpec in the CreateApp call overrides the value passed as part of the ResourceSpec configured for the user profile or the domain. If InstanceType is not specified in any of those three ResourceSpec values for a KernelGateway app, the CreateApp call fails with a request validation error.

", "DescribeAppResponse$ResourceSpec": "

The instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

", "JupyterServerAppSettings$DefaultResourceSpec": "

The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the JupyterServer app. If you use the LifecycleConfigArns parameter, then this parameter is also required.

", "KernelGatewayAppSettings$DefaultResourceSpec": "

The default instance type and the Amazon Resource Name (ARN) of the default SageMaker image used by the KernelGateway app.

The Amazon SageMaker Studio UI does not use the default instance type value set here. The default instance type set here is used when Apps are created using the Amazon Web Services Command Line Interface or Amazon Web Services CloudFormation and the instance type parameter value is not passed.

", @@ -9441,8 +9441,8 @@ "LabelingJobS3DataSource$ManifestS3Uri": "

The Amazon S3 location of the manifest file that describes the input data objects.

The input manifest file referenced in ManifestS3Uri must contain one of the following keys: source-ref or source. The value of the keys are interpreted as follows:

If you are a new user of Ground Truth, it is recommended you review Use an Input Manifest File in the Amazon SageMaker Developer Guide to learn how to create an input manifest file.

", "MetricsSource$S3Uri": "

", "ModelArtifacts$S3ModelArtifacts": "

The path of the S3 object that contains the model artifacts. For example, s3://bucket-name/keynameprefix/model.tar.gz.

", - "ModelBiasAppSpecification$ConfigUri": "

JSON formatted S3 file that defines bias parameters. For more information on this JSON configuration file, see Configure bias parameters.

", - "ModelExplainabilityAppSpecification$ConfigUri": "

JSON formatted S3 file that defines explainability parameters. For more information on this JSON configuration file, see Configure model explainability parameters.

", + "ModelBiasAppSpecification$ConfigUri": "

JSON formatted S3 file that defines bias parameters. For more information on this JSON configuration file, see Configure bias parameters.

", + "ModelExplainabilityAppSpecification$ConfigUri": "

JSON formatted S3 file that defines explainability parameters. For more information on this JSON configuration file, see Configure model explainability parameters.

", "ModelQualityAppSpecification$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 flatted json so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.

", "ModelQualityAppSpecification$PostAnalyticsProcessorSourceUri": "

An Amazon S3 URI to a script that is called after analysis has been performed. Applicable only for the built-in (first party) containers.

", "MonitoringAppSpecification$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 flatted json so that the built-in container can use the converted data. Applicable only for the built-in (first party) containers.

", @@ -11862,6 +11862,7 @@ "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.

", + "LabelingJobResourceConfig$VpcConfig": null, "MonitoringNetworkConfig$VpcConfig": null, "NetworkConfig$VpcConfig": null, "TrainingJob$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.

" @@ -11902,6 +11903,12 @@ "Workteam$WorkforceArn": "

The Amazon Resource Name (ARN) of the workforce.

" } }, + "WorkforceFailureReason": { + "base": null, + "refs": { + "Workforce$FailureReason": "

The reason your workforce failed.

" + } + }, "WorkforceName": { "base": null, "refs": { @@ -11914,6 +11921,64 @@ "Workforce$WorkforceName": "

The name of the private workforce.

" } }, + "WorkforceSecurityGroupId": { + "base": null, + "refs": { + "WorkforceSecurityGroupIds$member": null + } + }, + "WorkforceSecurityGroupIds": { + "base": null, + "refs": { + "WorkforceVpcConfigRequest$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.

", + "WorkforceVpcConfigResponse$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.

" + } + }, + "WorkforceStatus": { + "base": null, + "refs": { + "Workforce$Status": "

The status of your workforce.

" + } + }, + "WorkforceSubnetId": { + "base": null, + "refs": { + "WorkforceSubnets$member": null + } + }, + "WorkforceSubnets": { + "base": null, + "refs": { + "WorkforceVpcConfigRequest$Subnets": "

The ID of the subnets in the VPC that you want to connect.

", + "WorkforceVpcConfigResponse$Subnets": "

The ID of the subnets in the VPC that you want to connect.

" + } + }, + "WorkforceVpcConfigRequest": { + "base": "

The VPC object you use to create or update a workforce.

", + "refs": { + "CreateWorkforceRequest$WorkforceVpcConfig": "

Use this parameter to configure a workforce using VPC.

", + "UpdateWorkforceRequest$WorkforceVpcConfig": "

Use this parameter to update your VPC configuration for a workforce.

" + } + }, + "WorkforceVpcConfigResponse": { + "base": "

A VpcConfig object that specifies the VPC that you want your workforce to connect to.

", + "refs": { + "Workforce$WorkforceVpcConfig": "

The configuration of a VPC workforce.

" + } + }, + "WorkforceVpcEndpointId": { + "base": null, + "refs": { + "WorkforceVpcConfigResponse$VpcEndpointId": "

The IDs for the VPC service endpoints of your VPC workforce when it is created and updated.

" + } + }, + "WorkforceVpcId": { + "base": null, + "refs": { + "WorkforceVpcConfigRequest$VpcId": "

The ID of the VPC that the workforce uses for communication.

", + "WorkforceVpcConfigResponse$VpcId": "

The ID of the VPC that the workforce uses for communication.

" + } + }, "Workforces": { "base": null, "refs": { diff --git a/generator/ServiceModels/sagemaker/sagemaker-2017-07-24.normal.json b/generator/ServiceModels/sagemaker/sagemaker-2017-07-24.normal.json index 89b92d6cdb8d..a50fa20b976c 100644 --- a/generator/ServiceModels/sagemaker/sagemaker-2017-07-24.normal.json +++ b/generator/ServiceModels/sagemaker/sagemaker-2017-07-24.normal.json @@ -392,7 +392,7 @@ "errors":[ {"shape":"ResourceLimitExceeded"} ], - "documentation":"

Creates a model in SageMaker. In the request, you name the model and describe a primary container. For the primary container, you specify the Docker image that contains inference code, artifacts (from prior training), and a custom environment map that the inference code uses when you deploy the model for predictions.

Use this API to create a model if you want to use SageMaker hosting services or run a batch transform job.

To host your model, you create an endpoint configuration with the CreateEndpointConfig API, and then create an endpoint with the CreateEndpoint API. SageMaker then deploys all of the containers that you defined for the model in the hosting environment.

For an example that calls this method when deploying a model to SageMaker hosting services, see Deploy the Model to Amazon SageMaker Hosting Services (Amazon Web Services SDK for Python (Boto 3)).

To run a batch transform using your model, you start a job with the CreateTransformJob API. SageMaker uses your model and your dataset to get inferences which are then saved to a specified S3 location.

In the request, you also provide an IAM role that SageMaker can assume to access model artifacts and docker image for deployment on ML compute hosting instances or for batch transform jobs. In addition, you also use the IAM role to manage permissions the inference code needs. For example, if the inference code access any other Amazon Web Services resources, you grant necessary permissions via this role.

" + "documentation":"

Creates a model in SageMaker. In the request, you name the model and describe a primary container. For the primary container, you specify the Docker image that contains inference code, artifacts (from prior training), and a custom environment map that the inference code uses when you deploy the model for predictions.

Use this API to create a model if you want to use SageMaker hosting services or run a batch transform job.

To host your model, you create an endpoint configuration with the CreateEndpointConfig API, and then create an endpoint with the CreateEndpoint API. SageMaker then deploys all of the containers that you defined for the model in the hosting environment.

For an example that calls this method when deploying a model to SageMaker hosting services, see Create a Model (Amazon Web Services SDK for Python (Boto 3)).

To run a batch transform using your model, you start a job with the CreateTransformJob API. SageMaker uses your model and your dataset to get inferences which are then saved to a specified S3 location.

In the request, you also provide an IAM role that SageMaker can assume to access model artifacts and docker image for deployment on ML compute hosting instances or for batch transform jobs. In addition, you also use the IAM role to manage permissions the inference code needs. For example, if the inference code access any other Amazon Web Services resources, you grant necessary permissions via this role.

" }, "CreateModelBiasJobDefinition":{ "name":"CreateModelBiasJobDefinition", @@ -3012,7 +3012,10 @@ }, "input":{"shape":"UpdateWorkforceRequest"}, "output":{"shape":"UpdateWorkforceResponse"}, - "documentation":"

Use this operation to update your workforce. You can use this operation to require that workers use specific IP addresses to work on tasks and to update your OpenID Connect (OIDC) Identity Provider (IdP) workforce configuration.

Use SourceIpConfig to restrict worker access to tasks to a specific range of IP addresses. You specify allowed IP addresses by creating a list of up to ten CIDRs. By default, a workforce isn't restricted to specific IP addresses. If you specify a range of IP addresses, workers who attempt to access tasks using any IP address outside the specified range are denied and get a Not Found error message on the worker portal.

Use OidcConfig to update the configuration of a workforce created using your own OIDC IdP.

You can only update your OIDC IdP configuration when there are no work teams associated with your workforce. You can delete work teams using the operation.

After restricting access to a range of IP addresses or updating your OIDC IdP configuration with this operation, you can view details about your update workforce using the operation.

This operation only applies to private workforces.

" + "errors":[ + {"shape":"ConflictException"} + ], + "documentation":"

Use this operation to update your workforce. You can use this operation to require that workers use specific IP addresses to work on tasks and to update your OpenID Connect (OIDC) Identity Provider (IdP) workforce configuration.

The worker portal is now supported in VPC and public internet.

Use SourceIpConfig to restrict worker access to tasks to a specific range of IP addresses. You specify allowed IP addresses by creating a list of up to ten CIDRs. By default, a workforce isn't restricted to specific IP addresses. If you specify a range of IP addresses, workers who attempt to access tasks using any IP address outside the specified range are denied and get a Not Found error message on the worker portal.

To restrict access to all the workers in public internet, add the SourceIpConfig CIDR value as \"0.0.0.0/0\".

Amazon SageMaker does not support Source Ip restriction for worker portals in VPC.

Use OidcConfig to update the configuration of a workforce created using your own OIDC IdP.

You can only update your OIDC IdP configuration when there are no work teams associated with your workforce. You can delete work teams using the operation.

After restricting access to a range of IP addresses or updating your OIDC IdP configuration with this operation, you can view details about your update workforce using the operation.

This operation only applies to private workforces.

" }, "UpdateWorkteam":{ "name":"UpdateWorkteam", @@ -4169,7 +4172,7 @@ "members":{ "S3DataSource":{ "shape":"AutoMLS3DataSource", - "documentation":"

The Amazon S3 location of the input data.

The input data must be in CSV format and contain at least 500 rows.

" + "documentation":"

The Amazon S3 location of the input data.

" } }, "documentation":"

The data source for the Autopilot job.

" @@ -4182,7 +4185,7 @@ "documentation":"

The validation fraction (optional) is a float that specifies the portion of the training dataset to be used for validation. The default value is 0.2, and values must be greater than 0 and less than 1. We recommend setting this value to be less than 0.5.

" } }, - "documentation":"

This structure specifies how to split the data into train and test datasets. The validation and training datasets must contain the same headers. The validation dataset must be less than 2 GB in size.

" + "documentation":"

This structure specifies how to split the data into train and validation datasets. The validation and training datasets must contain the same headers. The validation dataset must be less than 2 GB in size.

" }, "AutoMLFailureReason":{ "type":"string", @@ -4443,7 +4446,7 @@ "members":{ "S3DataType":{ "shape":"AutoMLS3DataType", - "documentation":"

The data type.

" + "documentation":"

The data type.

A ManifestFile should have the format shown below:

[ {\"prefix\": \"s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/DOC-EXAMPLE-PREFIX/\"},

\"DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-1\",

\"DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-2\",

... \"DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-N\" ]

An S3Prefix should have the following format:

s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER-OR-FILE

" }, "S3Uri":{ "shape":"S3Uri", @@ -5756,7 +5759,7 @@ }, "ResourceSpec":{ "shape":"ResourceSpec", - "documentation":"

The instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

" + "documentation":"

The instance type and the Amazon Resource Name (ARN) of the SageMaker image created on the instance.

The value of InstanceType passed as part of the ResourceSpec in the CreateApp call overrides the value passed as part of the ResourceSpec configured for the user profile or the domain. If InstanceType is not specified in any of those three ResourceSpec values for a KernelGateway app, the CreateApp call fails with a request validation error.

" } } }, @@ -7703,6 +7706,10 @@ "Tags":{ "shape":"TagList", "documentation":"

An array of key-value pairs that contain metadata to help you categorize and organize our workforce. Each tag consists of a key and a value, both of which you define.

" + }, + "WorkforceVpcConfig":{ + "shape":"WorkforceVpcConfigRequest", + "documentation":"

Use this parameter to configure a workforce using VPC.

" } } }, @@ -15370,7 +15377,8 @@ "VolumeKmsKeyId":{ "shape":"KmsKeyId", "documentation":"

The Amazon Web Services Key Management Service (Amazon Web Services KMS) key that Amazon SageMaker uses to encrypt data on the storage volume attached to the ML compute instance(s) that run the training and inference jobs used for automated data labeling.

You can only specify a VolumeKmsKeyId when you create a labeling job with automated data labeling enabled using the API operation CreateLabelingJob. You cannot specify an Amazon Web Services KMS key to encrypt the storage volume used for automated data labeling model training and inference when you create a labeling job using the console. To learn more, see Output Data and Storage Volume Encryption.

The VolumeKmsKeyId can be any of the following formats:

" - } + }, + "VpcConfig":{"shape":"VpcConfig"} }, "documentation":"

Configure encryption on the storage volume attached to the ML compute instance used to run automated data labeling model training and inference.

" }, @@ -18797,7 +18805,7 @@ }, "ConfigUri":{ "shape":"S3Uri", - "documentation":"

JSON formatted S3 file that defines bias parameters. For more information on this JSON configuration file, see Configure bias parameters.

" + "documentation":"

JSON formatted S3 file that defines bias parameters. For more information on this JSON configuration file, see Configure bias parameters.

" }, "Environment":{ "shape":"MonitoringEnvironmentMap", @@ -18928,7 +18936,7 @@ }, "ConfigUri":{ "shape":"S3Uri", - "documentation":"

JSON formatted S3 file that defines explainability parameters. For more information on this JSON configuration file, see Configure model explainability parameters.

" + "documentation":"

JSON formatted S3 file that defines explainability parameters. For more information on this JSON configuration file, see Configure model explainability parameters.

" }, "Environment":{ "shape":"MonitoringEnvironmentMap", @@ -23242,7 +23250,7 @@ }, "InstanceType":{ "shape":"AppInstanceType", - "documentation":"

The instance type that the image version runs on.

JupyterServer Apps only support the system value. KernelGateway Apps do not support the system value, but support all other values for available instance types.

" + "documentation":"

The instance type that the image version runs on.

JupyterServer apps only support the system value.

For KernelGateway apps, the system value is translated to ml.t3.medium. KernelGateway apps also support all other values for available instance types.

" }, "LifecycleConfigArn":{ "shape":"StudioLifecycleConfigArn", @@ -26718,6 +26726,10 @@ "OidcConfig":{ "shape":"OidcConfig", "documentation":"

Use this parameter to update your OIDC Identity Provider (IdP) configuration for a workforce made using your own IdP.

" + }, + "WorkforceVpcConfig":{ + "shape":"WorkforceVpcConfigRequest", + "documentation":"

Use this parameter to update your VPC configuration for a workforce.

" } } }, @@ -27046,6 +27058,18 @@ "CreateDate":{ "shape":"Timestamp", "documentation":"

The date that the workforce is created.

" + }, + "WorkforceVpcConfig":{ + "shape":"WorkforceVpcConfigResponse", + "documentation":"

The configuration of a VPC workforce.

" + }, + "Status":{ + "shape":"WorkforceStatus", + "documentation":"

The status of your workforce.

" + }, + "FailureReason":{ + "shape":"WorkforceFailureReason", + "documentation":"

The reason your workforce failed.

" } }, "documentation":"

A single private workforce, which is automatically created when you create your first private work team. You can create one private work force in each Amazon Web Services Region. By default, any workforce-related API operation used in a specific region will apply to the workforce created in that region. To learn how to create a private workforce, see Create a Private Workforce.

" @@ -27055,12 +27079,106 @@ "max":256, "pattern":"arn:aws[a-z\\-]*:sagemaker:[a-z0-9\\-]*:[0-9]{12}:workforce/.*" }, + "WorkforceFailureReason":{ + "type":"string", + "max":1024, + "min":1, + "pattern":".+" + }, "WorkforceName":{ "type":"string", "max":63, "min":1, "pattern":"^[a-zA-Z0-9]([a-zA-Z0-9\\-]){0,62}$" }, + "WorkforceSecurityGroupId":{ + "type":"string", + "max":32, + "pattern":"^sg-[0-9a-z]*$" + }, + "WorkforceSecurityGroupIds":{ + "type":"list", + "member":{"shape":"WorkforceSecurityGroupId"}, + "max":5, + "min":1 + }, + "WorkforceStatus":{ + "type":"string", + "enum":[ + "Initializing", + "Updating", + "Deleting", + "Failed", + "Active" + ] + }, + "WorkforceSubnetId":{ + "type":"string", + "max":32, + "pattern":"^subnet-[0-9a-z]*$" + }, + "WorkforceSubnets":{ + "type":"list", + "member":{"shape":"WorkforceSubnetId"}, + "max":16, + "min":1 + }, + "WorkforceVpcConfigRequest":{ + "type":"structure", + "members":{ + "VpcId":{ + "shape":"WorkforceVpcId", + "documentation":"

The ID of the VPC that the workforce uses for communication.

" + }, + "SecurityGroupIds":{ + "shape":"WorkforceSecurityGroupIds", + "documentation":"

The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet.

" + }, + "Subnets":{ + "shape":"WorkforceSubnets", + "documentation":"

The ID of the subnets in the VPC that you want to connect.

" + } + }, + "documentation":"

The VPC object you use to create or update a workforce.

" + }, + "WorkforceVpcConfigResponse":{ + "type":"structure", + "required":[ + "VpcId", + "SecurityGroupIds", + "Subnets" + ], + "members":{ + "VpcId":{ + "shape":"WorkforceVpcId", + "documentation":"

The ID of the VPC that the workforce uses for communication.

" + }, + "SecurityGroupIds":{ + "shape":"WorkforceSecurityGroupIds", + "documentation":"

The VPC security group IDs, in the form sg-xxxxxxxx. The security groups must be for the same VPC as specified in the subnet.

" + }, + "Subnets":{ + "shape":"WorkforceSubnets", + "documentation":"

The ID of the subnets in the VPC that you want to connect.

" + }, + "VpcEndpointId":{ + "shape":"WorkforceVpcEndpointId", + "documentation":"

The IDs for the VPC service endpoints of your VPC workforce when it is created and updated.

" + } + }, + "documentation":"

A VpcConfig object that specifies the VPC that you want your workforce to connect to.

" + }, + "WorkforceVpcEndpointId":{ + "type":"string", + "max":255, + "min":1, + "pattern":"^vpce-[0-9a-z]*$" + }, + "WorkforceVpcId":{ + "type":"string", + "max":32, + "pattern":"^vpc-[0-9a-z]*$" + }, "Workforces":{ "type":"list", "member":{"shape":"Workforce"} diff --git a/sdk/code-analysis/ServiceAnalysis/SageMaker/Generated/PropertyValueRules.xml b/sdk/code-analysis/ServiceAnalysis/SageMaker/Generated/PropertyValueRules.xml index e4d2a615937f..6c78561cb1a4 100644 --- a/sdk/code-analysis/ServiceAnalysis/SageMaker/Generated/PropertyValueRules.xml +++ b/sdk/code-analysis/ServiceAnalysis/SageMaker/Generated/PropertyValueRules.xml @@ -8328,6 +8328,12 @@ Amazon.SageMaker.Model.Vertex.Type 40 + + Amazon.SageMaker.Model.Workforce.FailureReason + 1 + 1024 + .+ + Amazon.SageMaker.Model.Workforce.WorkforceArn 256 @@ -8339,6 +8345,22 @@ 63 ^[a-zA-Z0-9]([a-zA-Z0-9\-]){0,62}$ + + Amazon.SageMaker.Model.WorkforceVpcConfigRequest.VpcId + 32 + ^vpc-[0-9a-z]*$ + + + Amazon.SageMaker.Model.WorkforceVpcConfigResponse.VpcEndpointId + 1 + 255 + ^vpce-[0-9a-z]*$ + + + Amazon.SageMaker.Model.WorkforceVpcConfigResponse.VpcId + 32 + ^vpc-[0-9a-z]*$ + Amazon.SageMaker.Model.Workteam.Description 1 diff --git a/sdk/src/Services/SageMaker/Generated/Model/AutoMLDataSource.cs b/sdk/src/Services/SageMaker/Generated/Model/AutoMLDataSource.cs index f03c7dcd4ea2..3ab21dcd59e1 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/AutoMLDataSource.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/AutoMLDataSource.cs @@ -40,11 +40,6 @@ public partial class AutoMLDataSource /// /// The Amazon S3 location of the input data. /// - /// - /// - /// The input data must be in CSV format and contain at least 500 rows. - /// - /// /// [AWSProperty(Required=true)] public AutoMLS3DataSource S3DataSource diff --git a/sdk/src/Services/SageMaker/Generated/Model/AutoMLDataSplitConfig.cs b/sdk/src/Services/SageMaker/Generated/Model/AutoMLDataSplitConfig.cs index 378eca30358e..18922ddc6ac4 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/AutoMLDataSplitConfig.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/AutoMLDataSplitConfig.cs @@ -29,9 +29,9 @@ namespace Amazon.SageMaker.Model { /// - /// This structure specifies how to split the data into train and test datasets. The validation - /// and training datasets must contain the same headers. The validation dataset must be - /// less than 2 GB in size. + /// This structure specifies how to split the data into train and validation datasets. + /// The validation and training datasets must contain the same headers. The validation + /// dataset must be less than 2 GB in size. /// public partial class AutoMLDataSplitConfig { diff --git a/sdk/src/Services/SageMaker/Generated/Model/AutoMLS3DataSource.cs b/sdk/src/Services/SageMaker/Generated/Model/AutoMLS3DataSource.cs index 888fbaf2b326..98c3e84ddc07 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/AutoMLS3DataSource.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/AutoMLS3DataSource.cs @@ -41,6 +41,35 @@ public partial class AutoMLS3DataSource /// /// The data type. /// + /// + /// + /// A ManifestFile should have the format shown below: + /// + /// + /// + /// [ {"prefix": "s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER/DOC-EXAMPLE-PREFIX/"}, + /// + /// + /// + /// + /// "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-1", + /// + /// + /// + /// "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-2", + /// + /// + /// + /// ... "DOC-EXAMPLE-RELATIVE-PATH/DOC-EXAMPLE-FOLDER/DATA-N" ] + /// + /// + /// + /// An S3Prefix should have the following format: + /// + /// + /// + /// s3://DOC-EXAMPLE-BUCKET/DOC-EXAMPLE-FOLDER-OR-FILE + /// /// [AWSProperty(Required=true)] public AutoMLS3DataType S3DataType diff --git a/sdk/src/Services/SageMaker/Generated/Model/CreateAppRequest.cs b/sdk/src/Services/SageMaker/Generated/Model/CreateAppRequest.cs index acec38f05e7d..7a602bde0e52 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/CreateAppRequest.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/CreateAppRequest.cs @@ -108,6 +108,15 @@ internal bool IsSetDomainId() /// The instance type and the Amazon Resource Name (ARN) of the SageMaker image created /// on the instance. /// + /// + /// + /// The value of InstanceType passed as part of the ResourceSpec + /// in the CreateApp call overrides the value passed as part of the ResourceSpec + /// configured for the user profile or the domain. If InstanceType is not + /// specified in any of those three ResourceSpec values for a KernelGateway + /// app, the CreateApp call fails with a request validation error. + /// + /// /// public ResourceSpec ResourceSpec { diff --git a/sdk/src/Services/SageMaker/Generated/Model/CreateModelRequest.cs b/sdk/src/Services/SageMaker/Generated/Model/CreateModelRequest.cs index 5e26fc0f060e..35aad253f16e 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/CreateModelRequest.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/CreateModelRequest.cs @@ -50,9 +50,8 @@ namespace Amazon.SageMaker.Model /// /// /// For an example that calls this method when deploying a model to SageMaker hosting - /// services, see Deploy - /// the Model to Amazon SageMaker Hosting Services (Amazon Web Services SDK for Python - /// (Boto 3)). + /// services, see Create + /// a Model (Amazon Web Services SDK for Python (Boto 3)). /// /// /// diff --git a/sdk/src/Services/SageMaker/Generated/Model/CreateWorkforceRequest.cs b/sdk/src/Services/SageMaker/Generated/Model/CreateWorkforceRequest.cs index 56cffe623552..b127d04d7b39 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/CreateWorkforceRequest.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/CreateWorkforceRequest.cs @@ -64,6 +64,7 @@ public partial class CreateWorkforceRequest : AmazonSageMakerRequest private SourceIpConfig _sourceIpConfig; private List _tags = new List(); private string _workforceName; + private WorkforceVpcConfigRequest _workforceVpcConfig; /// /// Gets and sets the property CognitoConfig. @@ -165,5 +166,23 @@ internal bool IsSetWorkforceName() return this._workforceName != null; } + /// + /// Gets and sets the property WorkforceVpcConfig. + /// + /// Use this parameter to configure a workforce using VPC. + /// + /// + public WorkforceVpcConfigRequest WorkforceVpcConfig + { + get { return this._workforceVpcConfig; } + set { this._workforceVpcConfig = value; } + } + + // Check to see if WorkforceVpcConfig property is set + internal bool IsSetWorkforceVpcConfig() + { + return this._workforceVpcConfig != null; + } + } } \ No newline at end of file diff --git a/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/CreateWorkforceRequestMarshaller.cs b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/CreateWorkforceRequestMarshaller.cs index 06a51da5fff4..ad2f3c1aa830 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/CreateWorkforceRequestMarshaller.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/CreateWorkforceRequestMarshaller.cs @@ -122,6 +122,17 @@ public IRequest Marshall(CreateWorkforceRequest publicRequest) context.Writer.Write(publicRequest.WorkforceName); } + if(publicRequest.IsSetWorkforceVpcConfig()) + { + context.Writer.WritePropertyName("WorkforceVpcConfig"); + context.Writer.WriteObjectStart(); + + var marshaller = WorkforceVpcConfigRequestMarshaller.Instance; + marshaller.Marshall(publicRequest.WorkforceVpcConfig, context); + + context.Writer.WriteObjectEnd(); + } + writer.WriteObjectEnd(); string snippet = stringWriter.ToString(); request.Content = System.Text.Encoding.UTF8.GetBytes(snippet); diff --git a/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/LabelingJobResourceConfigMarshaller.cs b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/LabelingJobResourceConfigMarshaller.cs index 5812e9dbae7f..129de13a8306 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/LabelingJobResourceConfigMarshaller.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/LabelingJobResourceConfigMarshaller.cs @@ -51,6 +51,17 @@ public void Marshall(LabelingJobResourceConfig requestObject, JsonMarshallerCont context.Writer.Write(requestObject.VolumeKmsKeyId); } + if(requestObject.IsSetVpcConfig()) + { + context.Writer.WritePropertyName("VpcConfig"); + context.Writer.WriteObjectStart(); + + var marshaller = VpcConfigMarshaller.Instance; + marshaller.Marshall(requestObject.VpcConfig, context); + + context.Writer.WriteObjectEnd(); + } + } /// diff --git a/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/LabelingJobResourceConfigUnmarshaller.cs b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/LabelingJobResourceConfigUnmarshaller.cs index 9e3eaf72b68d..39b37f291136 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/LabelingJobResourceConfigUnmarshaller.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/LabelingJobResourceConfigUnmarshaller.cs @@ -70,6 +70,12 @@ public LabelingJobResourceConfig Unmarshall(JsonUnmarshallerContext context) unmarshalledObject.VolumeKmsKeyId = unmarshaller.Unmarshall(context); continue; } + if (context.TestExpression("VpcConfig", targetDepth)) + { + var unmarshaller = VpcConfigUnmarshaller.Instance; + unmarshalledObject.VpcConfig = unmarshaller.Unmarshall(context); + continue; + } } return unmarshalledObject; diff --git a/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/UpdateWorkforceRequestMarshaller.cs b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/UpdateWorkforceRequestMarshaller.cs index c96e9b0a51e2..fe96bbde5080 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/UpdateWorkforceRequestMarshaller.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/UpdateWorkforceRequestMarshaller.cs @@ -95,6 +95,17 @@ public IRequest Marshall(UpdateWorkforceRequest publicRequest) context.Writer.Write(publicRequest.WorkforceName); } + if(publicRequest.IsSetWorkforceVpcConfig()) + { + context.Writer.WritePropertyName("WorkforceVpcConfig"); + context.Writer.WriteObjectStart(); + + var marshaller = WorkforceVpcConfigRequestMarshaller.Instance; + marshaller.Marshall(publicRequest.WorkforceVpcConfig, context); + + context.Writer.WriteObjectEnd(); + } + writer.WriteObjectEnd(); string snippet = stringWriter.ToString(); request.Content = System.Text.Encoding.UTF8.GetBytes(snippet); diff --git a/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/UpdateWorkforceResponseUnmarshaller.cs b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/UpdateWorkforceResponseUnmarshaller.cs index 89a950317f33..9f162ff39ced 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/UpdateWorkforceResponseUnmarshaller.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/UpdateWorkforceResponseUnmarshaller.cs @@ -80,6 +80,10 @@ public override AmazonServiceException UnmarshallException(JsonUnmarshallerConte using (var streamCopy = new MemoryStream(responseBodyBytes)) using (var contextCopy = new JsonUnmarshallerContext(streamCopy, false, null)) { + if (errorResponse.Code != null && errorResponse.Code.Equals("ConflictException")) + { + return ConflictExceptionUnmarshaller.Instance.Unmarshall(contextCopy, errorResponse); + } } return new AmazonSageMakerException(errorResponse.Message, errorResponse.InnerException, errorResponse.Type, errorResponse.Code, errorResponse.RequestId, errorResponse.StatusCode); } diff --git a/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/WorkforceUnmarshaller.cs b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/WorkforceUnmarshaller.cs index fcfa669f398c..cc6c33756c49 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/WorkforceUnmarshaller.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/WorkforceUnmarshaller.cs @@ -76,6 +76,12 @@ public Workforce Unmarshall(JsonUnmarshallerContext context) unmarshalledObject.CreateDate = unmarshaller.Unmarshall(context); continue; } + if (context.TestExpression("FailureReason", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + unmarshalledObject.FailureReason = unmarshaller.Unmarshall(context); + continue; + } if (context.TestExpression("LastUpdatedDate", targetDepth)) { var unmarshaller = DateTimeUnmarshaller.Instance; @@ -94,6 +100,12 @@ public Workforce Unmarshall(JsonUnmarshallerContext context) unmarshalledObject.SourceIpConfig = unmarshaller.Unmarshall(context); continue; } + if (context.TestExpression("Status", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + unmarshalledObject.Status = unmarshaller.Unmarshall(context); + continue; + } if (context.TestExpression("SubDomain", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; @@ -112,6 +124,12 @@ public Workforce Unmarshall(JsonUnmarshallerContext context) unmarshalledObject.WorkforceName = unmarshaller.Unmarshall(context); continue; } + if (context.TestExpression("WorkforceVpcConfig", targetDepth)) + { + var unmarshaller = WorkforceVpcConfigResponseUnmarshaller.Instance; + unmarshalledObject.WorkforceVpcConfig = unmarshaller.Unmarshall(context); + continue; + } } return unmarshalledObject; diff --git a/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/WorkforceVpcConfigRequestMarshaller.cs b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/WorkforceVpcConfigRequestMarshaller.cs new file mode 100644 index 000000000000..28891620876c --- /dev/null +++ b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/WorkforceVpcConfigRequestMarshaller.cs @@ -0,0 +1,84 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +/* + * Do not modify this file. This file is generated from the sagemaker-2017-07-24.normal.json service model. + */ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Text; +using System.Xml.Serialization; + +using Amazon.SageMaker.Model; +using Amazon.Runtime; +using Amazon.Runtime.Internal; +using Amazon.Runtime.Internal.Transform; +using Amazon.Runtime.Internal.Util; +using ThirdParty.Json.LitJson; + +namespace Amazon.SageMaker.Model.Internal.MarshallTransformations +{ + /// + /// WorkforceVpcConfigRequest Marshaller + /// + public class WorkforceVpcConfigRequestMarshaller : IRequestMarshaller + { + /// + /// Unmarshaller the response from the service to the response class. + /// + /// + /// + /// + public void Marshall(WorkforceVpcConfigRequest requestObject, JsonMarshallerContext context) + { + if(requestObject.IsSetSecurityGroupIds()) + { + context.Writer.WritePropertyName("SecurityGroupIds"); + context.Writer.WriteArrayStart(); + foreach(var requestObjectSecurityGroupIdsListValue in requestObject.SecurityGroupIds) + { + context.Writer.Write(requestObjectSecurityGroupIdsListValue); + } + context.Writer.WriteArrayEnd(); + } + + if(requestObject.IsSetSubnets()) + { + context.Writer.WritePropertyName("Subnets"); + context.Writer.WriteArrayStart(); + foreach(var requestObjectSubnetsListValue in requestObject.Subnets) + { + context.Writer.Write(requestObjectSubnetsListValue); + } + context.Writer.WriteArrayEnd(); + } + + if(requestObject.IsSetVpcId()) + { + context.Writer.WritePropertyName("VpcId"); + context.Writer.Write(requestObject.VpcId); + } + + } + + /// + /// Singleton Marshaller. + /// + public readonly static WorkforceVpcConfigRequestMarshaller Instance = new WorkforceVpcConfigRequestMarshaller(); + + } +} \ No newline at end of file diff --git a/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/WorkforceVpcConfigResponseUnmarshaller.cs b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/WorkforceVpcConfigResponseUnmarshaller.cs new file mode 100644 index 000000000000..d0c822eac04c --- /dev/null +++ b/sdk/src/Services/SageMaker/Generated/Model/Internal/MarshallTransformations/WorkforceVpcConfigResponseUnmarshaller.cs @@ -0,0 +1,110 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +/* + * Do not modify this file. This file is generated from the sagemaker-2017-07-24.normal.json service model. + */ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Net; +using System.Text; +using System.Xml.Serialization; + +using Amazon.SageMaker.Model; +using Amazon.Runtime; +using Amazon.Runtime.Internal; +using Amazon.Runtime.Internal.Transform; +using Amazon.Runtime.Internal.Util; +using ThirdParty.Json.LitJson; + +namespace Amazon.SageMaker.Model.Internal.MarshallTransformations +{ + /// + /// Response Unmarshaller for WorkforceVpcConfigResponse Object + /// + public class WorkforceVpcConfigResponseUnmarshaller : IUnmarshaller, IUnmarshaller + { + /// + /// Unmarshaller the response from the service to the response class. + /// + /// + /// + WorkforceVpcConfigResponse IUnmarshaller.Unmarshall(XmlUnmarshallerContext context) + { + throw new NotImplementedException(); + } + + /// + /// Unmarshaller the response from the service to the response class. + /// + /// + /// + public WorkforceVpcConfigResponse Unmarshall(JsonUnmarshallerContext context) + { + context.Read(); + if (context.CurrentTokenType == JsonToken.Null) + return null; + + WorkforceVpcConfigResponse unmarshalledObject = new WorkforceVpcConfigResponse(); + + int targetDepth = context.CurrentDepth; + while (context.ReadAtDepth(targetDepth)) + { + if (context.TestExpression("SecurityGroupIds", targetDepth)) + { + var unmarshaller = new ListUnmarshaller(StringUnmarshaller.Instance); + unmarshalledObject.SecurityGroupIds = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("Subnets", targetDepth)) + { + var unmarshaller = new ListUnmarshaller(StringUnmarshaller.Instance); + unmarshalledObject.Subnets = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("VpcEndpointId", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + unmarshalledObject.VpcEndpointId = unmarshaller.Unmarshall(context); + continue; + } + if (context.TestExpression("VpcId", targetDepth)) + { + var unmarshaller = StringUnmarshaller.Instance; + unmarshalledObject.VpcId = unmarshaller.Unmarshall(context); + continue; + } + } + + return unmarshalledObject; + } + + + private static WorkforceVpcConfigResponseUnmarshaller _instance = new WorkforceVpcConfigResponseUnmarshaller(); + + /// + /// Gets the singleton. + /// + public static WorkforceVpcConfigResponseUnmarshaller Instance + { + get + { + return _instance; + } + } + } +} \ No newline at end of file diff --git a/sdk/src/Services/SageMaker/Generated/Model/LabelingJobResourceConfig.cs b/sdk/src/Services/SageMaker/Generated/Model/LabelingJobResourceConfig.cs index f864f737cfe9..c1bbe4b1244d 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/LabelingJobResourceConfig.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/LabelingJobResourceConfig.cs @@ -35,6 +35,7 @@ namespace Amazon.SageMaker.Model public partial class LabelingJobResourceConfig { private string _volumeKmsKeyId; + private VpcConfig _vpcConfig; /// /// Gets and sets the property VolumeKmsKeyId. @@ -89,5 +90,20 @@ internal bool IsSetVolumeKmsKeyId() return this._volumeKmsKeyId != null; } + /// + /// Gets and sets the property VpcConfig. + /// + public VpcConfig VpcConfig + { + get { return this._vpcConfig; } + set { this._vpcConfig = value; } + } + + // Check to see if VpcConfig property is set + internal bool IsSetVpcConfig() + { + return this._vpcConfig != null; + } + } } \ No newline at end of file diff --git a/sdk/src/Services/SageMaker/Generated/Model/ModelBiasAppSpecification.cs b/sdk/src/Services/SageMaker/Generated/Model/ModelBiasAppSpecification.cs index f3bc66c087c5..6e0a7dfde27c 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/ModelBiasAppSpecification.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/ModelBiasAppSpecification.cs @@ -41,7 +41,7 @@ public partial class ModelBiasAppSpecification /// Gets and sets the property ConfigUri. /// /// JSON formatted S3 file that defines bias parameters. For more information on this - /// JSON configuration file, see Configure + /// JSON configuration file, see Configure /// bias parameters. /// /// diff --git a/sdk/src/Services/SageMaker/Generated/Model/ModelExplainabilityAppSpecification.cs b/sdk/src/Services/SageMaker/Generated/Model/ModelExplainabilityAppSpecification.cs index cb5e3120b2c4..09f36971de34 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/ModelExplainabilityAppSpecification.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/ModelExplainabilityAppSpecification.cs @@ -41,7 +41,7 @@ public partial class ModelExplainabilityAppSpecification /// Gets and sets the property ConfigUri. /// /// JSON formatted S3 file that defines explainability parameters. For more information - /// on this JSON configuration file, see Configure + /// on this JSON configuration file, see Configure /// model explainability parameters. /// /// diff --git a/sdk/src/Services/SageMaker/Generated/Model/ResourceSpec.cs b/sdk/src/Services/SageMaker/Generated/Model/ResourceSpec.cs index f8aeb3143432..290204d7556d 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/ResourceSpec.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/ResourceSpec.cs @@ -46,9 +46,12 @@ public partial class ResourceSpec /// /// /// - /// JupyterServer Apps only support the system value. KernelGateway Apps - /// do not support the system value, but support all other values for available - /// instance types. + /// JupyterServer apps only support the system value. + /// + /// + /// + /// For KernelGateway apps, the system value is translated to ml.t3.medium. + /// KernelGateway apps also support all other values for available instance types. /// /// /// diff --git a/sdk/src/Services/SageMaker/Generated/Model/UpdateWorkforceRequest.cs b/sdk/src/Services/SageMaker/Generated/Model/UpdateWorkforceRequest.cs index 96bc6d79ecfc..2b33b7b748a9 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/UpdateWorkforceRequest.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/UpdateWorkforceRequest.cs @@ -36,6 +36,10 @@ namespace Amazon.SageMaker.Model /// /// /// + /// The worker portal is now supported in VPC and public internet. + /// + /// + /// /// Use SourceIpConfig to restrict worker access to tasks to a specific /// range of IP addresses. You specify allowed IP addresses by creating a list of up to /// ten CIDRs. @@ -46,6 +50,15 @@ namespace Amazon.SageMaker.Model /// /// /// + /// To restrict access to all the workers in public internet, add the SourceIpConfig + /// CIDR value as "0.0.0.0/0". + /// + /// + /// + /// Amazon SageMaker does not support Source Ip restriction for worker portals in VPC. + /// + /// + /// /// Use OidcConfig to update the configuration of a workforce created using /// your own OIDC IdP. /// @@ -70,6 +83,7 @@ public partial class UpdateWorkforceRequest : AmazonSageMakerRequest private OidcConfig _oidcConfig; private SourceIpConfig _sourceIpConfig; private string _workforceName; + private WorkforceVpcConfigRequest _workforceVpcConfig; /// /// Gets and sets the property OidcConfig. @@ -133,5 +147,23 @@ internal bool IsSetWorkforceName() return this._workforceName != null; } + /// + /// Gets and sets the property WorkforceVpcConfig. + /// + /// Use this parameter to update your VPC configuration for a workforce. + /// + /// + public WorkforceVpcConfigRequest WorkforceVpcConfig + { + get { return this._workforceVpcConfig; } + set { this._workforceVpcConfig = value; } + } + + // Check to see if WorkforceVpcConfig property is set + internal bool IsSetWorkforceVpcConfig() + { + return this._workforceVpcConfig != null; + } + } } \ No newline at end of file diff --git a/sdk/src/Services/SageMaker/Generated/Model/Workforce.cs b/sdk/src/Services/SageMaker/Generated/Model/Workforce.cs index 117e87ab7235..08e9203f6f56 100644 --- a/sdk/src/Services/SageMaker/Generated/Model/Workforce.cs +++ b/sdk/src/Services/SageMaker/Generated/Model/Workforce.cs @@ -40,12 +40,15 @@ public partial class Workforce { private CognitoConfig _cognitoConfig; private DateTime? _createDate; + private string _failureReason; private DateTime? _lastUpdatedDate; private OidcConfigForResponse _oidcConfig; private SourceIpConfig _sourceIpConfig; + private WorkforceStatus _status; private string _subDomain; private string _workforceArn; private string _workforceName; + private WorkforceVpcConfigResponse _workforceVpcConfig; /// /// Gets and sets the property CognitoConfig. @@ -85,6 +88,25 @@ internal bool IsSetCreateDate() return this._createDate.HasValue; } + /// + /// Gets and sets the property FailureReason. + /// + /// The reason your workforce failed. + /// + /// + [AWSProperty(Min=1, Max=1024)] + public string FailureReason + { + get { return this._failureReason; } + set { this._failureReason = value; } + } + + // Check to see if FailureReason property is set + internal bool IsSetFailureReason() + { + return this._failureReason != null; + } + /// /// Gets and sets the property LastUpdatedDate. /// @@ -143,6 +165,24 @@ internal bool IsSetSourceIpConfig() return this._sourceIpConfig != null; } + /// + /// Gets and sets the property Status. + /// + /// The status of your workforce. + /// + /// + public WorkforceStatus Status + { + get { return this._status; } + set { this._status = value; } + } + + // Check to see if Status property is set + internal bool IsSetStatus() + { + return this._status != null; + } + /// /// Gets and sets the property SubDomain. /// @@ -199,5 +239,23 @@ internal bool IsSetWorkforceName() return this._workforceName != null; } + /// + /// Gets and sets the property WorkforceVpcConfig. + /// + /// The configuration of a VPC workforce. + /// + /// + public WorkforceVpcConfigResponse WorkforceVpcConfig + { + get { return this._workforceVpcConfig; } + set { this._workforceVpcConfig = value; } + } + + // Check to see if WorkforceVpcConfig property is set + internal bool IsSetWorkforceVpcConfig() + { + return this._workforceVpcConfig != null; + } + } } \ No newline at end of file diff --git a/sdk/src/Services/SageMaker/Generated/Model/WorkforceVpcConfigRequest.cs b/sdk/src/Services/SageMaker/Generated/Model/WorkforceVpcConfigRequest.cs new file mode 100644 index 000000000000..28090dfdee98 --- /dev/null +++ b/sdk/src/Services/SageMaker/Generated/Model/WorkforceVpcConfigRequest.cs @@ -0,0 +1,99 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +/* + * Do not modify this file. This file is generated from the sagemaker-2017-07-24.normal.json service model. + */ +using System; +using System.Collections.Generic; +using System.Xml.Serialization; +using System.Text; +using System.IO; +using System.Net; + +using Amazon.Runtime; +using Amazon.Runtime.Internal; + +namespace Amazon.SageMaker.Model +{ + /// + /// The VPC object you use to create or update a workforce. + /// + public partial class WorkforceVpcConfigRequest + { + private List _securityGroupIds = new List(); + private List _subnets = new List(); + private string _vpcId; + + /// + /// Gets and sets the property 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. + /// + /// + [AWSProperty(Min=1, Max=5)] + public List SecurityGroupIds + { + get { return this._securityGroupIds; } + set { this._securityGroupIds = value; } + } + + // Check to see if SecurityGroupIds property is set + internal bool IsSetSecurityGroupIds() + { + return this._securityGroupIds != null && this._securityGroupIds.Count > 0; + } + + /// + /// Gets and sets the property Subnets. + /// + /// The ID of the subnets in the VPC that you want to connect. + /// + /// + [AWSProperty(Min=1, Max=16)] + public List Subnets + { + get { return this._subnets; } + set { this._subnets = value; } + } + + // Check to see if Subnets property is set + internal bool IsSetSubnets() + { + return this._subnets != null && this._subnets.Count > 0; + } + + /// + /// Gets and sets the property VpcId. + /// + /// The ID of the VPC that the workforce uses for communication. + /// + /// + [AWSProperty(Max=32)] + public string VpcId + { + get { return this._vpcId; } + set { this._vpcId = value; } + } + + // Check to see if VpcId property is set + internal bool IsSetVpcId() + { + return this._vpcId != null; + } + + } +} \ No newline at end of file diff --git a/sdk/src/Services/SageMaker/Generated/Model/WorkforceVpcConfigResponse.cs b/sdk/src/Services/SageMaker/Generated/Model/WorkforceVpcConfigResponse.cs new file mode 100644 index 000000000000..2cbaa191806d --- /dev/null +++ b/sdk/src/Services/SageMaker/Generated/Model/WorkforceVpcConfigResponse.cs @@ -0,0 +1,121 @@ +/* + * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. + * + * Licensed under the Apache License, Version 2.0 (the "License"). + * You may not use this file except in compliance with the License. + * A copy of the License is located at + * + * http://aws.amazon.com/apache2.0 + * + * or in the "license" file accompanying this file. This file is distributed + * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either + * express or implied. See the License for the specific language governing + * permissions and limitations under the License. + */ + +/* + * Do not modify this file. This file is generated from the sagemaker-2017-07-24.normal.json service model. + */ +using System; +using System.Collections.Generic; +using System.Xml.Serialization; +using System.Text; +using System.IO; +using System.Net; + +using Amazon.Runtime; +using Amazon.Runtime.Internal; + +namespace Amazon.SageMaker.Model +{ + /// + /// A VpcConfig object that specifies the VPC that you want your workforce to connect + /// to. + /// + public partial class WorkforceVpcConfigResponse + { + private List _securityGroupIds = new List(); + private List _subnets = new List(); + private string _vpcEndpointId; + private string _vpcId; + + /// + /// Gets and sets the property 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. + /// + /// + [AWSProperty(Required=true, Min=1, Max=5)] + public List SecurityGroupIds + { + get { return this._securityGroupIds; } + set { this._securityGroupIds = value; } + } + + // Check to see if SecurityGroupIds property is set + internal bool IsSetSecurityGroupIds() + { + return this._securityGroupIds != null && this._securityGroupIds.Count > 0; + } + + /// + /// Gets and sets the property Subnets. + /// + /// The ID of the subnets in the VPC that you want to connect. + /// + /// + [AWSProperty(Required=true, Min=1, Max=16)] + public List Subnets + { + get { return this._subnets; } + set { this._subnets = value; } + } + + // Check to see if Subnets property is set + internal bool IsSetSubnets() + { + return this._subnets != null && this._subnets.Count > 0; + } + + /// + /// Gets and sets the property VpcEndpointId. + /// + /// The IDs for the VPC service endpoints of your VPC workforce when it is created and + /// updated. + /// + /// + [AWSProperty(Min=1, Max=255)] + public string VpcEndpointId + { + get { return this._vpcEndpointId; } + set { this._vpcEndpointId = value; } + } + + // Check to see if VpcEndpointId property is set + internal bool IsSetVpcEndpointId() + { + return this._vpcEndpointId != null; + } + + /// + /// Gets and sets the property VpcId. + /// + /// The ID of the VPC that the workforce uses for communication. + /// + /// + [AWSProperty(Required=true, Max=32)] + public string VpcId + { + get { return this._vpcId; } + set { this._vpcId = value; } + } + + // Check to see if VpcId property is set + internal bool IsSetVpcId() + { + return this._vpcId != null; + } + + } +} \ No newline at end of file diff --git a/sdk/src/Services/SageMaker/Generated/ServiceEnumerations.cs b/sdk/src/Services/SageMaker/Generated/ServiceEnumerations.cs index fe24e7178afd..ec0ace401dd4 100644 --- a/sdk/src/Services/SageMaker/Generated/ServiceEnumerations.cs +++ b/sdk/src/Services/SageMaker/Generated/ServiceEnumerations.cs @@ -11557,4 +11557,66 @@ public static implicit operator VariantStatus(string value) } } + + /// + /// Constants used for properties of type WorkforceStatus. + /// + public class WorkforceStatus : ConstantClass + { + + /// + /// Constant Active for WorkforceStatus + /// + public static readonly WorkforceStatus Active = new WorkforceStatus("Active"); + /// + /// Constant Deleting for WorkforceStatus + /// + public static readonly WorkforceStatus Deleting = new WorkforceStatus("Deleting"); + /// + /// Constant Failed for WorkforceStatus + /// + public static readonly WorkforceStatus Failed = new WorkforceStatus("Failed"); + /// + /// Constant Initializing for WorkforceStatus + /// + public static readonly WorkforceStatus Initializing = new WorkforceStatus("Initializing"); + /// + /// Constant Updating for WorkforceStatus + /// + public static readonly WorkforceStatus Updating = new WorkforceStatus("Updating"); + + /// + /// This constant constructor does not need to be called if the constant + /// you are attempting to use is already defined as a static instance of + /// this class. + /// This constructor should be used to construct constants that are not + /// defined as statics, for instance if attempting to use a feature that is + /// newer than the current version of the SDK. + /// + public WorkforceStatus(string value) + : base(value) + { + } + + /// + /// Finds the constant for the unique value. + /// + /// The unique value for the constant + /// The constant for the unique value + public static WorkforceStatus FindValue(string value) + { + return FindValue(value); + } + + /// + /// Utility method to convert strings to the constant class. + /// + /// The string value to convert to the constant class. + /// + public static implicit operator WorkforceStatus(string value) + { + return FindValue(value); + } + } + } \ No newline at end of file diff --git a/sdk/src/Services/SageMaker/Generated/_bcl35/AmazonSageMakerClient.cs b/sdk/src/Services/SageMaker/Generated/_bcl35/AmazonSageMakerClient.cs index f627120e9301..f8cafc67d8e3 100644 --- a/sdk/src/Services/SageMaker/Generated/_bcl35/AmazonSageMakerClient.cs +++ b/sdk/src/Services/SageMaker/Generated/_bcl35/AmazonSageMakerClient.cs @@ -2396,9 +2396,8 @@ public virtual CreateLabelingJobResponse EndCreateLabelingJob(IAsyncResult async /// /// /// For an example that calls this method when deploying a model to SageMaker hosting - /// services, see Deploy - /// the Model to Amazon SageMaker Hosting Services (Amazon Web Services SDK for Python - /// (Boto 3)). + /// services, see Create + /// a Model (Amazon Web Services SDK for Python (Boto 3)). /// /// /// @@ -15692,6 +15691,10 @@ public virtual UpdateUserProfileResponse EndUpdateUserProfile(IAsyncResult async /// /// /// + /// The worker portal is now supported in VPC and public internet. + /// + /// + /// /// Use SourceIpConfig to restrict worker access to tasks to a specific /// range of IP addresses. You specify allowed IP addresses by creating a list of up to /// ten CIDRs. @@ -15702,6 +15705,15 @@ public virtual UpdateUserProfileResponse EndUpdateUserProfile(IAsyncResult async /// /// /// + /// To restrict access to all the workers in public internet, add the SourceIpConfig + /// CIDR value as "0.0.0.0/0". + /// + /// + /// + /// Amazon SageMaker does not support Source Ip restriction for worker portals in VPC. + /// + /// + /// /// Use OidcConfig to update the configuration of a workforce created using /// your own OIDC IdP. /// @@ -15724,6 +15736,10 @@ public virtual UpdateUserProfileResponse EndUpdateUserProfile(IAsyncResult async /// Container for the necessary parameters to execute the UpdateWorkforce service method. /// /// The response from the UpdateWorkforce service method, as returned by SageMaker. + /// + /// There was a conflict when you attempted to modify a SageMaker entity such as an Experiment + /// or Artifact. + /// /// REST API Reference for UpdateWorkforce Operation public virtual UpdateWorkforceResponse UpdateWorkforce(UpdateWorkforceRequest request) { diff --git a/sdk/src/Services/SageMaker/Generated/_bcl35/IAmazonSageMaker.cs b/sdk/src/Services/SageMaker/Generated/_bcl35/IAmazonSageMaker.cs index 6a97299c495e..1a9ac1b257a2 100644 --- a/sdk/src/Services/SageMaker/Generated/_bcl35/IAmazonSageMaker.cs +++ b/sdk/src/Services/SageMaker/Generated/_bcl35/IAmazonSageMaker.cs @@ -1794,9 +1794,8 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// /// /// For an example that calls this method when deploying a model to SageMaker hosting - /// services, see Deploy - /// the Model to Amazon SageMaker Hosting Services (Amazon Web Services SDK for Python - /// (Boto 3)). + /// services, see Create + /// a Model (Amazon Web Services SDK for Python (Boto 3)). /// /// /// @@ -11996,6 +11995,10 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// /// /// + /// The worker portal is now supported in VPC and public internet. + /// + /// + /// /// Use SourceIpConfig to restrict worker access to tasks to a specific /// range of IP addresses. You specify allowed IP addresses by creating a list of up to /// ten CIDRs. @@ -12006,6 +12009,15 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// /// /// + /// To restrict access to all the workers in public internet, add the SourceIpConfig + /// CIDR value as "0.0.0.0/0". + /// + /// + /// + /// Amazon SageMaker does not support Source Ip restriction for worker portals in VPC. + /// + /// + /// /// Use OidcConfig to update the configuration of a workforce created using /// your own OIDC IdP. /// @@ -12028,6 +12040,10 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// Container for the necessary parameters to execute the UpdateWorkforce service method. /// /// The response from the UpdateWorkforce service method, as returned by SageMaker. + /// + /// There was a conflict when you attempted to modify a SageMaker entity such as an Experiment + /// or Artifact. + /// /// REST API Reference for UpdateWorkforce Operation UpdateWorkforceResponse UpdateWorkforce(UpdateWorkforceRequest request); diff --git a/sdk/src/Services/SageMaker/Generated/_bcl45/AmazonSageMakerClient.cs b/sdk/src/Services/SageMaker/Generated/_bcl45/AmazonSageMakerClient.cs index 17852f9fc760..1a60c302c55e 100644 --- a/sdk/src/Services/SageMaker/Generated/_bcl45/AmazonSageMakerClient.cs +++ b/sdk/src/Services/SageMaker/Generated/_bcl45/AmazonSageMakerClient.cs @@ -2622,9 +2622,8 @@ public virtual CreateLabelingJobResponse CreateLabelingJob(CreateLabelingJobRequ /// /// /// For an example that calls this method when deploying a model to SageMaker hosting - /// services, see Deploy - /// the Model to Amazon SageMaker Hosting Services (Amazon Web Services SDK for Python - /// (Boto 3)). + /// services, see Create + /// a Model (Amazon Web Services SDK for Python (Boto 3)). /// /// /// @@ -2680,9 +2679,8 @@ public virtual CreateModelResponse CreateModel(CreateModelRequest request) /// /// /// For an example that calls this method when deploying a model to SageMaker hosting - /// services, see Deploy - /// the Model to Amazon SageMaker Hosting Services (Amazon Web Services SDK for Python - /// (Boto 3)). + /// services, see Create + /// a Model (Amazon Web Services SDK for Python (Boto 3)). /// /// /// @@ -14421,6 +14419,10 @@ public virtual UpdateUserProfileResponse UpdateUserProfile(UpdateUserProfileRequ /// /// /// + /// The worker portal is now supported in VPC and public internet. + /// + /// + /// /// Use SourceIpConfig to restrict worker access to tasks to a specific /// range of IP addresses. You specify allowed IP addresses by creating a list of up to /// ten CIDRs. @@ -14431,6 +14433,15 @@ public virtual UpdateUserProfileResponse UpdateUserProfile(UpdateUserProfileRequ /// /// /// + /// To restrict access to all the workers in public internet, add the SourceIpConfig + /// CIDR value as "0.0.0.0/0". + /// + /// + /// + /// Amazon SageMaker does not support Source Ip restriction for worker portals in VPC. + /// + /// + /// /// Use OidcConfig to update the configuration of a workforce created using /// your own OIDC IdP. /// @@ -14453,6 +14464,10 @@ public virtual UpdateUserProfileResponse UpdateUserProfile(UpdateUserProfileRequ /// Container for the necessary parameters to execute the UpdateWorkforce service method. /// /// The response from the UpdateWorkforce service method, as returned by SageMaker. + /// + /// There was a conflict when you attempted to modify a SageMaker entity such as an Experiment + /// or Artifact. + /// /// REST API Reference for UpdateWorkforce Operation public virtual UpdateWorkforceResponse UpdateWorkforce(UpdateWorkforceRequest request) { @@ -14471,6 +14486,10 @@ public virtual UpdateWorkforceResponse UpdateWorkforce(UpdateWorkforceRequest re /// /// /// + /// The worker portal is now supported in VPC and public internet. + /// + /// + /// /// Use SourceIpConfig to restrict worker access to tasks to a specific /// range of IP addresses. You specify allowed IP addresses by creating a list of up to /// ten CIDRs. @@ -14481,6 +14500,15 @@ public virtual UpdateWorkforceResponse UpdateWorkforce(UpdateWorkforceRequest re /// /// /// + /// To restrict access to all the workers in public internet, add the SourceIpConfig + /// CIDR value as "0.0.0.0/0". + /// + /// + /// + /// Amazon SageMaker does not support Source Ip restriction for worker portals in VPC. + /// + /// + /// /// Use OidcConfig to update the configuration of a workforce created using /// your own OIDC IdP. /// @@ -14506,6 +14534,10 @@ public virtual UpdateWorkforceResponse UpdateWorkforce(UpdateWorkforceRequest re /// /// /// The response from the UpdateWorkforce service method, as returned by SageMaker. + /// + /// There was a conflict when you attempted to modify a SageMaker entity such as an Experiment + /// or Artifact. + /// /// REST API Reference for UpdateWorkforce Operation public virtual Task UpdateWorkforceAsync(UpdateWorkforceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { diff --git a/sdk/src/Services/SageMaker/Generated/_bcl45/IAmazonSageMaker.cs b/sdk/src/Services/SageMaker/Generated/_bcl45/IAmazonSageMaker.cs index 03d05ba753bf..b831efe1d070 100644 --- a/sdk/src/Services/SageMaker/Generated/_bcl45/IAmazonSageMaker.cs +++ b/sdk/src/Services/SageMaker/Generated/_bcl45/IAmazonSageMaker.cs @@ -2046,9 +2046,8 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// /// /// For an example that calls this method when deploying a model to SageMaker hosting - /// services, see Deploy - /// the Model to Amazon SageMaker Hosting Services (Amazon Web Services SDK for Python - /// (Boto 3)). + /// services, see Create + /// a Model (Amazon Web Services SDK for Python (Boto 3)). /// /// /// @@ -2098,9 +2097,8 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// /// /// For an example that calls this method when deploying a model to SageMaker hosting - /// services, see Deploy - /// the Model to Amazon SageMaker Hosting Services (Amazon Web Services SDK for Python - /// (Boto 3)). + /// services, see Create + /// a Model (Amazon Web Services SDK for Python (Boto 3)). /// /// /// @@ -10972,6 +10970,10 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// /// /// + /// The worker portal is now supported in VPC and public internet. + /// + /// + /// /// Use SourceIpConfig to restrict worker access to tasks to a specific /// range of IP addresses. You specify allowed IP addresses by creating a list of up to /// ten CIDRs. @@ -10982,6 +10984,15 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// /// /// + /// To restrict access to all the workers in public internet, add the SourceIpConfig + /// CIDR value as "0.0.0.0/0". + /// + /// + /// + /// Amazon SageMaker does not support Source Ip restriction for worker portals in VPC. + /// + /// + /// /// Use OidcConfig to update the configuration of a workforce created using /// your own OIDC IdP. /// @@ -11004,6 +11015,10 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// Container for the necessary parameters to execute the UpdateWorkforce service method. /// /// The response from the UpdateWorkforce service method, as returned by SageMaker. + /// + /// There was a conflict when you attempted to modify a SageMaker entity such as an Experiment + /// or Artifact. + /// /// REST API Reference for UpdateWorkforce Operation UpdateWorkforceResponse UpdateWorkforce(UpdateWorkforceRequest request); @@ -11016,6 +11031,10 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// /// /// + /// The worker portal is now supported in VPC and public internet. + /// + /// + /// /// Use SourceIpConfig to restrict worker access to tasks to a specific /// range of IP addresses. You specify allowed IP addresses by creating a list of up to /// ten CIDRs. @@ -11026,6 +11045,15 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// /// /// + /// To restrict access to all the workers in public internet, add the SourceIpConfig + /// CIDR value as "0.0.0.0/0". + /// + /// + /// + /// Amazon SageMaker does not support Source Ip restriction for worker portals in VPC. + /// + /// + /// /// Use OidcConfig to update the configuration of a workforce created using /// your own OIDC IdP. /// @@ -11051,6 +11079,10 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// /// /// The response from the UpdateWorkforce service method, as returned by SageMaker. + /// + /// There was a conflict when you attempted to modify a SageMaker entity such as an Experiment + /// or Artifact. + /// /// REST API Reference for UpdateWorkforce Operation Task UpdateWorkforceAsync(UpdateWorkforceRequest request, CancellationToken cancellationToken = default(CancellationToken)); diff --git a/sdk/src/Services/SageMaker/Generated/_netstandard/AmazonSageMakerClient.cs b/sdk/src/Services/SageMaker/Generated/_netstandard/AmazonSageMakerClient.cs index 3a805bcb6a78..71be97e174eb 100644 --- a/sdk/src/Services/SageMaker/Generated/_netstandard/AmazonSageMakerClient.cs +++ b/sdk/src/Services/SageMaker/Generated/_netstandard/AmazonSageMakerClient.cs @@ -1850,9 +1850,8 @@ internal virtual CreateModelResponse CreateModel(CreateModelRequest request) /// /// /// For an example that calls this method when deploying a model to SageMaker hosting - /// services, see Deploy - /// the Model to Amazon SageMaker Hosting Services (Amazon Web Services SDK for Python - /// (Boto 3)). + /// services, see Create + /// a Model (Amazon Web Services SDK for Python (Boto 3)). /// /// /// @@ -10726,6 +10725,10 @@ internal virtual UpdateWorkforceResponse UpdateWorkforce(UpdateWorkforceRequest /// /// /// + /// The worker portal is now supported in VPC and public internet. + /// + /// + /// /// Use SourceIpConfig to restrict worker access to tasks to a specific /// range of IP addresses. You specify allowed IP addresses by creating a list of up to /// ten CIDRs. @@ -10736,6 +10739,15 @@ internal virtual UpdateWorkforceResponse UpdateWorkforce(UpdateWorkforceRequest /// /// /// + /// To restrict access to all the workers in public internet, add the SourceIpConfig + /// CIDR value as "0.0.0.0/0". + /// + /// + /// + /// Amazon SageMaker does not support Source Ip restriction for worker portals in VPC. + /// + /// + /// /// Use OidcConfig to update the configuration of a workforce created using /// your own OIDC IdP. /// @@ -10761,6 +10773,10 @@ internal virtual UpdateWorkforceResponse UpdateWorkforce(UpdateWorkforceRequest /// /// /// The response from the UpdateWorkforce service method, as returned by SageMaker. + /// + /// There was a conflict when you attempted to modify a SageMaker entity such as an Experiment + /// or Artifact. + /// /// REST API Reference for UpdateWorkforce Operation public virtual Task UpdateWorkforceAsync(UpdateWorkforceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { diff --git a/sdk/src/Services/SageMaker/Generated/_netstandard/IAmazonSageMaker.cs b/sdk/src/Services/SageMaker/Generated/_netstandard/IAmazonSageMaker.cs index 38999ea731d6..a8cff74c8222 100644 --- a/sdk/src/Services/SageMaker/Generated/_netstandard/IAmazonSageMaker.cs +++ b/sdk/src/Services/SageMaker/Generated/_netstandard/IAmazonSageMaker.cs @@ -1177,9 +1177,8 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// /// /// For an example that calls this method when deploying a model to SageMaker hosting - /// services, see Deploy - /// the Model to Amazon SageMaker Hosting Services (Amazon Web Services SDK for Python - /// (Boto 3)). + /// services, see Create + /// a Model (Amazon Web Services SDK for Python (Boto 3)). /// /// /// @@ -6517,6 +6516,10 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// /// /// + /// The worker portal is now supported in VPC and public internet. + /// + /// + /// /// Use SourceIpConfig to restrict worker access to tasks to a specific /// range of IP addresses. You specify allowed IP addresses by creating a list of up to /// ten CIDRs. @@ -6527,6 +6530,15 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// /// /// + /// To restrict access to all the workers in public internet, add the SourceIpConfig + /// CIDR value as "0.0.0.0/0". + /// + /// + /// + /// Amazon SageMaker does not support Source Ip restriction for worker portals in VPC. + /// + /// + /// /// Use OidcConfig to update the configuration of a workforce created using /// your own OIDC IdP. /// @@ -6552,6 +6564,10 @@ public partial interface IAmazonSageMaker : IAmazonService, IDisposable /// /// /// The response from the UpdateWorkforce service method, as returned by SageMaker. + /// + /// There was a conflict when you attempted to modify a SageMaker entity such as an Experiment + /// or Artifact. + /// /// REST API Reference for UpdateWorkforce Operation Task UpdateWorkforceAsync(UpdateWorkforceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)); diff --git a/sdk/test/Services/SageMaker/UnitTests/Generated/Marshalling/SageMakerMarshallingTests.cs b/sdk/test/Services/SageMaker/UnitTests/Generated/Marshalling/SageMakerMarshallingTests.cs index d78bf7ff5a60..0384ea18b8ac 100644 --- a/sdk/test/Services/SageMaker/UnitTests/Generated/Marshalling/SageMakerMarshallingTests.cs +++ b/sdk/test/Services/SageMaker/UnitTests/Generated/Marshalling/SageMakerMarshallingTests.cs @@ -13262,6 +13262,38 @@ public void UpdateWorkforceMarshallTest() InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); } + [TestMethod] + [TestCategory("UnitTest")] + [TestCategory("Json")] + [TestCategory("SageMaker")] + public void UpdateWorkforce_ConflictExceptionMarshallTest() + { + var operation = service_model.FindOperation("UpdateWorkforce"); + + var request = InstantiateClassGenerator.Execute(); + var marshaller = new UpdateWorkforceRequestMarshaller(); + var internalRequest = marshaller.Marshall(request); + var jsonRequest = UTF8Encoding.UTF8.GetString(internalRequest.Content); + + Comparer.CompareObjectToJson(request,jsonRequest); + + var exception = operation.Exceptions.First(e => e.Name.Equals("ConflictException")); + var jsonResponse = new JsonSampleGenerator(service_model, exception).Execute(); + var webResponse = new WebResponseData + { + Headers = { + {"x-amzn-RequestId", Guid.NewGuid().ToString()}, + {"x-amz-crc32","0"}, + {"x-amzn-ErrorType","ConflictException"}, + {"Content-Length", UTF8Encoding.UTF8.GetBytes(jsonResponse).Length.ToString()} + } + }; + var context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(jsonResponse), true, webResponse, true); + var response = UpdateWorkforceResponseUnmarshaller.Instance.UnmarshallException(context, null, System.Net.HttpStatusCode.OK); + + InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); + } + [TestMethod] [TestCategory("UnitTest")] [TestCategory("Json")]