Class: AWSCDK::IAM::CfnSAMLProviderProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
iam/cfn_saml_provider_props.rb

Overview

Properties for defining a CfnSAMLProvider.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(add_private_key: nil, assertion_encryption_mode: nil, name: nil, private_key_list: nil, remove_private_key: nil, saml_metadata_document: nil, tags: nil) ⇒ CfnSAMLProviderProps

Returns a new instance of CfnSAMLProviderProps.

Parameters:

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

    Specifies the new private key from your external identity provider.

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

    Specifies the encryption setting for the SAML provider.

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

    The name of the provider to create.

  • private_key_list (AWSCDK::IResolvable, Array<AWSCDK::IResolvable, AWSCDK::IAM::CfnSAMLProvider::SAMLPrivateKeyProperty>, nil) (defaults to: nil)

    The private key metadata for the SAML provider.

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

    The Key ID of the private key to remove.

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

    An XML document generated by an identity provider (IdP) that supports SAML 2.0. The document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that are received from the IdP. You must generate the metadata document using the identity management software that is used as your organization's IdP.

  • tags (Array<AWSCDK::CfnTag>, nil) (defaults to: nil)

    A list of tags that you want to attach to the new IAM SAML provider.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'iam/cfn_saml_provider_props.rb', line 16

def initialize(add_private_key: nil, assertion_encryption_mode: nil, name: nil, private_key_list: nil, remove_private_key: nil, saml_metadata_document: nil, tags: nil)
  @add_private_key = add_private_key
  Jsii::Type.check_type(@add_private_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "addPrivateKey") unless @add_private_key.nil?
  @assertion_encryption_mode = assertion_encryption_mode
  Jsii::Type.check_type(@assertion_encryption_mode, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "assertionEncryptionMode") unless @assertion_encryption_mode.nil?
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil?
  @private_key_list = private_key_list
  Jsii::Type.check_type(@private_key_list, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfaWFtLkNmblNBTUxQcm92aWRlci5TQU1MUHJpdmF0ZUtleVByb3BlcnR5In1dfX0sImtpbmQiOiJhcnJheSJ9fV19fQ==")), "privateKeyList") unless @private_key_list.nil?
  @remove_private_key = remove_private_key
  Jsii::Type.check_type(@remove_private_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "removePrivateKey") unless @remove_private_key.nil?
  @saml_metadata_document = 
  Jsii::Type.check_type(@saml_metadata_document, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "samlMetadataDocument") unless @saml_metadata_document.nil?
  @tags = tags.is_a?(Array) ? tags.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil?
end

Instance Attribute Details

#add_private_keyString? (readonly)

Specifies the new private key from your external identity provider.

The private key must be a .pem file that uses AES-GCM or AES-CBC encryption algorithm to decrypt SAML assertions.



39
40
41
# File 'iam/cfn_saml_provider_props.rb', line 39

def add_private_key
  @add_private_key
end

#assertion_encryption_modeString? (readonly)

Specifies the encryption setting for the SAML provider.



44
45
46
# File 'iam/cfn_saml_provider_props.rb', line 44

def assertion_encryption_mode
  @assertion_encryption_mode
end

#nameString? (readonly)

The name of the provider to create.

This parameter allows (through its regex pattern ) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-



51
52
53
# File 'iam/cfn_saml_provider_props.rb', line 51

def name
  @name
end

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

The private key metadata for the SAML provider.



56
57
58
# File 'iam/cfn_saml_provider_props.rb', line 56

def private_key_list
  @private_key_list
end

#remove_private_keyString? (readonly)

The Key ID of the private key to remove.



61
62
63
# File 'iam/cfn_saml_provider_props.rb', line 61

def remove_private_key
  @remove_private_key
end

#saml_metadata_documentString? (readonly)

An XML document generated by an identity provider (IdP) that supports SAML 2.0. The document includes the issuer's name, expiration information, and keys that can be used to validate the SAML authentication response (assertions) that are received from the IdP. You must generate the metadata document using the identity management software that is used as your organization's IdP.

For more information, see About SAML 2.0-based federation in the IAM User Guide



68
69
70
# File 'iam/cfn_saml_provider_props.rb', line 68

def 
  @saml_metadata_document
end

#tagsArray<AWSCDK::CfnTag>? (readonly)

A list of tags that you want to attach to the new IAM SAML provider.

Each tag consists of a key name and an associated value. For more information about tagging, see Tagging IAM resources in the IAM User Guide .

If any one of the tags is invalid or if you exceed the allowed maximum number of tags, then the entire request fails and the resource is not created.



77
78
79
# File 'iam/cfn_saml_provider_props.rb', line 77

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



79
80
81
82
83
84
85
86
87
88
89
# File 'iam/cfn_saml_provider_props.rb', line 79

def self.jsii_properties
  {
    :add_private_key => "addPrivateKey",
    :assertion_encryption_mode => "assertionEncryptionMode",
    :name => "name",
    :private_key_list => "privateKeyList",
    :remove_private_key => "removePrivateKey",
    :saml_metadata_document => "samlMetadataDocument",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



91
92
93
94
95
96
97
98
99
100
101
102
103
# File 'iam/cfn_saml_provider_props.rb', line 91

def to_jsii
  result = {}
  result.merge!({
    "addPrivateKey" => @add_private_key,
    "assertionEncryptionMode" => @assertion_encryption_mode,
    "name" => @name,
    "privateKeyList" => @private_key_list,
    "removePrivateKey" => @remove_private_key,
    "samlMetadataDocument" => @saml_metadata_document,
    "tags" => @tags,
  })
  result.compact
end