/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace Amplify { namespace Model { /** *

The request structure for the create domain association request. *

See Also:

AWS * API Reference

*/ class CreateDomainAssociationRequest : public AmplifyRequest { public: AWS_AMPLIFY_API CreateDomainAssociationRequest(); // 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 "CreateDomainAssociation"; } AWS_AMPLIFY_API Aws::String SerializePayload() const override; /** *

The unique ID for an Amplify app.

*/ inline const Aws::String& GetAppId() const{ return m_appId; } /** *

The unique ID for an Amplify app.

*/ inline bool AppIdHasBeenSet() const { return m_appIdHasBeenSet; } /** *

The unique ID for an Amplify app.

*/ inline void SetAppId(const Aws::String& value) { m_appIdHasBeenSet = true; m_appId = value; } /** *

The unique ID for an Amplify app.

*/ inline void SetAppId(Aws::String&& value) { m_appIdHasBeenSet = true; m_appId = std::move(value); } /** *

The unique ID for an Amplify app.

*/ inline void SetAppId(const char* value) { m_appIdHasBeenSet = true; m_appId.assign(value); } /** *

The unique ID for an Amplify app.

*/ inline CreateDomainAssociationRequest& WithAppId(const Aws::String& value) { SetAppId(value); return *this;} /** *

The unique ID for an Amplify app.

*/ inline CreateDomainAssociationRequest& WithAppId(Aws::String&& value) { SetAppId(std::move(value)); return *this;} /** *

The unique ID for an Amplify app.

*/ inline CreateDomainAssociationRequest& WithAppId(const char* value) { SetAppId(value); return *this;} /** *

The domain name for the domain association.

*/ inline const Aws::String& GetDomainName() const{ return m_domainName; } /** *

The domain name for the domain association.

*/ inline bool DomainNameHasBeenSet() const { return m_domainNameHasBeenSet; } /** *

The domain name for the domain association.

*/ inline void SetDomainName(const Aws::String& value) { m_domainNameHasBeenSet = true; m_domainName = value; } /** *

The domain name for the domain association.

*/ inline void SetDomainName(Aws::String&& value) { m_domainNameHasBeenSet = true; m_domainName = std::move(value); } /** *

The domain name for the domain association.

*/ inline void SetDomainName(const char* value) { m_domainNameHasBeenSet = true; m_domainName.assign(value); } /** *

The domain name for the domain association.

*/ inline CreateDomainAssociationRequest& WithDomainName(const Aws::String& value) { SetDomainName(value); return *this;} /** *

The domain name for the domain association.

*/ inline CreateDomainAssociationRequest& WithDomainName(Aws::String&& value) { SetDomainName(std::move(value)); return *this;} /** *

The domain name for the domain association.

*/ inline CreateDomainAssociationRequest& WithDomainName(const char* value) { SetDomainName(value); return *this;} /** *

Enables the automated creation of subdomains for branches.

*/ inline bool GetEnableAutoSubDomain() const{ return m_enableAutoSubDomain; } /** *

Enables the automated creation of subdomains for branches.

*/ inline bool EnableAutoSubDomainHasBeenSet() const { return m_enableAutoSubDomainHasBeenSet; } /** *

Enables the automated creation of subdomains for branches.

*/ inline void SetEnableAutoSubDomain(bool value) { m_enableAutoSubDomainHasBeenSet = true; m_enableAutoSubDomain = value; } /** *

Enables the automated creation of subdomains for branches.

*/ inline CreateDomainAssociationRequest& WithEnableAutoSubDomain(bool value) { SetEnableAutoSubDomain(value); return *this;} /** *

The setting for the subdomain.

*/ inline const Aws::Vector& GetSubDomainSettings() const{ return m_subDomainSettings; } /** *

The setting for the subdomain.

*/ inline bool SubDomainSettingsHasBeenSet() const { return m_subDomainSettingsHasBeenSet; } /** *

The setting for the subdomain.

*/ inline void SetSubDomainSettings(const Aws::Vector& value) { m_subDomainSettingsHasBeenSet = true; m_subDomainSettings = value; } /** *

The setting for the subdomain.

*/ inline void SetSubDomainSettings(Aws::Vector&& value) { m_subDomainSettingsHasBeenSet = true; m_subDomainSettings = std::move(value); } /** *

The setting for the subdomain.

*/ inline CreateDomainAssociationRequest& WithSubDomainSettings(const Aws::Vector& value) { SetSubDomainSettings(value); return *this;} /** *

The setting for the subdomain.

*/ inline CreateDomainAssociationRequest& WithSubDomainSettings(Aws::Vector&& value) { SetSubDomainSettings(std::move(value)); return *this;} /** *

The setting for the subdomain.

*/ inline CreateDomainAssociationRequest& AddSubDomainSettings(const SubDomainSetting& value) { m_subDomainSettingsHasBeenSet = true; m_subDomainSettings.push_back(value); return *this; } /** *

The setting for the subdomain.

*/ inline CreateDomainAssociationRequest& AddSubDomainSettings(SubDomainSetting&& value) { m_subDomainSettingsHasBeenSet = true; m_subDomainSettings.push_back(std::move(value)); return *this; } /** *

Sets the branch patterns for automatic subdomain creation.

*/ inline const Aws::Vector& GetAutoSubDomainCreationPatterns() const{ return m_autoSubDomainCreationPatterns; } /** *

Sets the branch patterns for automatic subdomain creation.

*/ inline bool AutoSubDomainCreationPatternsHasBeenSet() const { return m_autoSubDomainCreationPatternsHasBeenSet; } /** *

Sets the branch patterns for automatic subdomain creation.

*/ inline void SetAutoSubDomainCreationPatterns(const Aws::Vector& value) { m_autoSubDomainCreationPatternsHasBeenSet = true; m_autoSubDomainCreationPatterns = value; } /** *

Sets the branch patterns for automatic subdomain creation.

*/ inline void SetAutoSubDomainCreationPatterns(Aws::Vector&& value) { m_autoSubDomainCreationPatternsHasBeenSet = true; m_autoSubDomainCreationPatterns = std::move(value); } /** *

Sets the branch patterns for automatic subdomain creation.

*/ inline CreateDomainAssociationRequest& WithAutoSubDomainCreationPatterns(const Aws::Vector& value) { SetAutoSubDomainCreationPatterns(value); return *this;} /** *

Sets the branch patterns for automatic subdomain creation.

*/ inline CreateDomainAssociationRequest& WithAutoSubDomainCreationPatterns(Aws::Vector&& value) { SetAutoSubDomainCreationPatterns(std::move(value)); return *this;} /** *

Sets the branch patterns for automatic subdomain creation.

*/ inline CreateDomainAssociationRequest& AddAutoSubDomainCreationPatterns(const Aws::String& value) { m_autoSubDomainCreationPatternsHasBeenSet = true; m_autoSubDomainCreationPatterns.push_back(value); return *this; } /** *

Sets the branch patterns for automatic subdomain creation.

*/ inline CreateDomainAssociationRequest& AddAutoSubDomainCreationPatterns(Aws::String&& value) { m_autoSubDomainCreationPatternsHasBeenSet = true; m_autoSubDomainCreationPatterns.push_back(std::move(value)); return *this; } /** *

Sets the branch patterns for automatic subdomain creation.

*/ inline CreateDomainAssociationRequest& AddAutoSubDomainCreationPatterns(const char* value) { m_autoSubDomainCreationPatternsHasBeenSet = true; m_autoSubDomainCreationPatterns.push_back(value); return *this; } /** *

The required AWS Identity and Access Management (IAM) service role for the * Amazon Resource Name (ARN) for automatically creating subdomains.

*/ inline const Aws::String& GetAutoSubDomainIAMRole() const{ return m_autoSubDomainIAMRole; } /** *

The required AWS Identity and Access Management (IAM) service role for the * Amazon Resource Name (ARN) for automatically creating subdomains.

*/ inline bool AutoSubDomainIAMRoleHasBeenSet() const { return m_autoSubDomainIAMRoleHasBeenSet; } /** *

The required AWS Identity and Access Management (IAM) service role for the * Amazon Resource Name (ARN) for automatically creating subdomains.

*/ inline void SetAutoSubDomainIAMRole(const Aws::String& value) { m_autoSubDomainIAMRoleHasBeenSet = true; m_autoSubDomainIAMRole = value; } /** *

The required AWS Identity and Access Management (IAM) service role for the * Amazon Resource Name (ARN) for automatically creating subdomains.

*/ inline void SetAutoSubDomainIAMRole(Aws::String&& value) { m_autoSubDomainIAMRoleHasBeenSet = true; m_autoSubDomainIAMRole = std::move(value); } /** *

The required AWS Identity and Access Management (IAM) service role for the * Amazon Resource Name (ARN) for automatically creating subdomains.

*/ inline void SetAutoSubDomainIAMRole(const char* value) { m_autoSubDomainIAMRoleHasBeenSet = true; m_autoSubDomainIAMRole.assign(value); } /** *

The required AWS Identity and Access Management (IAM) service role for the * Amazon Resource Name (ARN) for automatically creating subdomains.

*/ inline CreateDomainAssociationRequest& WithAutoSubDomainIAMRole(const Aws::String& value) { SetAutoSubDomainIAMRole(value); return *this;} /** *

The required AWS Identity and Access Management (IAM) service role for the * Amazon Resource Name (ARN) for automatically creating subdomains.

*/ inline CreateDomainAssociationRequest& WithAutoSubDomainIAMRole(Aws::String&& value) { SetAutoSubDomainIAMRole(std::move(value)); return *this;} /** *

The required AWS Identity and Access Management (IAM) service role for the * Amazon Resource Name (ARN) for automatically creating subdomains.

*/ inline CreateDomainAssociationRequest& WithAutoSubDomainIAMRole(const char* value) { SetAutoSubDomainIAMRole(value); return *this;} private: Aws::String m_appId; bool m_appIdHasBeenSet = false; Aws::String m_domainName; bool m_domainNameHasBeenSet = false; bool m_enableAutoSubDomain; bool m_enableAutoSubDomainHasBeenSet = false; Aws::Vector m_subDomainSettings; bool m_subDomainSettingsHasBeenSet = false; Aws::Vector m_autoSubDomainCreationPatterns; bool m_autoSubDomainCreationPatternsHasBeenSet = false; Aws::String m_autoSubDomainIAMRole; bool m_autoSubDomainIAMRoleHasBeenSet = false; }; } // namespace Model } // namespace Amplify } // namespace Aws