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

A DNS alias that is associated with the file system. You can use a DNS alias * to access a file system using user-defined DNS names, in addition to the default * DNS name that Amazon FSx assigns to the file system. For more information, see * DNS * aliases in the FSx for Windows File Server User Guide.

See * Also:

AWS API * Reference

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

The name of the DNS alias. The alias name has to meet the following * requirements:

  • Formatted as a fully-qualified domain name * (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the DNS alias. The alias name has to meet the following * requirements:

  • Formatted as a fully-qualified domain name * (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the DNS alias. The alias name has to meet the following * requirements:

  • Formatted as a fully-qualified domain name * (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the DNS alias. The alias name has to meet the following * requirements:

  • Formatted as a fully-qualified domain name * (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the DNS alias. The alias name has to meet the following * requirements:

  • Formatted as a fully-qualified domain name * (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the DNS alias. The alias name has to meet the following * requirements:

  • Formatted as a fully-qualified domain name * (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline Alias& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the DNS alias. The alias name has to meet the following * requirements:

  • Formatted as a fully-qualified domain name * (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline Alias& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the DNS alias. The alias name has to meet the following * requirements:

  • Formatted as a fully-qualified domain name * (FQDN), hostname.domain, for example, * accounting.example.com.

  • Can contain alphanumeric * characters, the underscore (_), and the hyphen (-).

  • Cannot * start or end with a hyphen.

  • Can start with a numeric.

    *

For DNS names, Amazon FSx stores alphabetic characters as * lowercase letters (a-z), regardless of how you specify them: as uppercase * letters, lowercase letters, or the corresponding letters in escape codes.

*/ inline Alias& WithName(const char* value) { SetName(value); return *this;} /** *

Describes the state of the DNS alias.

  • AVAILABLE - The DNS * alias is associated with an Amazon FSx file system.

  • CREATING - * Amazon FSx is creating the DNS alias and associating it with the file * system.

  • CREATE_FAILED - Amazon FSx was unable to associate the * DNS alias with the file system.

  • DELETING - Amazon FSx is * disassociating the DNS alias from the file system and deleting it.

  • *
  • DELETE_FAILED - Amazon FSx was unable to disassociate the DNS alias from * the file system.

*/ inline const AliasLifecycle& GetLifecycle() const{ return m_lifecycle; } /** *

Describes the state of the DNS alias.

  • AVAILABLE - The DNS * alias is associated with an Amazon FSx file system.

  • CREATING - * Amazon FSx is creating the DNS alias and associating it with the file * system.

  • CREATE_FAILED - Amazon FSx was unable to associate the * DNS alias with the file system.

  • DELETING - Amazon FSx is * disassociating the DNS alias from the file system and deleting it.

  • *
  • DELETE_FAILED - Amazon FSx was unable to disassociate the DNS alias from * the file system.

*/ inline bool LifecycleHasBeenSet() const { return m_lifecycleHasBeenSet; } /** *

Describes the state of the DNS alias.

  • AVAILABLE - The DNS * alias is associated with an Amazon FSx file system.

  • CREATING - * Amazon FSx is creating the DNS alias and associating it with the file * system.

  • CREATE_FAILED - Amazon FSx was unable to associate the * DNS alias with the file system.

  • DELETING - Amazon FSx is * disassociating the DNS alias from the file system and deleting it.

  • *
  • DELETE_FAILED - Amazon FSx was unable to disassociate the DNS alias from * the file system.

*/ inline void SetLifecycle(const AliasLifecycle& value) { m_lifecycleHasBeenSet = true; m_lifecycle = value; } /** *

Describes the state of the DNS alias.

  • AVAILABLE - The DNS * alias is associated with an Amazon FSx file system.

  • CREATING - * Amazon FSx is creating the DNS alias and associating it with the file * system.

  • CREATE_FAILED - Amazon FSx was unable to associate the * DNS alias with the file system.

  • DELETING - Amazon FSx is * disassociating the DNS alias from the file system and deleting it.

  • *
  • DELETE_FAILED - Amazon FSx was unable to disassociate the DNS alias from * the file system.

*/ inline void SetLifecycle(AliasLifecycle&& value) { m_lifecycleHasBeenSet = true; m_lifecycle = std::move(value); } /** *

Describes the state of the DNS alias.

  • AVAILABLE - The DNS * alias is associated with an Amazon FSx file system.

  • CREATING - * Amazon FSx is creating the DNS alias and associating it with the file * system.

  • CREATE_FAILED - Amazon FSx was unable to associate the * DNS alias with the file system.

  • DELETING - Amazon FSx is * disassociating the DNS alias from the file system and deleting it.

  • *
  • DELETE_FAILED - Amazon FSx was unable to disassociate the DNS alias from * the file system.

*/ inline Alias& WithLifecycle(const AliasLifecycle& value) { SetLifecycle(value); return *this;} /** *

Describes the state of the DNS alias.

  • AVAILABLE - The DNS * alias is associated with an Amazon FSx file system.

  • CREATING - * Amazon FSx is creating the DNS alias and associating it with the file * system.

  • CREATE_FAILED - Amazon FSx was unable to associate the * DNS alias with the file system.

  • DELETING - Amazon FSx is * disassociating the DNS alias from the file system and deleting it.

  • *
  • DELETE_FAILED - Amazon FSx was unable to disassociate the DNS alias from * the file system.

*/ inline Alias& WithLifecycle(AliasLifecycle&& value) { SetLifecycle(std::move(value)); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; AliasLifecycle m_lifecycle; bool m_lifecycleHasBeenSet = false; }; } // namespace Model } // namespace FSx } // namespace Aws