/** * 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 namespace Aws { namespace SageMaker { namespace Model { /** */ class CreateWorkteamRequest : public SageMakerRequest { public: AWS_SAGEMAKER_API CreateWorkteamRequest(); // 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 "CreateWorkteam"; } AWS_SAGEMAKER_API Aws::String SerializePayload() const override; AWS_SAGEMAKER_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the work team. Use this name to identify the work team.

*/ inline const Aws::String& GetWorkteamName() const{ return m_workteamName; } /** *

The name of the work team. Use this name to identify the work team.

*/ inline bool WorkteamNameHasBeenSet() const { return m_workteamNameHasBeenSet; } /** *

The name of the work team. Use this name to identify the work team.

*/ inline void SetWorkteamName(const Aws::String& value) { m_workteamNameHasBeenSet = true; m_workteamName = value; } /** *

The name of the work team. Use this name to identify the work team.

*/ inline void SetWorkteamName(Aws::String&& value) { m_workteamNameHasBeenSet = true; m_workteamName = std::move(value); } /** *

The name of the work team. Use this name to identify the work team.

*/ inline void SetWorkteamName(const char* value) { m_workteamNameHasBeenSet = true; m_workteamName.assign(value); } /** *

The name of the work team. Use this name to identify the work team.

*/ inline CreateWorkteamRequest& WithWorkteamName(const Aws::String& value) { SetWorkteamName(value); return *this;} /** *

The name of the work team. Use this name to identify the work team.

*/ inline CreateWorkteamRequest& WithWorkteamName(Aws::String&& value) { SetWorkteamName(std::move(value)); return *this;} /** *

The name of the work team. Use this name to identify the work team.

*/ inline CreateWorkteamRequest& WithWorkteamName(const char* value) { SetWorkteamName(value); return *this;} /** *

The name of the workforce.

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

The name of the workforce.

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

The name of the workforce.

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

The name of the workforce.

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

The name of the workforce.

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

The name of the workforce.

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

The name of the workforce.

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

The name of the workforce.

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

A list of MemberDefinition objects that contains objects that * identify the workers that make up the work team.

Workforces can be * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For * private workforces created using Amazon Cognito use * CognitoMemberDefinition. For workforces created using your own OIDC * identity provider (IdP) use OidcMemberDefinition. Do not provide * input for both of these parameters in a single request.

For workforces * created using Amazon Cognito, private work teams correspond to Amazon Cognito * user groups within the user pool used to create a workforce. All of the * CognitoMemberDefinition objects that make up the member definition * must have the same ClientId and UserPool values. To * add a Amazon Cognito user group to an existing worker pool, see Adding groups to a User Pool. For more information about user pools, * see Amazon * Cognito User Pools.

For workforces created using your own OIDC IdP, * specify the user groups that you want to include in your private work team in * OidcMemberDefinition by listing those groups in * Groups.

*/ inline const Aws::Vector& GetMemberDefinitions() const{ return m_memberDefinitions; } /** *

A list of MemberDefinition objects that contains objects that * identify the workers that make up the work team.

Workforces can be * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For * private workforces created using Amazon Cognito use * CognitoMemberDefinition. For workforces created using your own OIDC * identity provider (IdP) use OidcMemberDefinition. Do not provide * input for both of these parameters in a single request.

For workforces * created using Amazon Cognito, private work teams correspond to Amazon Cognito * user groups within the user pool used to create a workforce. All of the * CognitoMemberDefinition objects that make up the member definition * must have the same ClientId and UserPool values. To * add a Amazon Cognito user group to an existing worker pool, see Adding groups to a User Pool. For more information about user pools, * see Amazon * Cognito User Pools.

For workforces created using your own OIDC IdP, * specify the user groups that you want to include in your private work team in * OidcMemberDefinition by listing those groups in * Groups.

*/ inline bool MemberDefinitionsHasBeenSet() const { return m_memberDefinitionsHasBeenSet; } /** *

A list of MemberDefinition objects that contains objects that * identify the workers that make up the work team.

Workforces can be * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For * private workforces created using Amazon Cognito use * CognitoMemberDefinition. For workforces created using your own OIDC * identity provider (IdP) use OidcMemberDefinition. Do not provide * input for both of these parameters in a single request.

For workforces * created using Amazon Cognito, private work teams correspond to Amazon Cognito * user groups within the user pool used to create a workforce. All of the * CognitoMemberDefinition objects that make up the member definition * must have the same ClientId and UserPool values. To * add a Amazon Cognito user group to an existing worker pool, see Adding groups to a User Pool. For more information about user pools, * see Amazon * Cognito User Pools.

For workforces created using your own OIDC IdP, * specify the user groups that you want to include in your private work team in * OidcMemberDefinition by listing those groups in * Groups.

*/ inline void SetMemberDefinitions(const Aws::Vector& value) { m_memberDefinitionsHasBeenSet = true; m_memberDefinitions = value; } /** *

A list of MemberDefinition objects that contains objects that * identify the workers that make up the work team.

Workforces can be * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For * private workforces created using Amazon Cognito use * CognitoMemberDefinition. For workforces created using your own OIDC * identity provider (IdP) use OidcMemberDefinition. Do not provide * input for both of these parameters in a single request.

For workforces * created using Amazon Cognito, private work teams correspond to Amazon Cognito * user groups within the user pool used to create a workforce. All of the * CognitoMemberDefinition objects that make up the member definition * must have the same ClientId and UserPool values. To * add a Amazon Cognito user group to an existing worker pool, see Adding groups to a User Pool. For more information about user pools, * see Amazon * Cognito User Pools.

For workforces created using your own OIDC IdP, * specify the user groups that you want to include in your private work team in * OidcMemberDefinition by listing those groups in * Groups.

*/ inline void SetMemberDefinitions(Aws::Vector&& value) { m_memberDefinitionsHasBeenSet = true; m_memberDefinitions = std::move(value); } /** *

A list of MemberDefinition objects that contains objects that * identify the workers that make up the work team.

Workforces can be * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For * private workforces created using Amazon Cognito use * CognitoMemberDefinition. For workforces created using your own OIDC * identity provider (IdP) use OidcMemberDefinition. Do not provide * input for both of these parameters in a single request.

For workforces * created using Amazon Cognito, private work teams correspond to Amazon Cognito * user groups within the user pool used to create a workforce. All of the * CognitoMemberDefinition objects that make up the member definition * must have the same ClientId and UserPool values. To * add a Amazon Cognito user group to an existing worker pool, see Adding groups to a User Pool. For more information about user pools, * see Amazon * Cognito User Pools.

For workforces created using your own OIDC IdP, * specify the user groups that you want to include in your private work team in * OidcMemberDefinition by listing those groups in * Groups.

*/ inline CreateWorkteamRequest& WithMemberDefinitions(const Aws::Vector& value) { SetMemberDefinitions(value); return *this;} /** *

A list of MemberDefinition objects that contains objects that * identify the workers that make up the work team.

Workforces can be * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For * private workforces created using Amazon Cognito use * CognitoMemberDefinition. For workforces created using your own OIDC * identity provider (IdP) use OidcMemberDefinition. Do not provide * input for both of these parameters in a single request.

For workforces * created using Amazon Cognito, private work teams correspond to Amazon Cognito * user groups within the user pool used to create a workforce. All of the * CognitoMemberDefinition objects that make up the member definition * must have the same ClientId and UserPool values. To * add a Amazon Cognito user group to an existing worker pool, see Adding groups to a User Pool. For more information about user pools, * see Amazon * Cognito User Pools.

For workforces created using your own OIDC IdP, * specify the user groups that you want to include in your private work team in * OidcMemberDefinition by listing those groups in * Groups.

*/ inline CreateWorkteamRequest& WithMemberDefinitions(Aws::Vector&& value) { SetMemberDefinitions(std::move(value)); return *this;} /** *

A list of MemberDefinition objects that contains objects that * identify the workers that make up the work team.

Workforces can be * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For * private workforces created using Amazon Cognito use * CognitoMemberDefinition. For workforces created using your own OIDC * identity provider (IdP) use OidcMemberDefinition. Do not provide * input for both of these parameters in a single request.

For workforces * created using Amazon Cognito, private work teams correspond to Amazon Cognito * user groups within the user pool used to create a workforce. All of the * CognitoMemberDefinition objects that make up the member definition * must have the same ClientId and UserPool values. To * add a Amazon Cognito user group to an existing worker pool, see Adding groups to a User Pool. For more information about user pools, * see Amazon * Cognito User Pools.

For workforces created using your own OIDC IdP, * specify the user groups that you want to include in your private work team in * OidcMemberDefinition by listing those groups in * Groups.

*/ inline CreateWorkteamRequest& AddMemberDefinitions(const MemberDefinition& value) { m_memberDefinitionsHasBeenSet = true; m_memberDefinitions.push_back(value); return *this; } /** *

A list of MemberDefinition objects that contains objects that * identify the workers that make up the work team.

Workforces can be * created using Amazon Cognito or your own OIDC Identity Provider (IdP). For * private workforces created using Amazon Cognito use * CognitoMemberDefinition. For workforces created using your own OIDC * identity provider (IdP) use OidcMemberDefinition. Do not provide * input for both of these parameters in a single request.

For workforces * created using Amazon Cognito, private work teams correspond to Amazon Cognito * user groups within the user pool used to create a workforce. All of the * CognitoMemberDefinition objects that make up the member definition * must have the same ClientId and UserPool values. To * add a Amazon Cognito user group to an existing worker pool, see Adding groups to a User Pool. For more information about user pools, * see Amazon * Cognito User Pools.

For workforces created using your own OIDC IdP, * specify the user groups that you want to include in your private work team in * OidcMemberDefinition by listing those groups in * Groups.

*/ inline CreateWorkteamRequest& AddMemberDefinitions(MemberDefinition&& value) { m_memberDefinitionsHasBeenSet = true; m_memberDefinitions.push_back(std::move(value)); return *this; } /** *

A description of the work team.

*/ inline const Aws::String& GetDescription() const{ return m_description; } /** *

A description of the work team.

*/ inline bool DescriptionHasBeenSet() const { return m_descriptionHasBeenSet; } /** *

A description of the work team.

*/ inline void SetDescription(const Aws::String& value) { m_descriptionHasBeenSet = true; m_description = value; } /** *

A description of the work team.

*/ inline void SetDescription(Aws::String&& value) { m_descriptionHasBeenSet = true; m_description = std::move(value); } /** *

A description of the work team.

*/ inline void SetDescription(const char* value) { m_descriptionHasBeenSet = true; m_description.assign(value); } /** *

A description of the work team.

*/ inline CreateWorkteamRequest& WithDescription(const Aws::String& value) { SetDescription(value); return *this;} /** *

A description of the work team.

*/ inline CreateWorkteamRequest& WithDescription(Aws::String&& value) { SetDescription(std::move(value)); return *this;} /** *

A description of the work team.

*/ inline CreateWorkteamRequest& WithDescription(const char* value) { SetDescription(value); return *this;} /** *

Configures notification of workers regarding available or expiring work * items.

*/ inline const NotificationConfiguration& GetNotificationConfiguration() const{ return m_notificationConfiguration; } /** *

Configures notification of workers regarding available or expiring work * items.

*/ inline bool NotificationConfigurationHasBeenSet() const { return m_notificationConfigurationHasBeenSet; } /** *

Configures notification of workers regarding available or expiring work * items.

*/ inline void SetNotificationConfiguration(const NotificationConfiguration& value) { m_notificationConfigurationHasBeenSet = true; m_notificationConfiguration = value; } /** *

Configures notification of workers regarding available or expiring work * items.

*/ inline void SetNotificationConfiguration(NotificationConfiguration&& value) { m_notificationConfigurationHasBeenSet = true; m_notificationConfiguration = std::move(value); } /** *

Configures notification of workers regarding available or expiring work * items.

*/ inline CreateWorkteamRequest& WithNotificationConfiguration(const NotificationConfiguration& value) { SetNotificationConfiguration(value); return *this;} /** *

Configures notification of workers regarding available or expiring work * items.

*/ inline CreateWorkteamRequest& WithNotificationConfiguration(NotificationConfiguration&& value) { SetNotificationConfiguration(std::move(value)); return *this;} /** *

An array of key-value pairs.

For more information, see Resource * Tag and Using * Cost Allocation Tags in the Amazon Web Services Billing and Cost * Management User Guide.

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

An array of key-value pairs.

For more information, see Resource * Tag and Using * Cost Allocation Tags in the Amazon Web Services Billing and Cost * Management User Guide.

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

An array of key-value pairs.

For more information, see Resource * Tag and Using * Cost Allocation Tags in the Amazon Web Services Billing and Cost * Management User Guide.

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

An array of key-value pairs.

For more information, see Resource * Tag and Using * Cost Allocation Tags in the Amazon Web Services Billing and Cost * Management User Guide.

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

An array of key-value pairs.

For more information, see Resource * Tag and Using * Cost Allocation Tags in the Amazon Web Services Billing and Cost * Management User Guide.

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

An array of key-value pairs.

For more information, see Resource * Tag and Using * Cost Allocation Tags in the Amazon Web Services Billing and Cost * Management User Guide.

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

An array of key-value pairs.

For more information, see Resource * Tag and Using * Cost Allocation Tags in the Amazon Web Services Billing and Cost * Management User Guide.

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

An array of key-value pairs.

For more information, see Resource * Tag and Using * Cost Allocation Tags in the Amazon Web Services Billing and Cost * Management User Guide.

*/ inline CreateWorkteamRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } private: Aws::String m_workteamName; bool m_workteamNameHasBeenSet = false; Aws::String m_workforceName; bool m_workforceNameHasBeenSet = false; Aws::Vector m_memberDefinitions; bool m_memberDefinitionsHasBeenSet = false; Aws::String m_description; bool m_descriptionHasBeenSet = false; NotificationConfiguration m_notificationConfiguration; bool m_notificationConfigurationHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; }; } // namespace Model } // namespace SageMaker } // namespace Aws