Class: AWSCDK::QBusiness::CfnApplicationProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
q_business/cfn_application_props.rb

Overview

Properties for defining a CfnApplication.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(display_name:, attachments_configuration: nil, auto_subscription_configuration: nil, client_ids_for_oidc: nil, description: nil, encryption_configuration: nil, iam_identity_provider_arn: nil, identity_center_instance_arn: nil, identity_type: nil, personalization_configuration: nil, q_apps_configuration: nil, quick_sight_configuration: nil, role_arn: nil, tags: nil) ⇒ CfnApplicationProps

Returns a new instance of CfnApplicationProps.

Parameters:



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'q_business/cfn_application_props.rb', line 23

def initialize(display_name:, attachments_configuration: nil, auto_subscription_configuration: nil, client_ids_for_oidc: nil, description: nil, encryption_configuration: nil, iam_identity_provider_arn: nil, identity_center_instance_arn: nil, identity_type: nil, personalization_configuration: nil, q_apps_configuration: nil, quick_sight_configuration: nil, role_arn: nil, tags: nil)
  @display_name = display_name
  Jsii::Type.check_type(@display_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "displayName")
  @attachments_configuration = attachments_configuration.is_a?(Hash) ? ::AWSCDK::QBusiness::CfnApplication::AttachmentsConfigurationProperty.new(**attachments_configuration.transform_keys(&:to_sym)) : attachments_configuration
  Jsii::Type.check_type(@attachments_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19xYnVzaW5lc3MuQ2ZuQXBwbGljYXRpb24uQXR0YWNobWVudHNDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "attachmentsConfiguration") unless @attachments_configuration.nil?
  @auto_subscription_configuration = auto_subscription_configuration.is_a?(Hash) ? ::AWSCDK::QBusiness::CfnApplication::AutoSubscriptionConfigurationProperty.new(**auto_subscription_configuration.transform_keys(&:to_sym)) : auto_subscription_configuration
  Jsii::Type.check_type(@auto_subscription_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19xYnVzaW5lc3MuQ2ZuQXBwbGljYXRpb24uQXV0b1N1YnNjcmlwdGlvbkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "autoSubscriptionConfiguration") unless @auto_subscription_configuration.nil?
  @client_ids_for_oidc = client_ids_for_oidc
  Jsii::Type.check_type(@client_ids_for_oidc, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "clientIdsForOidc") unless @client_ids_for_oidc.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @encryption_configuration = encryption_configuration.is_a?(Hash) ? ::AWSCDK::QBusiness::CfnApplication::EncryptionConfigurationProperty.new(**encryption_configuration.transform_keys(&:to_sym)) : encryption_configuration
  Jsii::Type.check_type(@encryption_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19xYnVzaW5lc3MuQ2ZuQXBwbGljYXRpb24uRW5jcnlwdGlvbkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "encryptionConfiguration") unless @encryption_configuration.nil?
  @iam_identity_provider_arn = iam_identity_provider_arn
  Jsii::Type.check_type(@iam_identity_provider_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "iamIdentityProviderArn") unless @iam_identity_provider_arn.nil?
  @identity_center_instance_arn = identity_center_instance_arn
  Jsii::Type.check_type(@identity_center_instance_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "identityCenterInstanceArn") unless @identity_center_instance_arn.nil?
  @identity_type = identity_type
  Jsii::Type.check_type(@identity_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "identityType") unless @identity_type.nil?
  @personalization_configuration = personalization_configuration.is_a?(Hash) ? ::AWSCDK::QBusiness::CfnApplication::PersonalizationConfigurationProperty.new(**personalization_configuration.transform_keys(&:to_sym)) : personalization_configuration
  Jsii::Type.check_type(@personalization_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19xYnVzaW5lc3MuQ2ZuQXBwbGljYXRpb24uUGVyc29uYWxpemF0aW9uQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "personalizationConfiguration") unless @personalization_configuration.nil?
  @q_apps_configuration = q_apps_configuration.is_a?(Hash) ? ::AWSCDK::QBusiness::CfnApplication::QAppsConfigurationProperty.new(**q_apps_configuration.transform_keys(&:to_sym)) : q_apps_configuration
  Jsii::Type.check_type(@q_apps_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19xYnVzaW5lc3MuQ2ZuQXBwbGljYXRpb24uUUFwcHNDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "qAppsConfiguration") unless @q_apps_configuration.nil?
  @quick_sight_configuration = quick_sight_configuration.is_a?(Hash) ? ::AWSCDK::QBusiness::CfnApplication::QuickSightConfigurationProperty.new(**quick_sight_configuration.transform_keys(&:to_sym)) : quick_sight_configuration
  Jsii::Type.check_type(@quick_sight_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19xYnVzaW5lc3MuQ2ZuQXBwbGljYXRpb24uUXVpY2tTaWdodENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "quickSightConfiguration") unless @quick_sight_configuration.nil?
  @role_arn = role_arn
  Jsii::Type.check_type(@role_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "roleArn") unless @role_arn.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

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

