/** * 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 MediaTailor { namespace Model { /** *

Access configuration parameters.

See Also:

AWS * API Reference

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

The type of authentication used to access content from * HttpConfiguration::BaseUrl on your source location. Accepted value: * S3_SIGV4.

S3_SIGV4 - AWS Signature Version 4 * authentication for Amazon S3 hosted virtual-style access. If your source * location base URL is an Amazon S3 bucket, MediaTailor can use AWS Signature * Version 4 (SigV4) authentication to access the bucket where your source content * is stored. Your MediaTailor source location baseURL must follow the S3 virtual * hosted-style request URL format. For example, * https://bucket-name.s3.Region.amazonaws.com/key-name.

Before you can use * S3_SIGV4, you must meet these requirements:

• You must allow * MediaTailor to access your S3 bucket by granting mediatailor.amazonaws.com * principal access in IAM. For information about configuring access in IAM, see * Access management in the IAM User Guide.

• The mediatailor.amazonaws.com * service principal must have permissions to read all top level manifests * referenced by the VodSource packaging configurations.

• The caller of the * API must have s3:GetObject IAM permissions to read all top level manifests * referenced by your MediaTailor VodSource packaging configurations.

*/ inline const AccessType& GetAccessType() const{ return m_accessType; } /** *

The type of authentication used to access content from * HttpConfiguration::BaseUrl on your source location. Accepted value: * S3_SIGV4.

S3_SIGV4 - AWS Signature Version 4 * authentication for Amazon S3 hosted virtual-style access. If your source * location base URL is an Amazon S3 bucket, MediaTailor can use AWS Signature * Version 4 (SigV4) authentication to access the bucket where your source content * is stored. Your MediaTailor source location baseURL must follow the S3 virtual * hosted-style request URL format. For example, * https://bucket-name.s3.Region.amazonaws.com/key-name.

Before you can use * S3_SIGV4, you must meet these requirements:

• You must allow * MediaTailor to access your S3 bucket by granting mediatailor.amazonaws.com * principal access in IAM. For information about configuring access in IAM, see * Access management in the IAM User Guide.

• The mediatailor.amazonaws.com * service principal must have permissions to read all top level manifests * referenced by the VodSource packaging configurations.

• The caller of the * API must have s3:GetObject IAM permissions to read all top level manifests * referenced by your MediaTailor VodSource packaging configurations.

*/ inline bool AccessTypeHasBeenSet() const { return m_accessTypeHasBeenSet; } /** *

The type of authentication used to access content from * HttpConfiguration::BaseUrl on your source location. Accepted value: * S3_SIGV4.

S3_SIGV4 - AWS Signature Version 4 * authentication for Amazon S3 hosted virtual-style access. If your source * location base URL is an Amazon S3 bucket, MediaTailor can use AWS Signature * Version 4 (SigV4) authentication to access the bucket where your source content * is stored. Your MediaTailor source location baseURL must follow the S3 virtual * hosted-style request URL format. For example, * https://bucket-name.s3.Region.amazonaws.com/key-name.

Before you can use * S3_SIGV4, you must meet these requirements:

• You must allow * MediaTailor to access your S3 bucket by granting mediatailor.amazonaws.com * principal access in IAM. For information about configuring access in IAM, see * Access management in the IAM User Guide.

• The mediatailor.amazonaws.com * service principal must have permissions to read all top level manifests * referenced by the VodSource packaging configurations.

• The caller of the * API must have s3:GetObject IAM permissions to read all top level manifests * referenced by your MediaTailor VodSource packaging configurations.

*/ inline void SetAccessType(const AccessType& value) { m_accessTypeHasBeenSet = true; m_accessType = value; } /** *

The type of authentication used to access content from * HttpConfiguration::BaseUrl on your source location. Accepted value: * S3_SIGV4.

S3_SIGV4 - AWS Signature Version 4 * authentication for Amazon S3 hosted virtual-style access. If your source * location base URL is an Amazon S3 bucket, MediaTailor can use AWS Signature * Version 4 (SigV4) authentication to access the bucket where your source content * is stored. Your MediaTailor source location baseURL must follow the S3 virtual * hosted-style request URL format. For example, * https://bucket-name.s3.Region.amazonaws.com/key-name.

Before you can use * S3_SIGV4, you must meet these requirements:

• You must allow * MediaTailor to access your S3 bucket by granting mediatailor.amazonaws.com * principal access in IAM. For information about configuring access in IAM, see * Access management in the IAM User Guide.

• The mediatailor.amazonaws.com * service principal must have permissions to read all top level manifests * referenced by the VodSource packaging configurations.

• The caller of the * API must have s3:GetObject IAM permissions to read all top level manifests * referenced by your MediaTailor VodSource packaging configurations.

*/ inline void SetAccessType(AccessType&& value) { m_accessTypeHasBeenSet = true; m_accessType = std::move(value); } /** *

The type of authentication used to access content from * HttpConfiguration::BaseUrl on your source location. Accepted value: * S3_SIGV4.

S3_SIGV4 - AWS Signature Version 4 * authentication for Amazon S3 hosted virtual-style access. If your source * location base URL is an Amazon S3 bucket, MediaTailor can use AWS Signature * Version 4 (SigV4) authentication to access the bucket where your source content * is stored. Your MediaTailor source location baseURL must follow the S3 virtual * hosted-style request URL format. For example, * https://bucket-name.s3.Region.amazonaws.com/key-name.

Before you can use * S3_SIGV4, you must meet these requirements:

• You must allow * MediaTailor to access your S3 bucket by granting mediatailor.amazonaws.com * principal access in IAM. For information about configuring access in IAM, see * Access management in the IAM User Guide.

• The mediatailor.amazonaws.com * service principal must have permissions to read all top level manifests * referenced by the VodSource packaging configurations.

• The caller of the * API must have s3:GetObject IAM permissions to read all top level manifests * referenced by your MediaTailor VodSource packaging configurations.

*/ inline AccessConfiguration& WithAccessType(const AccessType& value) { SetAccessType(value); return *this;} /** *

The type of authentication used to access content from * HttpConfiguration::BaseUrl on your source location. Accepted value: * S3_SIGV4.

S3_SIGV4 - AWS Signature Version 4 * authentication for Amazon S3 hosted virtual-style access. If your source * location base URL is an Amazon S3 bucket, MediaTailor can use AWS Signature * Version 4 (SigV4) authentication to access the bucket where your source content * is stored. Your MediaTailor source location baseURL must follow the S3 virtual * hosted-style request URL format. For example, * https://bucket-name.s3.Region.amazonaws.com/key-name.

Before you can use * S3_SIGV4, you must meet these requirements:

• You must allow * MediaTailor to access your S3 bucket by granting mediatailor.amazonaws.com * principal access in IAM. For information about configuring access in IAM, see * Access management in the IAM User Guide.

• The mediatailor.amazonaws.com * service principal must have permissions to read all top level manifests * referenced by the VodSource packaging configurations.

• The caller of the * API must have s3:GetObject IAM permissions to read all top level manifests * referenced by your MediaTailor VodSource packaging configurations.

*/ inline AccessConfiguration& WithAccessType(AccessType&& value) { SetAccessType(std::move(value)); return *this;} /** *

AWS Secrets Manager access token configuration parameters.

*/ inline const SecretsManagerAccessTokenConfiguration& GetSecretsManagerAccessTokenConfiguration() const{ return m_secretsManagerAccessTokenConfiguration; } /** *

AWS Secrets Manager access token configuration parameters.

*/ inline bool SecretsManagerAccessTokenConfigurationHasBeenSet() const { return m_secretsManagerAccessTokenConfigurationHasBeenSet; } /** *

AWS Secrets Manager access token configuration parameters.

*/ inline void SetSecretsManagerAccessTokenConfiguration(const SecretsManagerAccessTokenConfiguration& value) { m_secretsManagerAccessTokenConfigurationHasBeenSet = true; m_secretsManagerAccessTokenConfiguration = value; } /** *

AWS Secrets Manager access token configuration parameters.

*/ inline void SetSecretsManagerAccessTokenConfiguration(SecretsManagerAccessTokenConfiguration&& value) { m_secretsManagerAccessTokenConfigurationHasBeenSet = true; m_secretsManagerAccessTokenConfiguration = std::move(value); } /** *

AWS Secrets Manager access token configuration parameters.

*/ inline AccessConfiguration& WithSecretsManagerAccessTokenConfiguration(const SecretsManagerAccessTokenConfiguration& value) { SetSecretsManagerAccessTokenConfiguration(value); return *this;} /** *

AWS Secrets Manager access token configuration parameters.

*/ inline AccessConfiguration& WithSecretsManagerAccessTokenConfiguration(SecretsManagerAccessTokenConfiguration&& value) { SetSecretsManagerAccessTokenConfiguration(std::move(value)); return *this;} private: AccessType m_accessType; bool m_accessTypeHasBeenSet = false; SecretsManagerAccessTokenConfiguration m_secretsManagerAccessTokenConfiguration; bool m_secretsManagerAccessTokenConfigurationHasBeenSet = false; }; } // namespace Model } // namespace MediaTailor } // namespace Aws