/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace SageMaker { namespace Model { /** */ class CreateWorkforceRequest : public SageMakerRequest { public: AWS_SAGEMAKER_API CreateWorkforceRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "CreateWorkforce"; } AWS_SAGEMAKER_API Aws::String SerializePayload() const override; AWS_SAGEMAKER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

Use this parameter to configure an Amazon Cognito private workforce. A single * Cognito workforce is created using and corresponds to a single * Amazon Cognito user pool.

Do not use OidcConfig if you * specify values for CognitoConfig.

*/ inline const CognitoConfig& GetCognitoConfig() const{ return m_cognitoConfig; } /** *

Use this parameter to configure an Amazon Cognito private workforce. A single * Cognito workforce is created using and corresponds to a single * Amazon Cognito user pool.

Do not use OidcConfig if you * specify values for CognitoConfig.

*/ inline bool CognitoConfigHasBeenSet() const { return m_cognitoConfigHasBeenSet; } /** *

Use this parameter to configure an Amazon Cognito private workforce. A single * Cognito workforce is created using and corresponds to a single * Amazon Cognito user pool.

Do not use OidcConfig if you * specify values for CognitoConfig.

*/ inline void SetCognitoConfig(const CognitoConfig& value) { m_cognitoConfigHasBeenSet = true; m_cognitoConfig = value; } /** *

Use this parameter to configure an Amazon Cognito private workforce. A single * Cognito workforce is created using and corresponds to a single * Amazon Cognito user pool.

Do not use OidcConfig if you * specify values for CognitoConfig.

*/ inline void SetCognitoConfig(CognitoConfig&& value) { m_cognitoConfigHasBeenSet = true; m_cognitoConfig = std::move(value); } /** *

Use this parameter to configure an Amazon Cognito private workforce. A single * Cognito workforce is created using and corresponds to a single * Amazon Cognito user pool.

Do not use OidcConfig if you * specify values for CognitoConfig.

*/ inline CreateWorkforceRequest& WithCognitoConfig(const CognitoConfig& value) { SetCognitoConfig(value); return *this;} /** *

Use this parameter to configure an Amazon Cognito private workforce. A single * Cognito workforce is created using and corresponds to a single * Amazon Cognito user pool.

Do not use OidcConfig if you * specify values for CognitoConfig.

*/ inline CreateWorkforceRequest& WithCognitoConfig(CognitoConfig&& value) { SetCognitoConfig(std::move(value)); return *this;} /** *

Use this parameter to configure a private workforce using your own OIDC * Identity Provider.

Do not use CognitoConfig if you specify * values for OidcConfig.

*/ inline const OidcConfig& GetOidcConfig() const{ return m_oidcConfig; } /** *

Use this parameter to configure a private workforce using your own OIDC * Identity Provider.

Do not use CognitoConfig if you specify * values for OidcConfig.

*/ inline bool OidcConfigHasBeenSet() const { return m_oidcConfigHasBeenSet; } /** *

Use this parameter to configure a private workforce using your own OIDC * Identity Provider.

Do not use CognitoConfig if you specify * values for OidcConfig.

*/ inline void SetOidcConfig(const OidcConfig& value) { m_oidcConfigHasBeenSet = true; m_oidcConfig = value; } /** *

Use this parameter to configure a private workforce using your own OIDC * Identity Provider.

Do not use CognitoConfig if you specify * values for OidcConfig.

*/ inline void SetOidcConfig(OidcConfig&& value) { m_oidcConfigHasBeenSet = true; m_oidcConfig = std::move(value); } /** *

Use this parameter to configure a private workforce using your own OIDC * Identity Provider.

Do not use CognitoConfig if you specify * values for OidcConfig.

*/ inline CreateWorkforceRequest& WithOidcConfig(const OidcConfig& value) { SetOidcConfig(value); return *this;} /** *

Use this parameter to configure a private workforce using your own OIDC * Identity Provider.

Do not use CognitoConfig if you specify * values for OidcConfig.

*/ inline CreateWorkforceRequest& WithOidcConfig(OidcConfig&& value) { SetOidcConfig(std::move(value)); return *this;} inline const SourceIpConfig& GetSourceIpConfig() const{ return m_sourceIpConfig; } inline bool SourceIpConfigHasBeenSet() const { return m_sourceIpConfigHasBeenSet; } inline void SetSourceIpConfig(const SourceIpConfig& value) { m_sourceIpConfigHasBeenSet = true; m_sourceIpConfig = value; } inline void SetSourceIpConfig(SourceIpConfig&& value) { m_sourceIpConfigHasBeenSet = true; m_sourceIpConfig = std::move(value); } inline CreateWorkforceRequest& WithSourceIpConfig(const SourceIpConfig& value) { SetSourceIpConfig(value); return *this;} inline CreateWorkforceRequest& WithSourceIpConfig(SourceIpConfig&& value) { SetSourceIpConfig(std::move(value)); return *this;} /** *

The name of the private workforce.

*/ inline const Aws::String& GetWorkforceName() const{ return m_workforceName; } /** *

The name of the private workforce.

*/ inline bool WorkforceNameHasBeenSet() const { return m_workforceNameHasBeenSet; } /** *

The name of the private workforce.

*/ inline void SetWorkforceName(const Aws::String& value) { m_workforceNameHasBeenSet = true; m_workforceName = value; } /** *

The name of the private workforce.

*/ inline void SetWorkforceName(Aws::String&& value) { m_workforceNameHasBeenSet = true; m_workforceName = std::move(value); } /** *

The name of the private workforce.

*/ inline void SetWorkforceName(const char* value) { m_workforceNameHasBeenSet = true; m_workforceName.assign(value); } /** *

The name of the private workforce.

*/ inline CreateWorkforceRequest& WithWorkforceName(const Aws::String& value) { SetWorkforceName(value); return *this;} /** *

The name of the private workforce.

*/ inline CreateWorkforceRequest& WithWorkforceName(Aws::String&& value) { SetWorkforceName(std::move(value)); return *this;} /** *

The name of the private workforce.

*/ inline CreateWorkforceRequest& WithWorkforceName(const char* value) { SetWorkforceName(value); return *this;} /** *

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.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

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.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

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.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

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.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

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.

*/ inline CreateWorkforceRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

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.

*/ inline CreateWorkforceRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

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.

*/ inline CreateWorkforceRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

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.

*/ inline CreateWorkforceRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

Use this parameter to configure a workforce using VPC.

*/ inline const WorkforceVpcConfigRequest& GetWorkforceVpcConfig() const{ return m_workforceVpcConfig; } /** *

Use this parameter to configure a workforce using VPC.

*/ inline bool WorkforceVpcConfigHasBeenSet() const { return m_workforceVpcConfigHasBeenSet; } /** *

Use this parameter to configure a workforce using VPC.

*/ inline void SetWorkforceVpcConfig(const WorkforceVpcConfigRequest& value) { m_workforceVpcConfigHasBeenSet = true; m_workforceVpcConfig = value; } /** *

Use this parameter to configure a workforce using VPC.

*/ inline void SetWorkforceVpcConfig(WorkforceVpcConfigRequest&& value) { m_workforceVpcConfigHasBeenSet = true; m_workforceVpcConfig = std::move(value); } /** *

Use this parameter to configure a workforce using VPC.

*/ inline CreateWorkforceRequest& WithWorkforceVpcConfig(const WorkforceVpcConfigRequest& value) { SetWorkforceVpcConfig(value); return *this;} /** *

Use this parameter to configure a workforce using VPC.

*/ inline CreateWorkforceRequest& WithWorkforceVpcConfig(WorkforceVpcConfigRequest&& value) { SetWorkforceVpcConfig(std::move(value)); return *this;} private: CognitoConfig m_cognitoConfig; bool m_cognitoConfigHasBeenSet = false; OidcConfig m_oidcConfig; bool m_oidcConfigHasBeenSet = false; SourceIpConfig m_sourceIpConfig; bool m_sourceIpConfigHasBeenSet = false; Aws::String m_workforceName; bool m_workforceNameHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; WorkforceVpcConfigRequest m_workforceVpcConfig; bool m_workforceVpcConfigHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws