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.



1179
1180
1181
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1179

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

Instance Attribute Details

#certificateGoogle::Apis::ManagedidentitiesV1::Certificate

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



1136
1137
1138
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1136

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)


1141
1142
1143
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1141

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)


1161
1162
1163
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1161

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)


1167
1168
1169
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1167

def name
  @name
end

#stateString

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

Returns:

  • (String)


1172
1173
1174
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1172

def state
  @state
end

#update_timeString

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

Returns:

  • (String)


1177
1178
1179
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1177

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1184
1185
1186
1187
1188
1189
1190
1191
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1184

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