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.



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

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

Instance Attribute Details

#certificateGoogle::Apis::ManagedidentitiesV1::Certificate

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



1133
1134
1135
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1133

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)


1138
1139
1140
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1138

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)


1158
1159
1160
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1158

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)


1164
1165
1166
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1164

def name
  @name
end

#stateString

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

Returns:

  • (String)


1169
1170
1171
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1169

def state
  @state
end

#update_timeString

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

Returns:

  • (String)


1174
1175
1176
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1174

def update_time
  @update_time
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1181
1182
1183
1184
1185
1186
1187
1188
# File 'lib/google/apis/managedidentities_v1/classes.rb', line 1181

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