Class: AWSCDK::Transfer::CfnServer::IdentityProviderDetailsProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
transfer/cfn_server.rb

Overview

Required when IdentityProviderType is set to AWS_DIRECTORY_SERVICE , AWS _LAMBDA or API_GATEWAY .

Accepts an array containing all of the information required to use a directory in AWS_DIRECTORY_SERVICE or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when IdentityProviderType is set to SERVICE_MANAGED .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(directory_id: nil, function: nil, invocation_role: nil, sftp_authentication_methods: nil, url: nil) ⇒ IdentityProviderDetailsProperty

Returns a new instance of IdentityProviderDetailsProperty.

Parameters:

  • directory_id (String, nil) (defaults to: nil)

    The identifier of the AWS Directory Service directory that you want to use as your identity provider.

  • function (String, nil) (defaults to: nil)

    The ARN for a Lambda function to use for the Identity provider.

  • invocation_role (String, nil) (defaults to: nil)

    This parameter is only applicable if your IdentityProviderType is API_GATEWAY .

  • sftp_authentication_methods (String, nil) (defaults to: nil)

    For SFTP-enabled servers, and for custom identity providers only , you can specify whether to authenticate using a password, SSH key pair, or both.

  • url (String, nil) (defaults to: nil)

    Provides the location of the service endpoint used to authenticate users.



875
876
877
878
879
880
881
882
883
884
885
886
# File 'transfer/cfn_server.rb', line 875

def initialize(directory_id: nil, function: nil, invocation_role: nil, sftp_authentication_methods: nil, url: nil)
  @directory_id = directory_id
  Jsii::Type.check_type(@directory_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "directoryId") unless @directory_id.nil?
  @function = function
  Jsii::Type.check_type(@function, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "function") unless @function.nil?
  @invocation_role = invocation_role
  Jsii::Type.check_type(@invocation_role, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "invocationRole") unless @invocation_role.nil?
  @sftp_authentication_methods = sftp_authentication_methods
  Jsii::Type.check_type(@sftp_authentication_methods, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "sftpAuthenticationMethods") unless @sftp_authentication_methods.nil?
  @url = url
  Jsii::Type.check_type(@url, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "url") unless @url.nil?
end

Instance Attribute Details

#directory_idString? (readonly)

The identifier of the AWS Directory Service directory that you want to use as your identity provider.



892
893
894
# File 'transfer/cfn_server.rb', line 892

def directory_id
  @directory_id
end

#functionString? (readonly)

The ARN for a Lambda function to use for the Identity provider.



897
898
899
# File 'transfer/cfn_server.rb', line 897

def function
  @function
end

#invocation_roleString? (readonly)

This parameter is only applicable if your IdentityProviderType is API_GATEWAY .

Provides the type of InvocationRole used to authenticate the user account.



904
905
906
# File 'transfer/cfn_server.rb', line 904

def invocation_role
  @invocation_role
end

#sftp_authentication_methodsString? (readonly)

For SFTP-enabled servers, and for custom identity providers only , you can specify whether to authenticate using a password, SSH key pair, or both.

  • PASSWORD - users must provide their password to connect.
  • PUBLIC_KEY - users must provide their private key to connect.
  • PUBLIC_KEY_OR_PASSWORD - users can authenticate with either their password or their key. This is the default value.
  • PUBLIC_KEY_AND_PASSWORD - users must provide both their private key and their password to connect. The server checks the key first, and then if the key is valid, the system prompts for a password. If the private key provided does not match the public key that is stored, authentication fails.


914
915
916
# File 'transfer/cfn_server.rb', line 914

def sftp_authentication_methods
  @sftp_authentication_methods
end

#urlString? (readonly)

Provides the location of the service endpoint used to authenticate users.



919
920
921
# File 'transfer/cfn_server.rb', line 919

def url
  @url
end

Class Method Details

.jsii_propertiesObject



921
922
923
924
925
926
927
928
929
# File 'transfer/cfn_server.rb', line 921

def self.jsii_properties
  {
    :directory_id => "directoryId",
    :function => "function",
    :invocation_role => "invocationRole",
    :sftp_authentication_methods => "sftpAuthenticationMethods",
    :url => "url",
  }
end

Instance Method Details

#to_jsiiObject



931
932
933
934
935
936
937
938
939
940
941
# File 'transfer/cfn_server.rb', line 931

def to_jsii
  result = {}
  result.merge!({
    "directoryId" => @directory_id,
    "function" => @function,
    "invocationRole" => @invocation_role,
    "sftpAuthenticationMethods" => @sftp_authentication_methods,
    "url" => @url,
  })
  result.compact
end