Class: Google::Apis::ManagedidentitiesV1::LdapsSettings

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/managedidentities_v1/classes.rb,
lib/google/apis/managedidentities_v1/representations.rb,
lib/google/apis/managedidentities_v1/representations.rb

Overview

LDAPSSettings represents the ldaps settings for domain resource. LDAP is the Lightweight Directory Access Protocol, defined in https://tools.ietf.org/html/ rfc4511. The settings object configures LDAP over SSL/TLS, whether it is over port 636 or the StartTLS operation. If LDAPSSettings is being changed, it will be placed into the UPDATING state, which indicates that the resource is being reconciled. At this point, Get will reflect an intermediate state.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ LdapsSettings

Returns a new instance of LdapsSettings.



1083
1084
1085
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1083

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#certificateGoogle::Apis::ManagedidentitiesV1::Certificate

Certificate used to configure LDAPS. Corresponds to the JSON property certificate



1040
1041
1042
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1040

def certificate
  @certificate
end

#certificate_passwordString

Input only. The password used to encrypt the uploaded PFX certificate. Corresponds to the JSON property certificatePassword

Returns:

  • (String)


1045
1046
1047
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1045

def certificate_password
  @certificate_password
end

#certificate_pfxString

Input only. The uploaded PKCS12-formatted certificate to configure LDAPS with. It will enable the domain controllers in this domain to accept LDAPS connections (either LDAP over SSL/TLS or the StartTLS operation). A valid certificate chain must form a valid x.509 certificate chain (or be comprised of a single self-signed certificate. It must be encrypted with either: 1) PBES2 + PBKDF2 + AES256 encryption and SHA256 PRF; or 2) pbeWithSHA1And3- KeyTripleDES-CBC Private key must be included for the leaf / single self- signed certificate. Note: For a fqdn your-example-domain.com, the wildcard fqdn is *.your-example-domain.com. Specifically the leaf certificate must have:

  • Either a blank subject or a subject with CN matching the wildcard fqdn. - Exactly two SANs - the fqdn and wildcard fqdn. - Encipherment and digital key signature key usages. - Server authentication extended key usage (OID=1.3.6.1. 5.5.7.3.1) - Private key must be in one of the following formats: RSA, ECDSA, ED25519. - Private key must have appropriate key length: 2048 for RSA, 256 for ECDSA - Signature algorithm of the leaf certificate cannot be MD2, MD5 or SHA1. Corresponds to the JSON property certificatePfx NOTE: Values are automatically base64 encoded/decoded in the client library.

Returns:

  • (String)


1065
1066
1067
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1065

def certificate_pfx
  @certificate_pfx
end

#nameString

The resource name of the LDAPS settings. Uses the form: projects/project/ locations/location/domains/domain`. Corresponds to the JSON propertyname`

Returns:

  • (String)


1071
1072
1073
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1071

def name
  @name
end

#stateString

Output only. The current state of this LDAPS settings. Corresponds to the JSON property state

Returns:

  • (String)


1076
1077
1078
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1076

def state
  @state
end

#update_timeString

Output only. Last update time. Corresponds to the JSON property updateTime

Returns:

  • (String)


1081
1082
1083
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1081

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1088
1089
1090
1091
1092
1093
1094
1095
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1088

def update!(**args)
  @certificate = args[:certificate] if args.key?(:certificate)
  @certificate_password = args[:certificate_password] if args.key?(:certificate_password)
  @certificate_pfx = args[:certificate_pfx] if args.key?(:certificate_pfx)
  @name = args[:name] if args.key?(:name)
  @state = args[:state] if args.key?(:state)
  @update_time = args[:update_time] if args.key?(:update_time)
end