Configuration information for the file upload during chat feature.



63
64
65
# File 'q_business/cfn_application_props.rb', line 63

def attachments_configuration
  @attachments_configuration
end

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

Subscription configuration information for an Amazon Q Business application using IAM identity federation for user management.



68
69
70
# File 'q_business/cfn_application_props.rb', line 68

def auto_subscription_configuration
  @auto_subscription_configuration
end

#client_ids_for_oidcArray<String>? (readonly)

The OIDC client ID for a Amazon Q Business application.



73
74
75
# File 'q_business/cfn_application_props.rb', line 73

def client_ids_for_oidc
  @client_ids_for_oidc
end

#descriptionString? (readonly)

A description for the Amazon Q Business application.



78
79
80
# File 'q_business/cfn_application_props.rb', line 78

def description
  @description
end

#display_nameString (readonly)

The name of the Amazon Q Business application.



58
59
60
# File 'q_business/cfn_application_props.rb', line 58

def display_name
  @display_name
end

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

Provides the identifier of the AWS key used to encrypt data indexed by Amazon Q Business.

Amazon Q Business doesn't support asymmetric keys.



85
86
87
# File 'q_business/cfn_application_props.rb', line 85

def encryption_configuration
  @encryption_configuration
end

#iam_identity_provider_arnString? (readonly)

The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.



90
91
92
# File 'q_business/cfn_application_props.rb', line 90

def iam_identity_provider_arn
  @iam_identity_provider_arn
end

#identity_center_instance_arnString? (readonly)

The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.

Required : Yes



97
98
99
# File 'q_business/cfn_application_props.rb', line 97

def identity_center_instance_arn
  @identity_center_instance_arn
end

#identity_typeString? (readonly)

The authentication type being used by a Amazon Q Business application.



102
103
104
# File 'q_business/cfn_application_props.rb', line 102

def identity_type
  @identity_type
end

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

Configuration information about chat response personalization.

For more information, see Personalizing chat responses .



109
110
111
# File 'q_business/cfn_application_props.rb', line 109

def personalization_configuration
  @personalization_configuration
end

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

Configuration information about Amazon Q Apps.



114
115
116
# File 'q_business/cfn_application_props.rb', line 114

def q_apps_configuration
  @q_apps_configuration
end

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

The Amazon Quick Suite configuration for an Amazon Q Business application that uses Quick Suite as the identity provider.



119
120
121
# File 'q_business/cfn_application_props.rb', line 119

def quick_sight_configuration
  @quick_sight_configuration
end

#role_arnString? (readonly)

The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics.

If this property is not specified, Amazon Q Business will create a service linked role (SLR) and use it as the application's role.



126
127
128
# File 'q_business/cfn_application_props.rb', line 126

def role_arn
  @role_arn
end

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

A list of key-value pairs that identify or categorize your Amazon Q Business application.

You can also use tags to help control access to the application. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + -



133
134
135
# File 'q_business/cfn_application_props.rb', line 133

def tags
  @tags
end

Class Method Details

.jsii_propertiesObject



135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
# File 'q_business/cfn_application_props.rb', line 135

def self.jsii_properties
  {
    :display_name => "displayName",
    :attachments_configuration => "attachmentsConfiguration",
    :auto_subscription_configuration => "autoSubscriptionConfiguration",
    :client_ids_for_oidc => "clientIdsForOidc",
    :description => "description",
    :encryption_configuration => "encryptionConfiguration",
    :iam_identity_provider_arn => "iamIdentityProviderArn",
    :identity_center_instance_arn => "identityCenterInstanceArn",
    :identity_type => "identityType",
    :personalization_configuration => "personalizationConfiguration",
    :q_apps_configuration => "qAppsConfiguration",
    :quick_sight_configuration => "quickSightConfiguration",
    :role_arn => "roleArn",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
# File 'q_business/cfn_application_props.rb', line 154

def to_jsii
  result = {}
  result.merge!({
    "displayName" => @display_name,
    "attachmentsConfiguration" => @attachments_configuration,
    "autoSubscriptionConfiguration" => @auto_subscription_configuration,
    "clientIdsForOidc" => @client_ids_for_oidc,
    "description" => @description,
    "encryptionConfiguration" => @encryption_configuration,
    "iamIdentityProviderArn" => @iam_identity_provider_arn,
    "identityCenterInstanceArn" => @identity_center_instance_arn,
    "identityType" => @identity_type,
    "personalizationConfiguration" => @personalization_configuration,
    "qAppsConfiguration" => @q_apps_configuration,
    "quickSightConfiguration" => @quick_sight_configuration,
    "roleArn" => @role_arn,
    "tags" => @tags,
  })
  result.compact
end