/** * 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 { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace StorageGateway { namespace Model { class DescribeSMBSettingsResult { public: AWS_STORAGEGATEWAY_API DescribeSMBSettingsResult(); AWS_STORAGEGATEWAY_API DescribeSMBSettingsResult(const Aws::AmazonWebServiceResult& result); AWS_STORAGEGATEWAY_API DescribeSMBSettingsResult& operator=(const Aws::AmazonWebServiceResult& result); inline const Aws::String& GetGatewayARN() const{ return m_gatewayARN; } inline void SetGatewayARN(const Aws::String& value) { m_gatewayARN = value; } inline void SetGatewayARN(Aws::String&& value) { m_gatewayARN = std::move(value); } inline void SetGatewayARN(const char* value) { m_gatewayARN.assign(value); } inline DescribeSMBSettingsResult& WithGatewayARN(const Aws::String& value) { SetGatewayARN(value); return *this;} inline DescribeSMBSettingsResult& WithGatewayARN(Aws::String&& value) { SetGatewayARN(std::move(value)); return *this;} inline DescribeSMBSettingsResult& WithGatewayARN(const char* value) { SetGatewayARN(value); return *this;} /** *

The name of the domain that the gateway is joined to.

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

The name of the domain that the gateway is joined to.

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

The name of the domain that the gateway is joined to.

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

The name of the domain that the gateway is joined to.

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

The name of the domain that the gateway is joined to.

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

The name of the domain that the gateway is joined to.

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

The name of the domain that the gateway is joined to.

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

Indicates the status of a gateway that is a member of the Active Directory * domain.

  • ACCESS_DENIED: Indicates that the * JoinDomain operation failed due to an authentication error.

    *
  • DETACHED: Indicates that gateway is not joined to a * domain.

  • JOINED: Indicates that the gateway has * successfully joined a domain.

  • JOINING: Indicates * that a JoinDomain operation is in progress.

  • * NETWORK_ERROR: Indicates that JoinDomain operation * failed due to a network or connectivity error.

  • * TIMEOUT: Indicates that the JoinDomain operation * failed because the operation didn't complete within the allotted time.

  • *
  • UNKNOWN_ERROR: Indicates that the JoinDomain * operation failed due to another type of error.

*/ inline const ActiveDirectoryStatus& GetActiveDirectoryStatus() const{ return m_activeDirectoryStatus; } /** *

Indicates the status of a gateway that is a member of the Active Directory * domain.

  • ACCESS_DENIED: Indicates that the * JoinDomain operation failed due to an authentication error.

    *
  • DETACHED: Indicates that gateway is not joined to a * domain.

  • JOINED: Indicates that the gateway has * successfully joined a domain.

  • JOINING: Indicates * that a JoinDomain operation is in progress.

  • * NETWORK_ERROR: Indicates that JoinDomain operation * failed due to a network or connectivity error.

  • * TIMEOUT: Indicates that the JoinDomain operation * failed because the operation didn't complete within the allotted time.

  • *
  • UNKNOWN_ERROR: Indicates that the JoinDomain * operation failed due to another type of error.

*/ inline void SetActiveDirectoryStatus(const ActiveDirectoryStatus& value) { m_activeDirectoryStatus = value; } /** *

Indicates the status of a gateway that is a member of the Active Directory * domain.

  • ACCESS_DENIED: Indicates that the * JoinDomain operation failed due to an authentication error.

    *
  • DETACHED: Indicates that gateway is not joined to a * domain.

  • JOINED: Indicates that the gateway has * successfully joined a domain.

  • JOINING: Indicates * that a JoinDomain operation is in progress.

  • * NETWORK_ERROR: Indicates that JoinDomain operation * failed due to a network or connectivity error.

  • * TIMEOUT: Indicates that the JoinDomain operation * failed because the operation didn't complete within the allotted time.

  • *
  • UNKNOWN_ERROR: Indicates that the JoinDomain * operation failed due to another type of error.

*/ inline void SetActiveDirectoryStatus(ActiveDirectoryStatus&& value) { m_activeDirectoryStatus = std::move(value); } /** *

Indicates the status of a gateway that is a member of the Active Directory * domain.

  • ACCESS_DENIED: Indicates that the * JoinDomain operation failed due to an authentication error.

    *
  • DETACHED: Indicates that gateway is not joined to a * domain.

  • JOINED: Indicates that the gateway has * successfully joined a domain.

  • JOINING: Indicates * that a JoinDomain operation is in progress.

  • * NETWORK_ERROR: Indicates that JoinDomain operation * failed due to a network or connectivity error.

  • * TIMEOUT: Indicates that the JoinDomain operation * failed because the operation didn't complete within the allotted time.

  • *
  • UNKNOWN_ERROR: Indicates that the JoinDomain * operation failed due to another type of error.

*/ inline DescribeSMBSettingsResult& WithActiveDirectoryStatus(const ActiveDirectoryStatus& value) { SetActiveDirectoryStatus(value); return *this;} /** *

Indicates the status of a gateway that is a member of the Active Directory * domain.

  • ACCESS_DENIED: Indicates that the * JoinDomain operation failed due to an authentication error.

    *
  • DETACHED: Indicates that gateway is not joined to a * domain.

  • JOINED: Indicates that the gateway has * successfully joined a domain.

  • JOINING: Indicates * that a JoinDomain operation is in progress.

  • * NETWORK_ERROR: Indicates that JoinDomain operation * failed due to a network or connectivity error.

  • * TIMEOUT: Indicates that the JoinDomain operation * failed because the operation didn't complete within the allotted time.

  • *
  • UNKNOWN_ERROR: Indicates that the JoinDomain * operation failed due to another type of error.

*/ inline DescribeSMBSettingsResult& WithActiveDirectoryStatus(ActiveDirectoryStatus&& value) { SetActiveDirectoryStatus(std::move(value)); return *this;} /** *

This value is true if a password for the guest user * smbguest is set, otherwise false. Only supported for * S3 File Gateways.

Valid Values: true | false *

*/ inline bool GetSMBGuestPasswordSet() const{ return m_sMBGuestPasswordSet; } /** *

This value is true if a password for the guest user * smbguest is set, otherwise false. Only supported for * S3 File Gateways.

Valid Values: true | false *

*/ inline void SetSMBGuestPasswordSet(bool value) { m_sMBGuestPasswordSet = value; } /** *

This value is true if a password for the guest user * smbguest is set, otherwise false. Only supported for * S3 File Gateways.

Valid Values: true | false *

*/ inline DescribeSMBSettingsResult& WithSMBGuestPasswordSet(bool value) { SetSMBGuestPasswordSet(value); return *this;} /** *

The type of security strategy that was specified for file gateway.

    *
  • ClientSpecified: If you use this option, requests are * established based on what is negotiated by the client. This option is * recommended when you want to maximize compatibility across different clients in * your environment. Only supported for S3 File Gateways.

  • * MandatorySigning: If you use this option, file gateway only allows * connections from SMBv2 or SMBv3 clients that have signing enabled. This option * works with SMB clients on Microsoft Windows Vista, Windows Server 2008 or * newer.

  • MandatoryEncryption: If you use this * option, file gateway only allows connections from SMBv3 clients that have * encryption enabled. This option is highly recommended for environments that * handle sensitive data. This option works with SMB clients on Microsoft Windows * 8, Windows Server 2012 or newer.

*/ inline const SMBSecurityStrategy& GetSMBSecurityStrategy() const{ return m_sMBSecurityStrategy; } /** *

The type of security strategy that was specified for file gateway.

    *
  • ClientSpecified: If you use this option, requests are * established based on what is negotiated by the client. This option is * recommended when you want to maximize compatibility across different clients in * your environment. Only supported for S3 File Gateways.

  • * MandatorySigning: If you use this option, file gateway only allows * connections from SMBv2 or SMBv3 clients that have signing enabled. This option * works with SMB clients on Microsoft Windows Vista, Windows Server 2008 or * newer.

  • MandatoryEncryption: If you use this * option, file gateway only allows connections from SMBv3 clients that have * encryption enabled. This option is highly recommended for environments that * handle sensitive data. This option works with SMB clients on Microsoft Windows * 8, Windows Server 2012 or newer.

*/ inline void SetSMBSecurityStrategy(const SMBSecurityStrategy& value) { m_sMBSecurityStrategy = value; } /** *

The type of security strategy that was specified for file gateway.

    *
  • ClientSpecified: If you use this option, requests are * established based on what is negotiated by the client. This option is * recommended when you want to maximize compatibility across different clients in * your environment. Only supported for S3 File Gateways.

  • * MandatorySigning: If you use this option, file gateway only allows * connections from SMBv2 or SMBv3 clients that have signing enabled. This option * works with SMB clients on Microsoft Windows Vista, Windows Server 2008 or * newer.

  • MandatoryEncryption: If you use this * option, file gateway only allows connections from SMBv3 clients that have * encryption enabled. This option is highly recommended for environments that * handle sensitive data. This option works with SMB clients on Microsoft Windows * 8, Windows Server 2012 or newer.

*/ inline void SetSMBSecurityStrategy(SMBSecurityStrategy&& value) { m_sMBSecurityStrategy = std::move(value); } /** *

The type of security strategy that was specified for file gateway.

    *
  • ClientSpecified: If you use this option, requests are * established based on what is negotiated by the client. This option is * recommended when you want to maximize compatibility across different clients in * your environment. Only supported for S3 File Gateways.

  • * MandatorySigning: If you use this option, file gateway only allows * connections from SMBv2 or SMBv3 clients that have signing enabled. This option * works with SMB clients on Microsoft Windows Vista, Windows Server 2008 or * newer.

  • MandatoryEncryption: If you use this * option, file gateway only allows connections from SMBv3 clients that have * encryption enabled. This option is highly recommended for environments that * handle sensitive data. This option works with SMB clients on Microsoft Windows * 8, Windows Server 2012 or newer.

*/ inline DescribeSMBSettingsResult& WithSMBSecurityStrategy(const SMBSecurityStrategy& value) { SetSMBSecurityStrategy(value); return *this;} /** *

The type of security strategy that was specified for file gateway.

    *
  • ClientSpecified: If you use this option, requests are * established based on what is negotiated by the client. This option is * recommended when you want to maximize compatibility across different clients in * your environment. Only supported for S3 File Gateways.

  • * MandatorySigning: If you use this option, file gateway only allows * connections from SMBv2 or SMBv3 clients that have signing enabled. This option * works with SMB clients on Microsoft Windows Vista, Windows Server 2008 or * newer.

  • MandatoryEncryption: If you use this * option, file gateway only allows connections from SMBv3 clients that have * encryption enabled. This option is highly recommended for environments that * handle sensitive data. This option works with SMB clients on Microsoft Windows * 8, Windows Server 2012 or newer.

*/ inline DescribeSMBSettingsResult& WithSMBSecurityStrategy(SMBSecurityStrategy&& value) { SetSMBSecurityStrategy(std::move(value)); return *this;} /** *

The shares on this gateway appear when listing shares. Only supported for S3 * File Gateways.

*/ inline bool GetFileSharesVisible() const{ return m_fileSharesVisible; } /** *

The shares on this gateway appear when listing shares. Only supported for S3 * File Gateways.

*/ inline void SetFileSharesVisible(bool value) { m_fileSharesVisible = value; } /** *

The shares on this gateway appear when listing shares. Only supported for S3 * File Gateways.

*/ inline DescribeSMBSettingsResult& WithFileSharesVisible(bool value) { SetFileSharesVisible(value); return *this;} /** *

A list of Active Directory users and groups that have special permissions for * SMB file shares on the gateway.

*/ inline const SMBLocalGroups& GetSMBLocalGroups() const{ return m_sMBLocalGroups; } /** *

A list of Active Directory users and groups that have special permissions for * SMB file shares on the gateway.

*/ inline void SetSMBLocalGroups(const SMBLocalGroups& value) { m_sMBLocalGroups = value; } /** *

A list of Active Directory users and groups that have special permissions for * SMB file shares on the gateway.

*/ inline void SetSMBLocalGroups(SMBLocalGroups&& value) { m_sMBLocalGroups = std::move(value); } /** *

A list of Active Directory users and groups that have special permissions for * SMB file shares on the gateway.

*/ inline DescribeSMBSettingsResult& WithSMBLocalGroups(const SMBLocalGroups& value) { SetSMBLocalGroups(value); return *this;} /** *

A list of Active Directory users and groups that have special permissions for * SMB file shares on the gateway.

*/ inline DescribeSMBSettingsResult& WithSMBLocalGroups(SMBLocalGroups&& value) { SetSMBLocalGroups(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline DescribeSMBSettingsResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline DescribeSMBSettingsResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline DescribeSMBSettingsResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_gatewayARN; Aws::String m_domainName; ActiveDirectoryStatus m_activeDirectoryStatus; bool m_sMBGuestPasswordSet; SMBSecurityStrategy m_sMBSecurityStrategy; bool m_fileSharesVisible; SMBLocalGroups m_sMBLocalGroups; Aws::String m_requestId; }; } // namespace Model } // namespace StorageGateway } // namespace Aws