Class: AWSCDK::RedshiftServerless::CfnNamespace::NamespaceProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
redshift_serverless/cfn_namespace.rb

Overview

A collection of database objects and users.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(admin_password_secret_arn: nil, admin_password_secret_kms_key_id: nil, admin_username: nil, creation_date: nil, db_name: nil, default_iam_role_arn: nil, iam_roles: nil, kms_key_id: nil, log_exports: nil, namespace_arn: nil, namespace_id: nil, namespace_name: nil, status: nil) ⇒ NamespaceProperty

Returns a new instance of NamespaceProperty.

Parameters:

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

    The Amazon Resource Name (ARN) for the namespace's admin user credentials secret.

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

    The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret.

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

    The username of the administrator for the first database created in the namespace.

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

    The date of when the namespace was created.

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

    The name of the first database created in the namespace.

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

    The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.

  • iam_roles (Array<String>, nil) (defaults to: nil)

    A list of IAM roles to associate with the namespace.

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

    The ID of the AWS Key Management Service key used to encrypt your data.

  • log_exports (Array<String>, nil) (defaults to: nil)

    The types of logs the namespace can export.

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

    The Amazon Resource Name (ARN) associated with a namespace.

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

    The unique identifier of a namespace.

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

    The name of the namespace.

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

    The status of the namespace.



807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
# File 'redshift_serverless/cfn_namespace.rb', line 807

def initialize(admin_password_secret_arn: nil, admin_password_secret_kms_key_id: nil, admin_username: nil, creation_date: nil, db_name: nil, default_iam_role_arn: nil, iam_roles: nil, kms_key_id: nil, log_exports: nil, namespace_arn: nil, namespace_id: nil, namespace_name: nil, status: nil)
  @admin_password_secret_arn = admin_password_secret_arn
  Jsii::Type.check_type(@admin_password_secret_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "adminPasswordSecretArn") unless @admin_password_secret_arn.nil?
  @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?
  @creation_date = creation_date
  Jsii::Type.check_type(@creation_date, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "creationDate") unless @creation_date.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("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "defaultIamRoleArn") unless @default_iam_role_arn.nil?
  @iam_roles = iam_roles
  Jsii::Type.check_type(@iam_roles, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "iamRoles") unless @iam_roles.nil?
  @kms_key_id = kms_key_id
  Jsii::Type.check_type(@kms_key_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "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?
  @namespace_arn = namespace_arn
  Jsii::Type.check_type(@namespace_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "namespaceArn") unless @namespace_arn.nil?
  @namespace_id = namespace_id
  Jsii::Type.check_type(@namespace_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "namespaceId") unless @namespace_id.nil?
  @namespace_name = namespace_name
  Jsii::Type.check_type(@namespace_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "namespaceName") unless @namespace_name.nil?
  @status = status
  Jsii::Type.check_type(@status, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "status") unless @status.nil?
end

Instance Attribute Details

#admin_password_secret_arnString? (readonly)

The Amazon Resource Name (ARN) for the namespace's admin user credentials secret.



840
841
842
# File 'redshift_serverless/cfn_namespace.rb', line 840

def admin_password_secret_arn
  @admin_password_secret_arn
end

#admin_password_secret_kms_key_idString? (readonly)

The ID of the AWS Key Management Service (KMS) key used to encrypt and store the namespace's admin credentials secret.



845
846
847
# File 'redshift_serverless/cfn_namespace.rb', line 845

def admin_password_secret_kms_key_id
  @admin_password_secret_kms_key_id
end

#admin_usernameString? (readonly)

The username of the administrator for the first database created in the namespace.



850
851
852
# File 'redshift_serverless/cfn_namespace.rb', line 850

def admin_username
  @admin_username
end

#creation_dateString? (readonly)

The date of when the namespace was created.



855
856
857
# File 'redshift_serverless/cfn_namespace.rb', line 855

def creation_date
  @creation_date
end

#db_nameString? (readonly)

The name of the first database created in the namespace.



860
861
862
# File 'redshift_serverless/cfn_namespace.rb', line 860

def db_name
  @db_name
end

#default_iam_role_arnString? (readonly)

The Amazon Resource Name (ARN) of the IAM role to set as a default in the namespace.



865
866
867
# File 'redshift_serverless/cfn_namespace.rb', line 865

def default_iam_role_arn
  @default_iam_role_arn
end

#iam_rolesArray<String>? (readonly)

A list of IAM roles to associate with the namespace.



870
871
872
# File 'redshift_serverless/cfn_namespace.rb', line 870

def iam_roles
  @iam_roles
end

#kms_key_idString? (readonly)

The ID of the AWS Key Management Service key used to encrypt your data.



875
876
877
# File 'redshift_serverless/cfn_namespace.rb', line 875

def kms_key_id
  @kms_key_id
end

#log_exportsArray<String>? (readonly)

The types of logs the namespace can export.

Available export types are User log, Connection log, and User activity log.



882
883
884
# File 'redshift_serverless/cfn_namespace.rb', line 882

def log_exports
  @log_exports
end

#namespace_arnString? (readonly)

The Amazon Resource Name (ARN) associated with a namespace.



887
888
889
# File 'redshift_serverless/cfn_namespace.rb', line 887

def namespace_arn
  @namespace_arn
end

#namespace_idString? (readonly)

The unique identifier of a namespace.



892
893
894
# File 'redshift_serverless/cfn_namespace.rb', line 892

def namespace_id
  @namespace_id
end

#namespace_nameString? (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.



899
900
901
# File 'redshift_serverless/cfn_namespace.rb', line 899

def namespace_name
  @namespace_name
end

#statusString? (readonly)

The status of the namespace.



904
905
906
# File 'redshift_serverless/cfn_namespace.rb', line 904

def status
  @status
end

Class Method Details

.jsii_propertiesObject



906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
# File 'redshift_serverless/cfn_namespace.rb', line 906

def self.jsii_properties
  {
    :admin_password_secret_arn => "adminPasswordSecretArn",
    :admin_password_secret_kms_key_id => "adminPasswordSecretKmsKeyId",
    :admin_username => "adminUsername",
    :creation_date => "creationDate",
    :db_name => "dbName",
    :default_iam_role_arn => "defaultIamRoleArn",
    :iam_roles => "iamRoles",
    :kms_key_id => "kmsKeyId",
    :log_exports => "logExports",
    :namespace_arn => "namespaceArn",
    :namespace_id => "namespaceId",
    :namespace_name => "namespaceName",
    :status => "status",
  }
end

Instance Method Details

#to_jsiiObject



924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
# File 'redshift_serverless/cfn_namespace.rb', line 924

def to_jsii
  result = {}
  result.merge!({
    "adminPasswordSecretArn" => @admin_password_secret_arn,
    "adminPasswordSecretKmsKeyId" => @admin_password_secret_kms_key_id,
    "adminUsername" => @admin_username,
    "creationDate" => @creation_date,
    "dbName" => @db_name,
    "defaultIamRoleArn" => @default_iam_role_arn,
    "iamRoles" => @iam_roles,
    "kmsKeyId" => @kms_key_id,
    "logExports" => @log_exports,
    "namespaceArn" => @namespace_arn,
    "namespaceId" => @namespace_id,
    "namespaceName" => @namespace_name,
    "status" => @status,
  })
  result.compact
end