Class: AWSCDK::EC2::CfnVerifiedAccessTrustProviderProps

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

Overview

Properties for defining a CfnVerifiedAccessTrustProvider.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(policy_reference_name:, trust_provider_type:, description: nil, device_options: nil, device_trust_provider_type: nil, native_application_oidc_options: nil, oidc_options: nil, sse_specification: nil, tags: nil, user_trust_provider_type: nil) ⇒ CfnVerifiedAccessTrustProviderProps

Returns a new instance of CfnVerifiedAccessTrustProviderProps.

Parameters:



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'ec2/cfn_verified_access_trust_provider_props.rb', line 19

def initialize(policy_reference_name:, trust_provider_type:, description: nil, device_options: nil, device_trust_provider_type: nil, native_application_oidc_options: nil, oidc_options: nil, sse_specification: nil, tags: nil, user_trust_provider_type: nil)
  @policy_reference_name = policy_reference_name
  Jsii::Type.check_type(@policy_reference_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "policyReferenceName")
  @trust_provider_type = trust_provider_type
  Jsii::Type.check_type(@trust_provider_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "trustProviderType")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @device_options = device_options.is_a?(Hash) ? ::AWSCDK::EC2::CfnVerifiedAccessTrustProvider::DeviceOptionsProperty.new(**device_options.transform_keys(&:to_sym)) : device_options
  Jsii::Type.check_type(@device_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuVmVyaWZpZWRBY2Nlc3NUcnVzdFByb3ZpZGVyLkRldmljZU9wdGlvbnNQcm9wZXJ0eSJ9XX19")), "deviceOptions") unless @device_options.nil?
  @device_trust_provider_type = device_trust_provider_type
  Jsii::Type.check_type(@device_trust_provider_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deviceTrustProviderType") unless @device_trust_provider_type.nil?
  @native_application_oidc_options = native_application_oidc_options.is_a?(Hash) ? ::AWSCDK::EC2::CfnVerifiedAccessTrustProvider::NativeApplicationOidcOptionsProperty.new(**native_application_oidc_options.transform_keys(&:to_sym)) : native_application_oidc_options
  Jsii::Type.check_type(@native_application_oidc_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuVmVyaWZpZWRBY2Nlc3NUcnVzdFByb3ZpZGVyLk5hdGl2ZUFwcGxpY2F0aW9uT2lkY09wdGlvbnNQcm9wZXJ0eSJ9XX19")), "nativeApplicationOidcOptions") unless @native_application_oidc_options.nil?
  @oidc_options = oidc_options.is_a?(Hash) ? ::AWSCDK::EC2::CfnVerifiedAccessTrustProvider::OidcOptionsProperty.new(**oidc_options.transform_keys(&:to_sym)) : oidc_options
  Jsii::Type.check_type(@oidc_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuVmVyaWZpZWRBY2Nlc3NUcnVzdFByb3ZpZGVyLk9pZGNPcHRpb25zUHJvcGVydHkifV19fQ==")), "oidcOptions") unless @oidc_options.nil?
  @sse_specification = sse_specification.is_a?(Hash) ? ::AWSCDK::EC2::CfnVerifiedAccessTrustProvider::SseSpecificationProperty.new(**sse_specification.transform_keys(&:to_sym)) : sse_specification
  Jsii::Type.check_type(@sse_specification, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19lYzIuQ2ZuVmVyaWZpZWRBY2Nlc3NUcnVzdFByb3ZpZGVyLlNzZVNwZWNpZmljYXRpb25Qcm9wZXJ0eSJ9XX19")), "sseSpecification") unless @sse_specification.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?
  @user_trust_provider_type = user_trust_provider_type
  Jsii::Type.check_type(@user_trust_provider_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "userTrustProviderType") unless @user_trust_provider_type.nil?
end

Instance Attribute Details

#descriptionString? (readonly)

A description for the AWS Verified Access trust provider.



56
57
58
# File 'ec2/cfn_verified_access_trust_provider_props.rb', line 56

def description
  @description
end

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

The options for device-identity trust provider.



61
62
63
# File 'ec2/cfn_verified_access_trust_provider_props.rb', line 61

def device_options
  @device_options
end

#device_trust_provider_typeString? (readonly)

The type of device-based trust provider.



66
67
68
# File 'ec2/cfn_verified_access_trust_provider_props.rb', line 66

def device_trust_provider_type
  @device_trust_provider_type
end

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

The OpenID Connect (OIDC) options.



71
72
73
# File 'ec2/cfn_verified_access_trust_provider_props.rb', line 71

def native_application_oidc_options
  @native_application_oidc_options
end

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

The options for an OpenID Connect-compatible user-identity trust provider.



76
77
78
# File 'ec2/cfn_verified_access_trust_provider_props.rb', line 76

def oidc_options
  @oidc_options
end

#policy_reference_nameString (readonly)

The identifier to be used when working with policy rules.



46
47
48
# File 'ec2/cfn_verified_access_trust_provider_props.rb', line 46

def policy_reference_name
  @policy_reference_name
end

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

The options for additional server side encryption.



81
82
83
# File 'ec2/cfn_verified_access_trust_provider_props.rb', line 81

def sse_specification
  @sse_specification
end

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

The tags.



86
87
88
# File 'ec2/cfn_verified_access_trust_provider_props.rb', line 86

def tags
  @tags
end

#trust_provider_typeString (readonly)

The type of Verified Access trust provider.



51
52
53
# File 'ec2/cfn_verified_access_trust_provider_props.rb', line 51

def trust_provider_type
  @trust_provider_type
end

#user_trust_provider_typeString? (readonly)

The type of user-based trust provider.



91
92
93
# File 'ec2/cfn_verified_access_trust_provider_props.rb', line 91

def user_trust_provider_type
  @user_trust_provider_type
end

Class Method Details

.jsii_propertiesObject



93
94
95
96
97
98
99
100
101
102
103
104
105
106
# File 'ec2/cfn_verified_access_trust_provider_props.rb', line 93

def self.jsii_properties
  {
    :policy_reference_name => "policyReferenceName",
    :trust_provider_type => "trustProviderType",
    :description => "description",
    :device_options => "deviceOptions",
    :device_trust_provider_type => "deviceTrustProviderType",
    :native_application_oidc_options => "nativeApplicationOidcOptions",
    :oidc_options => "oidcOptions",
    :sse_specification => "sseSpecification",
    :tags => "tags",
    :user_trust_provider_type => "userTrustProviderType",
  }
end

Instance Method Details

#to_jsiiObject



108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
# File 'ec2/cfn_verified_access_trust_provider_props.rb', line 108

def to_jsii
  result = {}
  result.merge!({
    "policyReferenceName" => @policy_reference_name,
    "trustProviderType" => @trust_provider_type,
    "description" => @description,
    "deviceOptions" => @device_options,
    "deviceTrustProviderType" => @device_trust_provider_type,
    "nativeApplicationOidcOptions" => @native_application_oidc_options,
    "oidcOptions" => @oidc_options,
    "sseSpecification" => @sse_specification,
    "tags" => @tags,
    "userTrustProviderType" => @user_trust_provider_type,
  })
  result.compact
end