Class: AWSCDK::FSX::CfnStorageVirtualMachine::SelfManagedActiveDirectoryConfigurationProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
fsx/cfn_storage_virtual_machine.rb

Overview

The configuration that Amazon FSx uses to join the ONTAP storage virtual machine (SVM) to your self-managed (including on-premises) Microsoft Active Directory directory.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(dns_ips: nil, domain_join_service_account_secret: nil, domain_name: nil, file_system_administrators_group: nil, organizational_unit_distinguished_name: nil, password: nil, user_name: nil) ⇒ SelfManagedActiveDirectoryConfigurationProperty

Returns a new instance of SelfManagedActiveDirectoryConfigurationProperty.

Parameters:

  • dns_ips (Array<String>, nil) (defaults to: nil)

    A list of up to three IP addresses of DNS servers or domain controllers in the self-managed AD directory.

  • domain_join_service_account_secret (String, nil) (defaults to: nil)

    The Amazon Resource Name (ARN) of the AWS Secrets Manager secret containing the self-managed Active Directory domain join service account credentials.

  • domain_name (String, nil) (defaults to: nil)

    The fully qualified domain name of the self-managed AD directory, such as corp.example.com .

  • file_system_administrators_group (String, nil) (defaults to: nil)

    (Optional) The name of the domain group whose members are granted administrative privileges for the file system.

  • organizational_unit_distinguished_name (String, nil) (defaults to: nil)

    (Optional) The fully qualified distinguished name of the organizational unit within your self-managed AD directory.

  • password (String, nil) (defaults to: nil)

    The password for the service account on your self-managed AD domain that Amazon FSx will use to join to your AD domain.

  • user_name (String, nil) (defaults to: nil)

    The user name for the service account on your self-managed AD domain that Amazon FSx will use to join to your AD domain.



651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
# File 'fsx/cfn_storage_virtual_machine.rb', line 651

def initialize(dns_ips: nil, domain_join_service_account_secret: nil, domain_name: nil, file_system_administrators_group: nil, organizational_unit_distinguished_name: nil, password: nil, user_name: nil)
  @dns_ips = dns_ips
  Jsii::Type.check_type(@dns_ips, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "dnsIps") unless @dns_ips.nil?
  @domain_join_service_account_secret = 
  Jsii::Type.check_type(@domain_join_service_account_secret, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainJoinServiceAccountSecret") unless @domain_join_service_account_secret.nil?
  @domain_name = domain_name
  Jsii::Type.check_type(@domain_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "domainName") unless @domain_name.nil?
  @file_system_administrators_group = file_system_administrators_group
  Jsii::Type.check_type(@file_system_administrators_group, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "fileSystemAdministratorsGroup") unless @file_system_administrators_group.nil?
  @organizational_unit_distinguished_name = organizational_unit_distinguished_name
  Jsii::Type.check_type(@organizational_unit_distinguished_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "organizationalUnitDistinguishedName") unless @organizational_unit_distinguished_name.nil?
  @password = password
  Jsii::Type.check_type(@password, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "password") unless @password.nil?
  @user_name = user_name
  Jsii::Type.check_type(@user_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "userName") unless @user_name.nil?
end

Instance Attribute Details

#dns_ipsArray<String>? (readonly)

A list of up to three IP addresses of DNS servers or domain controllers in the self-managed AD directory.



672
673
674
# File 'fsx/cfn_storage_virtual_machine.rb', line 672

def dns_ips
  @dns_ips
end

#domain_join_service_account_secretString? (readonly)

The Amazon Resource Name (ARN) of the AWS Secrets Manager secret containing the self-managed Active Directory domain join service account credentials.

When provided, Amazon FSx uses the credentials stored in this secret to join the file system to your self-managed Active Directory domain.

The secret must contain two key-value pairs:

  • CUSTOMER_MANAGED_ACTIVE_DIRECTORY_USERNAME - The username for the service account
  • CUSTOMER_MANAGED_ACTIVE_DIRECTORY_PASSWORD - The password for the service account

For more information, see Using Amazon FSx for Windows with your self-managed Microsoft Active Directory or Using Amazon FSx for ONTAP with your self-managed Microsoft Active Directory .



686
687
688
# File 'fsx/cfn_storage_virtual_machine.rb', line 686

def 
  @domain_join_service_account_secret
end

#domain_nameString? (readonly)

The fully qualified domain name of the self-managed AD directory, such as corp.example.com .



691
692
693
# File 'fsx/cfn_storage_virtual_machine.rb', line 691

def domain_name
  @domain_name
end

#file_system_administrators_groupString? (readonly)

(Optional) The name of the domain group whose members are granted administrative privileges for the file system.

Administrative privileges include taking ownership of files and folders, setting audit controls (audit ACLs) on files and folders, and administering the file system remotely by using the FSx Remote PowerShell. The group that you specify must already exist in your domain. If you don't provide one, your AD domain's Domain Admins group is used.



698
699
700
# File 'fsx/cfn_storage_virtual_machine.rb', line 698

def file_system_administrators_group
  @file_system_administrators_group
end

#organizational_unit_distinguished_nameString? (readonly)

(Optional) The fully qualified distinguished name of the organizational unit within your self-managed AD directory.

Amazon FSx only accepts OU as the direct parent of the file system. An example is OU=FSx,DC=yourdomain,DC=corp,DC=com . To learn more, see RFC 2253 . If none is provided, the FSx file system is created in the default location of your self-managed AD directory.

Only Organizational Unit (OU) objects can be the direct parent of the file system that you're creating.



707
708
709
# File 'fsx/cfn_storage_virtual_machine.rb', line 707

def organizational_unit_distinguished_name
  @organizational_unit_distinguished_name
end

#passwordString? (readonly)

The password for the service account on your self-managed AD domain that Amazon FSx will use to join to your AD domain.



712
713
714
# File 'fsx/cfn_storage_virtual_machine.rb', line 712

def password
  @password
end

#user_nameString? (readonly)

The user name for the service account on your self-managed AD domain that Amazon FSx will use to join to your AD domain.

This account must have the permission to join computers to the domain in the organizational unit provided in OrganizationalUnitDistinguishedName , or in the default location of your AD domain.



719
720
721
# File 'fsx/cfn_storage_virtual_machine.rb', line 719

def user_name
  @user_name
end

Class Method Details

.jsii_propertiesObject



721
722
723
724
725
726
727
728
729
730
731
# File 'fsx/cfn_storage_virtual_machine.rb', line 721

def self.jsii_properties
  {
    :dns_ips => "dnsIps",
    :domain_join_service_account_secret => "domainJoinServiceAccountSecret",
    :domain_name => "domainName",
    :file_system_administrators_group => "fileSystemAdministratorsGroup",
    :organizational_unit_distinguished_name => "organizationalUnitDistinguishedName",
    :password => "password",
    :user_name => "userName",
  }
end

Instance Method Details

#to_jsiiObject



733
734
735
736
737
738
739
740
741
742
743
744
745
# File 'fsx/cfn_storage_virtual_machine.rb', line 733

def to_jsii
  result = {}
  result.merge!({
    "dnsIps" => @dns_ips,
    "domainJoinServiceAccountSecret" => @domain_join_service_account_secret,
    "domainName" => @domain_name,
    "fileSystemAdministratorsGroup" => @file_system_administrators_group,
    "organizationalUnitDistinguishedName" => @organizational_unit_distinguished_name,
    "password" => @password,
    "userName" => @user_name,
  })
  result.compact
end