Class: AWSCDK::RedshiftServerless::CfnNamespaceProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::RedshiftServerless::CfnNamespaceProps
- Defined in:
- redshift_serverless/cfn_namespace_props.rb
Overview
Properties for defining a CfnNamespace.
Instance Attribute Summary collapse
-
#admin_password_secret_kms_key_id ⇒ String?
readonly
The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret.
-
#admin_user_password ⇒ String?
readonly
The password of the administrator for the primary database created in the namespace.
-
#admin_username ⇒ String?
readonly
The username of the administrator for the primary database created in the namespace.
-
#db_name ⇒ String?
readonly
The name of the primary database created in the namespace.
-
#default_iam_role_arn ⇒ String, ...
readonly
The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.
-
#final_snapshot_name ⇒ String?
readonly
The name of the snapshot to be created before the namespace is deleted.
-
#final_snapshot_retention_period ⇒ Numeric?
readonly
How long to retain the final snapshot.
-
#iam_roles ⇒ Array<String, AWSCDK::Interfaces::AWSIAM::IRoleRef>?
readonly
A list of IAM roles to associate with the namespace.
-
#kms_key_id ⇒ String, ...
readonly
The ID of the AWS Key Management Service key used to encrypt your data.
-
#log_exports ⇒ Array<String>?
readonly
The types of logs the namespace can export.
-
#manage_admin_password ⇒ Boolean, ...
readonly
If true, Amazon Redshift uses AWS Secrets Manager to manage the namespace's admin credentials.
-
#namespace_name ⇒ String
readonly
The name of the namespace.
-
#namespace_resource_policy ⇒ Object?
readonly
The resource policy that will be attached to the namespace.
-
#redshift_idc_application_arn ⇒ String?
readonly
The ARN for the Redshift application that integrates with IAM Identity Center.
-
#snapshot_copy_configurations ⇒ AWSCDK::IResolvable, ...
readonly
The snapshot copy configurations for the namespace.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
The map of the key-value pairs used to tag the namespace.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(namespace_name:, admin_password_secret_kms_key_id: nil, admin_username: nil, admin_user_password: nil, db_name: nil, default_iam_role_arn: nil, final_snapshot_name: nil, final_snapshot_retention_period: nil, iam_roles: nil, kms_key_id: nil, log_exports: nil, manage_admin_password: nil, namespace_resource_policy: nil, redshift_idc_application_arn: nil, snapshot_copy_configurations: nil, tags: nil) ⇒ CfnNamespaceProps
constructor
A new instance of CfnNamespaceProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(namespace_name:, admin_password_secret_kms_key_id: nil, admin_username: nil, admin_user_password: nil, db_name: nil, default_iam_role_arn: nil, final_snapshot_name: nil, final_snapshot_retention_period: nil, iam_roles: nil, kms_key_id: nil, log_exports: nil, manage_admin_password: nil, namespace_resource_policy: nil, redshift_idc_application_arn: nil, snapshot_copy_configurations: nil, tags: nil) ⇒ CfnNamespaceProps
Returns a new instance of CfnNamespaceProps.
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 53 54 55 56 57 58 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 25 def initialize(namespace_name:, admin_password_secret_kms_key_id: nil, admin_username: nil, admin_user_password: nil, db_name: nil, default_iam_role_arn: nil, final_snapshot_name: nil, final_snapshot_retention_period: nil, iam_roles: nil, kms_key_id: nil, log_exports: nil, manage_admin_password: nil, namespace_resource_policy: nil, redshift_idc_application_arn: nil, snapshot_copy_configurations: nil, tags: nil) @namespace_name = namespace_name Jsii::Type.check_type(@namespace_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "namespaceName") @admin_password_secret_kms_key_id = admin_password_secret_kms_key_id Jsii::Type.check_type(@admin_password_secret_kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "adminPasswordSecretKmsKeyId") unless @admin_password_secret_kms_key_id.nil? @admin_username = admin_username Jsii::Type.check_type(@admin_username, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "adminUsername") unless @admin_username.nil? @admin_user_password = admin_user_password Jsii::Type.check_type(@admin_user_password, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "adminUserPassword") unless @admin_user_password.nil? @db_name = db_name Jsii::Type.check_type(@db_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dbName") unless @db_name.nil? @default_iam_role_arn = default_iam_role_arn Jsii::Type.check_type(@default_iam_role_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "defaultIamRoleArn") unless @default_iam_role_arn.nil? @final_snapshot_name = final_snapshot_name Jsii::Type.check_type(@final_snapshot_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "finalSnapshotName") unless @final_snapshot_name.nil? @final_snapshot_retention_period = final_snapshot_retention_period Jsii::Type.check_type(@final_snapshot_retention_period, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "finalSnapshotRetentionPeriod") unless @final_snapshot_retention_period.nil? @iam_roles = iam_roles Jsii::Type.check_type(@iam_roles, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InVuaW9uIjp7InR5cGVzIjpbeyJwcmltaXRpdmUiOiJzdHJpbmcifSx7ImZxbiI6ImF3cy1jZGstbGliLmludGVyZmFjZXMuYXdzX2lhbS5JUm9sZVJlZiJ9XX19LCJraW5kIjoiYXJyYXkifX0=")), "iamRoles") unless @iam_roles.nil? @kms_key_id = kms_key_id Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19rbXMuSUtleVJlZiJ9XX19")), "kmsKeyId") unless @kms_key_id.nil? @log_exports = log_exports Jsii::Type.check_type(@log_exports, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "logExports") unless @log_exports.nil? @manage_admin_password = manage_admin_password Jsii::Type.check_type(@manage_admin_password, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "manageAdminPassword") unless @manage_admin_password.nil? @namespace_resource_policy = namespace_resource_policy Jsii::Type.check_type(@namespace_resource_policy, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "namespaceResourcePolicy") unless @namespace_resource_policy.nil? @redshift_idc_application_arn = redshift_idc_application_arn Jsii::Type.check_type(@redshift_idc_application_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "redshiftIdcApplicationArn") unless @redshift_idc_application_arn.nil? @snapshot_copy_configurations = snapshot_copy_configurations Jsii::Type.check_type(@snapshot_copy_configurations, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfcmVkc2hpZnRzZXJ2ZXJsZXNzLkNmbk5hbWVzcGFjZS5TbmFwc2hvdENvcHlDb25maWd1cmF0aW9uUHJvcGVydHkifV19fSwia2luZCI6ImFycmF5In19XX19")), "snapshotCopyConfigurations") unless @snapshot_copy_configurations.nil? @tags = .is_a?(Array) ? .map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tags") unless @tags.nil? end |
Instance Attribute Details
#admin_password_secret_kms_key_id ⇒ String? (readonly)
The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret.
You can only use this parameter if ManageAdminPassword is true .
73 74 75 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 73 def admin_password_secret_kms_key_id @admin_password_secret_kms_key_id end |
#admin_user_password ⇒ String? (readonly)
The password of the administrator for the primary database created in the namespace.
83 84 85 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 83 def admin_user_password @admin_user_password end |
#admin_username ⇒ String? (readonly)
The username of the administrator for the primary database created in the namespace.
78 79 80 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 78 def admin_username @admin_username end |
#db_name ⇒ String? (readonly)
The name of the primary database created in the namespace.
88 89 90 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 88 def db_name @db_name end |
#default_iam_role_arn ⇒ String, ... (readonly)
The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.
93 94 95 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 93 def default_iam_role_arn @default_iam_role_arn end |
#final_snapshot_name ⇒ String? (readonly)
The name of the snapshot to be created before the namespace is deleted.
98 99 100 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 98 def final_snapshot_name @final_snapshot_name end |
#final_snapshot_retention_period ⇒ Numeric? (readonly)
How long to retain the final snapshot.
103 104 105 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 103 def final_snapshot_retention_period @final_snapshot_retention_period end |
#iam_roles ⇒ Array<String, AWSCDK::Interfaces::AWSIAM::IRoleRef>? (readonly)
A list of IAM roles to associate with the namespace.
108 109 110 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 108 def iam_roles @iam_roles end |
#kms_key_id ⇒ String, ... (readonly)
The ID of the AWS Key Management Service key used to encrypt your data.
113 114 115 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 113 def kms_key_id @kms_key_id end |
#log_exports ⇒ Array<String>? (readonly)
The types of logs the namespace can export.
Available export types are userlog , connectionlog , and useractivitylog .
120 121 122 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 120 def log_exports @log_exports end |
#manage_admin_password ⇒ Boolean, ... (readonly)
If true, Amazon Redshift uses AWS Secrets Manager to manage the namespace's admin credentials.
You can't use AdminUserPassword if ManageAdminPassword is true. If ManageAdminPassword is false or not set, Amazon Redshift uses AdminUserPassword for the admin user account's password.
127 128 129 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 127 def manage_admin_password @manage_admin_password end |
#namespace_name ⇒ String (readonly)
The name of the namespace.
Must be between 3-64 alphanumeric characters in lowercase, and it cannot be a reserved word. A list of reserved words can be found in Reserved Words in the Amazon Redshift Database Developer Guide.
66 67 68 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 66 def namespace_name @namespace_name end |
#namespace_resource_policy ⇒ Object? (readonly)
The resource policy that will be attached to the namespace.
132 133 134 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 132 def namespace_resource_policy @namespace_resource_policy end |
#redshift_idc_application_arn ⇒ String? (readonly)
The ARN for the Redshift application that integrates with IAM Identity Center.
137 138 139 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 137 def redshift_idc_application_arn @redshift_idc_application_arn end |
#snapshot_copy_configurations ⇒ AWSCDK::IResolvable, ... (readonly)
The snapshot copy configurations for the namespace.
142 143 144 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 142 def snapshot_copy_configurations @snapshot_copy_configurations end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
The map of the key-value pairs used to tag the namespace.
147 148 149 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 147 def @tags end |
Class Method Details
.jsii_properties ⇒ Object
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 149 def self.jsii_properties { :namespace_name => "namespaceName", :admin_password_secret_kms_key_id => "adminPasswordSecretKmsKeyId", :admin_username => "adminUsername", :admin_user_password => "adminUserPassword", :db_name => "dbName", :default_iam_role_arn => "defaultIamRoleArn", :final_snapshot_name => "finalSnapshotName", :final_snapshot_retention_period => "finalSnapshotRetentionPeriod", :iam_roles => "iamRoles", :kms_key_id => "kmsKeyId", :log_exports => "logExports", :manage_admin_password => "manageAdminPassword", :namespace_resource_policy => "namespaceResourcePolicy", :redshift_idc_application_arn => "redshiftIdcApplicationArn", :snapshot_copy_configurations => "snapshotCopyConfigurations", :tags => "tags", } end |
Instance Method Details
#to_jsii ⇒ Object
170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 |
# File 'redshift_serverless/cfn_namespace_props.rb', line 170 def to_jsii result = {} result.merge!({ "namespaceName" => @namespace_name, "adminPasswordSecretKmsKeyId" => @admin_password_secret_kms_key_id, "adminUsername" => @admin_username, "adminUserPassword" => @admin_user_password, "dbName" => @db_name, "defaultIamRoleArn" => @default_iam_role_arn, "finalSnapshotName" => @final_snapshot_name, "finalSnapshotRetentionPeriod" => @final_snapshot_retention_period, "iamRoles" => @iam_roles, "kmsKeyId" => @kms_key_id, "logExports" => @log_exports, "manageAdminPassword" => @manage_admin_password, "namespaceResourcePolicy" => @namespace_resource_policy, "redshiftIdcApplicationArn" => @redshift_idc_application_arn, "snapshotCopyConfigurations" => @snapshot_copy_configurations, "tags" => @tags, }) result.compact end |