/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace ECR { namespace Model { /** *

An object representing authorization data for an Amazon ECR * registry.

See Also:

AWS * API Reference

*/ class AuthorizationData { public: AWS_ECR_API AuthorizationData(); AWS_ECR_API AuthorizationData(Aws::Utils::Json::JsonView jsonValue); AWS_ECR_API AuthorizationData& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_ECR_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

A base64-encoded string that contains authorization data for the specified * Amazon ECR registry. When the string is decoded, it is presented in the format * user:password for private registry authentication using * docker login.

*/ inline const Aws::String& GetAuthorizationToken() const{ return m_authorizationToken; } /** *

A base64-encoded string that contains authorization data for the specified * Amazon ECR registry. When the string is decoded, it is presented in the format * user:password for private registry authentication using * docker login.

*/ inline bool AuthorizationTokenHasBeenSet() const { return m_authorizationTokenHasBeenSet; } /** *

A base64-encoded string that contains authorization data for the specified * Amazon ECR registry. When the string is decoded, it is presented in the format * user:password for private registry authentication using * docker login.

*/ inline void SetAuthorizationToken(const Aws::String& value) { m_authorizationTokenHasBeenSet = true; m_authorizationToken = value; } /** *

A base64-encoded string that contains authorization data for the specified * Amazon ECR registry. When the string is decoded, it is presented in the format * user:password for private registry authentication using * docker login.

*/ inline void SetAuthorizationToken(Aws::String&& value) { m_authorizationTokenHasBeenSet = true; m_authorizationToken = std::move(value); } /** *

A base64-encoded string that contains authorization data for the specified * Amazon ECR registry. When the string is decoded, it is presented in the format * user:password for private registry authentication using * docker login.

*/ inline void SetAuthorizationToken(const char* value) { m_authorizationTokenHasBeenSet = true; m_authorizationToken.assign(value); } /** *

A base64-encoded string that contains authorization data for the specified * Amazon ECR registry. When the string is decoded, it is presented in the format * user:password for private registry authentication using * docker login.

*/ inline AuthorizationData& WithAuthorizationToken(const Aws::String& value) { SetAuthorizationToken(value); return *this;} /** *

A base64-encoded string that contains authorization data for the specified * Amazon ECR registry. When the string is decoded, it is presented in the format * user:password for private registry authentication using * docker login.

*/ inline AuthorizationData& WithAuthorizationToken(Aws::String&& value) { SetAuthorizationToken(std::move(value)); return *this;} /** *

A base64-encoded string that contains authorization data for the specified * Amazon ECR registry. When the string is decoded, it is presented in the format * user:password for private registry authentication using * docker login.

*/ inline AuthorizationData& WithAuthorizationToken(const char* value) { SetAuthorizationToken(value); return *this;} /** *

The Unix time in seconds and milliseconds when the authorization token * expires. Authorization tokens are valid for 12 hours.

*/ inline const Aws::Utils::DateTime& GetExpiresAt() const{ return m_expiresAt; } /** *

The Unix time in seconds and milliseconds when the authorization token * expires. Authorization tokens are valid for 12 hours.

*/ inline bool ExpiresAtHasBeenSet() const { return m_expiresAtHasBeenSet; } /** *

The Unix time in seconds and milliseconds when the authorization token * expires. Authorization tokens are valid for 12 hours.

*/ inline void SetExpiresAt(const Aws::Utils::DateTime& value) { m_expiresAtHasBeenSet = true; m_expiresAt = value; } /** *

The Unix time in seconds and milliseconds when the authorization token * expires. Authorization tokens are valid for 12 hours.

*/ inline void SetExpiresAt(Aws::Utils::DateTime&& value) { m_expiresAtHasBeenSet = true; m_expiresAt = std::move(value); } /** *

The Unix time in seconds and milliseconds when the authorization token * expires. Authorization tokens are valid for 12 hours.

*/ inline AuthorizationData& WithExpiresAt(const Aws::Utils::DateTime& value) { SetExpiresAt(value); return *this;} /** *

The Unix time in seconds and milliseconds when the authorization token * expires. Authorization tokens are valid for 12 hours.

*/ inline AuthorizationData& WithExpiresAt(Aws::Utils::DateTime&& value) { SetExpiresAt(std::move(value)); return *this;} /** *

The registry URL to use for this authorization token in a docker * login command. The Amazon ECR registry URL format is * https://aws_account_id.dkr.ecr.region.amazonaws.com. For example, * https://012345678910.dkr.ecr.us-east-1.amazonaws.com..

*/ inline const Aws::String& GetProxyEndpoint() const{ return m_proxyEndpoint; } /** *

The registry URL to use for this authorization token in a docker * login command. The Amazon ECR registry URL format is * https://aws_account_id.dkr.ecr.region.amazonaws.com. For example, * https://012345678910.dkr.ecr.us-east-1.amazonaws.com..

*/ inline bool ProxyEndpointHasBeenSet() const { return m_proxyEndpointHasBeenSet; } /** *

The registry URL to use for this authorization token in a docker * login command. The Amazon ECR registry URL format is * https://aws_account_id.dkr.ecr.region.amazonaws.com. For example, * https://012345678910.dkr.ecr.us-east-1.amazonaws.com..

*/ inline void SetProxyEndpoint(const Aws::String& value) { m_proxyEndpointHasBeenSet = true; m_proxyEndpoint = value; } /** *

The registry URL to use for this authorization token in a docker * login command. The Amazon ECR registry URL format is * https://aws_account_id.dkr.ecr.region.amazonaws.com. For example, * https://012345678910.dkr.ecr.us-east-1.amazonaws.com..

*/ inline void SetProxyEndpoint(Aws::String&& value) { m_proxyEndpointHasBeenSet = true; m_proxyEndpoint = std::move(value); } /** *

The registry URL to use for this authorization token in a docker * login command. The Amazon ECR registry URL format is * https://aws_account_id.dkr.ecr.region.amazonaws.com. For example, * https://012345678910.dkr.ecr.us-east-1.amazonaws.com..

*/ inline void SetProxyEndpoint(const char* value) { m_proxyEndpointHasBeenSet = true; m_proxyEndpoint.assign(value); } /** *

The registry URL to use for this authorization token in a docker * login command. The Amazon ECR registry URL format is * https://aws_account_id.dkr.ecr.region.amazonaws.com. For example, * https://012345678910.dkr.ecr.us-east-1.amazonaws.com..

*/ inline AuthorizationData& WithProxyEndpoint(const Aws::String& value) { SetProxyEndpoint(value); return *this;} /** *

The registry URL to use for this authorization token in a docker * login command. The Amazon ECR registry URL format is * https://aws_account_id.dkr.ecr.region.amazonaws.com. For example, * https://012345678910.dkr.ecr.us-east-1.amazonaws.com..

*/ inline AuthorizationData& WithProxyEndpoint(Aws::String&& value) { SetProxyEndpoint(std::move(value)); return *this;} /** *

The registry URL to use for this authorization token in a docker * login command. The Amazon ECR registry URL format is * https://aws_account_id.dkr.ecr.region.amazonaws.com. For example, * https://012345678910.dkr.ecr.us-east-1.amazonaws.com..

*/ inline AuthorizationData& WithProxyEndpoint(const char* value) { SetProxyEndpoint(value); return *this;} private: Aws::String m_authorizationToken; bool m_authorizationTokenHasBeenSet = false; Aws::Utils::DateTime m_expiresAt; bool m_expiresAtHasBeenSet = false; Aws::String m_proxyEndpoint; bool m_proxyEndpointHasBeenSet = false; }; } // namespace Model } // namespace ECR } // namespace Aws