Class: AWSCDK::OpenSearchServerless::CfnCollectionProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
open_search_serverless/cfn_collection_props.rb

Overview

Properties for defining a CfnCollection.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, collection_group_name: nil, deletion_protection: nil, description: nil, encryption_config: nil, standby_replicas: nil, tags: nil, type: nil, vector_options: nil) ⇒ CfnCollectionProps

Returns a new instance of CfnCollectionProps.

Parameters:

  • name (String)

    The name of the collection.

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

    The name of the collection group to associate with the collection.

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

    The deletion protection state of the collection.

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

    A description of the collection.

  • encryption_config (AWSCDK::IResolvable, AWSCDK::OpenSearchServerless::CfnCollection::EncryptionConfigProperty, nil) (defaults to: nil)

    Encryption settings for the collection.

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

    Indicates whether to use standby replicas for the collection.

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

    An arbitrary set of tags (key–value pairs) to associate with the collection.

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

    The type of collection.

  • vector_options (AWSCDK::IResolvable, AWSCDK::OpenSearchServerless::CfnCollection::VectorOptionsProperty, nil) (defaults to: nil)

    Vector search configuration options for the collection.



18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'open_search_serverless/cfn_collection_props.rb', line 18

def initialize(name:, collection_group_name: nil, deletion_protection: nil, description: nil, encryption_config: nil, standby_replicas: nil, tags: nil, type: nil, vector_options: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @collection_group_name = collection_group_name
  Jsii::Type.check_type(@collection_group_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "collectionGroupName") unless @collection_group_name.nil?
  @deletion_protection = deletion_protection
  Jsii::Type.check_type(@deletion_protection, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deletionProtection") unless @deletion_protection.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @encryption_config = encryption_config.is_a?(Hash) ? ::AWSCDK::OpenSearchServerless::CfnCollection::EncryptionConfigProperty.new(**encryption_config.transform_keys(&:to_sym)) : encryption_config
  Jsii::Type.check_type(@encryption_config, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19vcGVuc2VhcmNoc2VydmVybGVzcy5DZm5Db2xsZWN0aW9uLkVuY3J5cHRpb25Db25maWdQcm9wZXJ0eSJ9XX19")), "encryptionConfig") unless @encryption_config.nil?
  @standby_replicas = standby_replicas
  Jsii::Type.check_type(@standby_replicas, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "standbyReplicas") unless @standby_replicas.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?
  @type = type
  Jsii::Type.check_type(@type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "type") unless @type.nil?
  @vector_options = vector_options.is_a?(Hash) ? ::AWSCDK::OpenSearchServerless::CfnCollection::VectorOptionsProperty.new(**vector_options.transform_keys(&:to_sym)) : vector_options
  Jsii::Type.check_type(@vector_options, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19vcGVuc2VhcmNoc2VydmVybGVzcy5DZm5Db2xsZWN0aW9uLlZlY3Rvck9wdGlvbnNQcm9wZXJ0eSJ9XX19")), "vectorOptions") unless @vector_options.nil?
end

Instance Attribute Details

#collection_group_nameString? (readonly)

The name of the collection group to associate with the collection.



55
56
57
# File 'open_search_serverless/cfn_collection_props.rb', line 55

def collection_group_name
  @collection_group_name
end

#deletion_protectionString? (readonly)

The deletion protection state of the collection.



60
61
62
# File 'open_search_serverless/cfn_collection_props.rb', line 60

def deletion_protection
  @deletion_protection
end

#descriptionString? (readonly)

A description of the collection.



65
66
67
# File 'open_search_serverless/cfn_collection_props.rb', line 65

def description
  @description
end

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

Encryption settings for the collection.



70
71
72
# File 'open_search_serverless/cfn_collection_props.rb', line 70

def encryption_config
  @encryption_config
end

#nameString (readonly)

The name of the collection.

Collection names must meet the following criteria:

  • Starts with a lowercase letter
  • Unique to your account and AWS Region
  • Contains between 3 and 28 characters
  • Contains only lowercase letters a-z, the numbers 0-9, and the hyphen (-)


50
51
52
# File 'open_search_serverless/cfn_collection_props.rb', line 50

def name
  @name
end

#standby_replicasString? (readonly)

Indicates whether to use standby replicas for the collection.

You can't update this property after the collection is already created. If you attempt to modify this property, the collection continues to use the original value.



77
78
79
# File 'open_search_serverless/cfn_collection_props.rb', line 77

def standby_replicas
  @standby_replicas
end

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

An arbitrary set of tags (key–value pairs) to associate with the collection.

For more information, see Tag .



84
85
86
# File 'open_search_serverless/cfn_collection_props.rb', line 84

def tags
  @tags
end

#typeString? (readonly)

The type of collection.

Possible values are SEARCH , TIMESERIES , and VECTORSEARCH . For more information, see Choosing a collection type .



91
92
93
# File 'open_search_serverless/cfn_collection_props.rb', line 91

def type
  @type
end

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

Vector search configuration options for the collection.



96
97
98
# File 'open_search_serverless/cfn_collection_props.rb', line 96

def vector_options
  @vector_options
end

Class Method Details

.jsii_propertiesObject



98
99
100
101
102
103
104
105
106
107
108
109
110
# File 'open_search_serverless/cfn_collection_props.rb', line 98

def self.jsii_properties
  {
    :name => "name",
    :collection_group_name => "collectionGroupName",
    :deletion_protection => "deletionProtection",
    :description => "description",
    :encryption_config => "encryptionConfig",
    :standby_replicas => "standbyReplicas",
    :tags => "tags",
    :type => "type",
    :vector_options => "vectorOptions",
  }
end

Instance Method Details

#to_jsiiObject



112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# File 'open_search_serverless/cfn_collection_props.rb', line 112

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "collectionGroupName" => @collection_group_name,
    "deletionProtection" => @deletion_protection,
    "description" => @description,
    "encryptionConfig" => @encryption_config,
    "standbyReplicas" => @standby_replicas,
    "tags" => @tags,
    "type" => @type,
    "vectorOptions" => @vector_options,
  })
  result.compact
end