Class: AWSCDK::FSX::CfnFileSystem::SelfManagedActiveDirectoryConfigurationProperty

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

Overview

The configuration that Amazon FSx uses to join a FSx for Windows File Server file system or an FSx for ONTAP storage virtual machine (SVM) to a self-managed (including on-premises) Microsoft Active Directory (AD) directory.

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

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.



1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
# File 'fsx/cfn_file_system.rb', line 1881

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.



1902
1903
1904
# File 'fsx/cfn_file_system.rb', line 1902

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 .



1916
1917
1918
# File 'fsx/cfn_file_system.rb', line 1916

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 .



1921
1922
1923
# File 'fsx/cfn_file_system.rb', line 1921

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.



1928
1929
1930
# File 'fsx/cfn_file_system.rb', line 1928

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.



1937
1938
1939
# File 'fsx/cfn_file_system.rb', line 1937

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.



1942
1943
1944
# File 'fsx/cfn_file_system.rb', line 1942

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.



1949
1950
1951
# File 'fsx/cfn_file_system.rb', line 1949

def user_name
  @user_name
end

Class Method Details

.jsii_propertiesObject



1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
# File 'fsx/cfn_file_system.rb', line 1951

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



1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
# File 'fsx/cfn_file_system.rb', line 1963

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