Class: AWSCDK::EC2::CfnClientVpnEndpoint::ClientAuthenticationRequestProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
ec2/cfn_client_vpn_endpoint.rb

Overview

Describes the authentication method to be used by a Client VPN endpoint.

For more information, see Authentication in the AWS Client VPN Administrator Guide .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(type:, active_directory: nil, federated_authentication: nil, mutual_authentication: nil) ⇒ ClientAuthenticationRequestProperty

Returns a new instance of ClientAuthenticationRequestProperty.

Parameters:



823
824
825
826
827
828
829
830
831
832
# File 'ec2/cfn_client_vpn_endpoint.rb', line 823

def initialize(type:, active_directory: nil, federated_authentication: nil, mutual_authentication: nil)
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type")
  @active_directory = active_directory.is_a?(Hash) ? ::AWSCDK::EC2::CfnClientVpnEndpoint::DirectoryServiceAuthenticationRequestProperty.new(**active_directory.transform_keys(&:to_sym)) : active_directory
  Jsii::Type.check_type(@active_directory, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuQ2xpZW50VnBuRW5kcG9pbnQuRGlyZWN0b3J5U2VydmljZUF1dGhlbnRpY2F0aW9uUmVxdWVzdFByb3BlcnR5In1dfX0=")), "activeDirectory") unless @active_directory.nil?
  @federated_authentication = federated_authentication.is_a?(Hash) ? ::AWSCDK::EC2::CfnClientVpnEndpoint::FederatedAuthenticationRequestProperty.new(**federated_authentication.transform_keys(&:to_sym)) : federated_authentication
  Jsii::Type.check_type(@federated_authentication, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuQ2xpZW50VnBuRW5kcG9pbnQuRmVkZXJhdGVkQXV0aGVudGljYXRpb25SZXF1ZXN0UHJvcGVydHkifV19fQ==")), "federatedAuthentication") unless @federated_authentication.nil?
  @mutual_authentication = mutual_authentication.is_a?(Hash) ? ::AWSCDK::EC2::CfnClientVpnEndpoint::CertificateAuthenticationRequestProperty.new(**mutual_authentication.transform_keys(&:to_sym)) : mutual_authentication
  Jsii::Type.check_type(@mutual_authentication, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuQ2xpZW50VnBuRW5kcG9pbnQuQ2VydGlmaWNhdGVBdXRoZW50aWNhdGlvblJlcXVlc3RQcm9wZXJ0eSJ9XX19")), "mutualAuthentication") unless @mutual_authentication.nil?
end

Instance Attribute Details

#active_directoryAWSCDK::IResolvable, ... (readonly)

Information about the Active Directory to be used, if applicable.

You must provide this information if Type is directory-service-authentication .



845
846
847
# File 'ec2/cfn_client_vpn_endpoint.rb', line 845

def active_directory
  @active_directory
end

#federated_authenticationAWSCDK::IResolvable, ... (readonly)

Information about the IAM SAML identity provider, if applicable.



850
851
852
# File 'ec2/cfn_client_vpn_endpoint.rb', line 850

def federated_authentication
  @federated_authentication
end

#mutual_authenticationAWSCDK::IResolvable, ... (readonly)

Information about the authentication certificates to be used, if applicable.

You must provide this information if Type is certificate-authentication .



857
858
859
# File 'ec2/cfn_client_vpn_endpoint.rb', line 857

def mutual_authentication
  @mutual_authentication
end

#typeString (readonly)

The type of client authentication to be used.



838
839
840
# File 'ec2/cfn_client_vpn_endpoint.rb', line 838

def type
  @type
end

Class Method Details

.jsii_propertiesObject



859
860
861
862
863
864
865
866
# File 'ec2/cfn_client_vpn_endpoint.rb', line 859

def self.jsii_properties
  {
    :type => "type",
    :active_directory => "activeDirectory",
    :federated_authentication => "federatedAuthentication",
    :mutual_authentication => "mutualAuthentication",
  }
end

Instance Method Details

#to_jsiiObject



868
869
870
871
872
873
874
875
876
877
# File 'ec2/cfn_client_vpn_endpoint.rb', line 868

def to_jsii
  result = {}
  result.merge!({
    "type" => @type,
    "activeDirectory" => @active_directory,
    "federatedAuthentication" => @federated_authentication,
    "mutualAuthentication" => @mutual_authentication,
  })
  result.compact
end