/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace EMRContainers { namespace Model { /** */ class GetManagedEndpointSessionCredentialsRequest : public EMRContainersRequest { public: AWS_EMRCONTAINERS_API GetManagedEndpointSessionCredentialsRequest(); // 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 "GetManagedEndpointSessionCredentials"; } AWS_EMRCONTAINERS_API Aws::String SerializePayload() const override; /** *

The ARN of the managed endpoint for which the request is submitted.

*/ inline const Aws::String& GetEndpointIdentifier() const{ return m_endpointIdentifier; } /** *

The ARN of the managed endpoint for which the request is submitted.

*/ inline bool EndpointIdentifierHasBeenSet() const { return m_endpointIdentifierHasBeenSet; } /** *

The ARN of the managed endpoint for which the request is submitted.

*/ inline void SetEndpointIdentifier(const Aws::String& value) { m_endpointIdentifierHasBeenSet = true; m_endpointIdentifier = value; } /** *

The ARN of the managed endpoint for which the request is submitted.

*/ inline void SetEndpointIdentifier(Aws::String&& value) { m_endpointIdentifierHasBeenSet = true; m_endpointIdentifier = std::move(value); } /** *

The ARN of the managed endpoint for which the request is submitted.

*/ inline void SetEndpointIdentifier(const char* value) { m_endpointIdentifierHasBeenSet = true; m_endpointIdentifier.assign(value); } /** *

The ARN of the managed endpoint for which the request is submitted.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithEndpointIdentifier(const Aws::String& value) { SetEndpointIdentifier(value); return *this;} /** *

The ARN of the managed endpoint for which the request is submitted.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithEndpointIdentifier(Aws::String&& value) { SetEndpointIdentifier(std::move(value)); return *this;} /** *

The ARN of the managed endpoint for which the request is submitted.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithEndpointIdentifier(const char* value) { SetEndpointIdentifier(value); return *this;} /** *

The ARN of the Virtual Cluster which the Managed Endpoint belongs to.

*/ inline const Aws::String& GetVirtualClusterIdentifier() const{ return m_virtualClusterIdentifier; } /** *

The ARN of the Virtual Cluster which the Managed Endpoint belongs to.

*/ inline bool VirtualClusterIdentifierHasBeenSet() const { return m_virtualClusterIdentifierHasBeenSet; } /** *

The ARN of the Virtual Cluster which the Managed Endpoint belongs to.

*/ inline void SetVirtualClusterIdentifier(const Aws::String& value) { m_virtualClusterIdentifierHasBeenSet = true; m_virtualClusterIdentifier = value; } /** *

The ARN of the Virtual Cluster which the Managed Endpoint belongs to.

*/ inline void SetVirtualClusterIdentifier(Aws::String&& value) { m_virtualClusterIdentifierHasBeenSet = true; m_virtualClusterIdentifier = std::move(value); } /** *

The ARN of the Virtual Cluster which the Managed Endpoint belongs to.

*/ inline void SetVirtualClusterIdentifier(const char* value) { m_virtualClusterIdentifierHasBeenSet = true; m_virtualClusterIdentifier.assign(value); } /** *

The ARN of the Virtual Cluster which the Managed Endpoint belongs to.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithVirtualClusterIdentifier(const Aws::String& value) { SetVirtualClusterIdentifier(value); return *this;} /** *

The ARN of the Virtual Cluster which the Managed Endpoint belongs to.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithVirtualClusterIdentifier(Aws::String&& value) { SetVirtualClusterIdentifier(std::move(value)); return *this;} /** *

The ARN of the Virtual Cluster which the Managed Endpoint belongs to.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithVirtualClusterIdentifier(const char* value) { SetVirtualClusterIdentifier(value); return *this;} /** *

The IAM Execution Role ARN that will be used by the job run.

*/ inline const Aws::String& GetExecutionRoleArn() const{ return m_executionRoleArn; } /** *

The IAM Execution Role ARN that will be used by the job run.

*/ inline bool ExecutionRoleArnHasBeenSet() const { return m_executionRoleArnHasBeenSet; } /** *

The IAM Execution Role ARN that will be used by the job run.

*/ inline void SetExecutionRoleArn(const Aws::String& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = value; } /** *

The IAM Execution Role ARN that will be used by the job run.

*/ inline void SetExecutionRoleArn(Aws::String&& value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn = std::move(value); } /** *

The IAM Execution Role ARN that will be used by the job run.

*/ inline void SetExecutionRoleArn(const char* value) { m_executionRoleArnHasBeenSet = true; m_executionRoleArn.assign(value); } /** *

The IAM Execution Role ARN that will be used by the job run.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithExecutionRoleArn(const Aws::String& value) { SetExecutionRoleArn(value); return *this;} /** *

The IAM Execution Role ARN that will be used by the job run.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithExecutionRoleArn(Aws::String&& value) { SetExecutionRoleArn(std::move(value)); return *this;} /** *

The IAM Execution Role ARN that will be used by the job run.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithExecutionRoleArn(const char* value) { SetExecutionRoleArn(value); return *this;} /** *

Type of the token requested. Currently supported and default value of this * field is “TOKEN.”

*/ inline const Aws::String& GetCredentialType() const{ return m_credentialType; } /** *

Type of the token requested. Currently supported and default value of this * field is “TOKEN.”

*/ inline bool CredentialTypeHasBeenSet() const { return m_credentialTypeHasBeenSet; } /** *

Type of the token requested. Currently supported and default value of this * field is “TOKEN.”

*/ inline void SetCredentialType(const Aws::String& value) { m_credentialTypeHasBeenSet = true; m_credentialType = value; } /** *

Type of the token requested. Currently supported and default value of this * field is “TOKEN.”

*/ inline void SetCredentialType(Aws::String&& value) { m_credentialTypeHasBeenSet = true; m_credentialType = std::move(value); } /** *

Type of the token requested. Currently supported and default value of this * field is “TOKEN.”

*/ inline void SetCredentialType(const char* value) { m_credentialTypeHasBeenSet = true; m_credentialType.assign(value); } /** *

Type of the token requested. Currently supported and default value of this * field is “TOKEN.”

*/ inline GetManagedEndpointSessionCredentialsRequest& WithCredentialType(const Aws::String& value) { SetCredentialType(value); return *this;} /** *

Type of the token requested. Currently supported and default value of this * field is “TOKEN.”

*/ inline GetManagedEndpointSessionCredentialsRequest& WithCredentialType(Aws::String&& value) { SetCredentialType(std::move(value)); return *this;} /** *

Type of the token requested. Currently supported and default value of this * field is “TOKEN.”

*/ inline GetManagedEndpointSessionCredentialsRequest& WithCredentialType(const char* value) { SetCredentialType(value); return *this;} /** *

Duration in seconds for which the session token is valid. The default * duration is 15 minutes and the maximum is 12 hours.

*/ inline int GetDurationInSeconds() const{ return m_durationInSeconds; } /** *

Duration in seconds for which the session token is valid. The default * duration is 15 minutes and the maximum is 12 hours.

*/ inline bool DurationInSecondsHasBeenSet() const { return m_durationInSecondsHasBeenSet; } /** *

Duration in seconds for which the session token is valid. The default * duration is 15 minutes and the maximum is 12 hours.

*/ inline void SetDurationInSeconds(int value) { m_durationInSecondsHasBeenSet = true; m_durationInSeconds = value; } /** *

Duration in seconds for which the session token is valid. The default * duration is 15 minutes and the maximum is 12 hours.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithDurationInSeconds(int value) { SetDurationInSeconds(value); return *this;} /** *

String identifier used to separate sections of the execution logs uploaded to * S3.

*/ inline const Aws::String& GetLogContext() const{ return m_logContext; } /** *

String identifier used to separate sections of the execution logs uploaded to * S3.

*/ inline bool LogContextHasBeenSet() const { return m_logContextHasBeenSet; } /** *

String identifier used to separate sections of the execution logs uploaded to * S3.

*/ inline void SetLogContext(const Aws::String& value) { m_logContextHasBeenSet = true; m_logContext = value; } /** *

String identifier used to separate sections of the execution logs uploaded to * S3.

*/ inline void SetLogContext(Aws::String&& value) { m_logContextHasBeenSet = true; m_logContext = std::move(value); } /** *

String identifier used to separate sections of the execution logs uploaded to * S3.

*/ inline void SetLogContext(const char* value) { m_logContextHasBeenSet = true; m_logContext.assign(value); } /** *

String identifier used to separate sections of the execution logs uploaded to * S3.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithLogContext(const Aws::String& value) { SetLogContext(value); return *this;} /** *

String identifier used to separate sections of the execution logs uploaded to * S3.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithLogContext(Aws::String&& value) { SetLogContext(std::move(value)); return *this;} /** *

String identifier used to separate sections of the execution logs uploaded to * S3.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithLogContext(const char* value) { SetLogContext(value); return *this;} /** *

The client idempotency token of the job run request.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

The client idempotency token of the job run request.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

The client idempotency token of the job run request.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

The client idempotency token of the job run request.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

The client idempotency token of the job run request.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

The client idempotency token of the job run request.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

The client idempotency token of the job run request.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

The client idempotency token of the job run request.

*/ inline GetManagedEndpointSessionCredentialsRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} private: Aws::String m_endpointIdentifier; bool m_endpointIdentifierHasBeenSet = false; Aws::String m_virtualClusterIdentifier; bool m_virtualClusterIdentifierHasBeenSet = false; Aws::String m_executionRoleArn; bool m_executionRoleArnHasBeenSet = false; Aws::String m_credentialType; bool m_credentialTypeHasBeenSet = false; int m_durationInSeconds; bool m_durationInSecondsHasBeenSet = false; Aws::String m_logContext; bool m_logContextHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; }; } // namespace Model } // namespace EMRContainers } // namespace Aws