Class: AWSCDK::Timestream::CfnInfluxDBInstanceProps
- Inherits:
-
Jsii::Struct
- Object
- Jsii::Struct
- AWSCDK::Timestream::CfnInfluxDBInstanceProps
- Defined in:
- timestream/cfn_influx_db_instance_props.rb
Overview
Properties for defining a CfnInfluxDBInstance.
Instance Attribute Summary collapse
-
#allocated_storage ⇒ Numeric?
readonly
The amount of storage to allocate for your DB storage type in GiB (gibibytes).
-
#bucket ⇒ String?
readonly
The name of the initial InfluxDB bucket.
-
#db_instance_type ⇒ String?
readonly
The Timestream for InfluxDB DB instance type to run on.
-
#db_parameter_group_identifier ⇒ String?
readonly
The name or id of the DB parameter group to assign to your DB instance.
-
#db_storage_type ⇒ String?
readonly
The Timestream for InfluxDB DB storage type to read and write InfluxDB data.
-
#deployment_type ⇒ String?
readonly
Specifies whether the Timestream for InfluxDB is deployed as Single-AZ or with a MultiAZ Standby for High availability.
-
#log_delivery_configuration ⇒ AWSCDK::IResolvable, ...
readonly
Configuration for sending InfluxDB engine logs to a specified S3 bucket.
-
#maintenance_schedule ⇒ AWSCDK::IResolvable, ...
readonly
The maintenance schedule for the InfluxDB instance.
-
#name ⇒ String?
readonly
The name that uniquely identifies the DB instance when interacting with the Amazon Timestream for InfluxDB API and CLI commands.
-
#network_type ⇒ String?
readonly
Network type of the InfluxDB Instance.
-
#organization ⇒ String?
readonly
The name of the initial organization for the initial admin user in InfluxDB.
-
#password ⇒ String?
readonly
The password of the initial admin user created in InfluxDB.
-
#port ⇒ Numeric?
readonly
The port number on which InfluxDB accepts connections.
-
#publicly_accessible ⇒ Boolean, ...
readonly
Configures the DB instance with a public IP to facilitate access.
-
#tags ⇒ Array<AWSCDK::CfnTag>?
readonly
A list of key-value pairs to associate with the DB instance.
-
#username ⇒ String?
readonly
The username of the initial admin user created in InfluxDB.
-
#vpc_security_group_ids ⇒ Array<String>?
readonly
A list of VPC security group IDs to associate with the DB instance.
-
#vpc_subnet_ids ⇒ Array<String>?
readonly
A list of VPC subnet IDs to associate with the DB instance.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(allocated_storage: nil, bucket: nil, db_instance_type: nil, db_parameter_group_identifier: nil, db_storage_type: nil, deployment_type: nil, log_delivery_configuration: nil, maintenance_schedule: nil, name: nil, network_type: nil, organization: nil, password: nil, port: nil, publicly_accessible: nil, tags: nil, username: nil, vpc_security_group_ids: nil, vpc_subnet_ids: nil) ⇒ CfnInfluxDBInstanceProps
constructor
A new instance of CfnInfluxDBInstanceProps.
- #to_jsii ⇒ Object
Constructor Details
#initialize(allocated_storage: nil, bucket: nil, db_instance_type: nil, db_parameter_group_identifier: nil, db_storage_type: nil, deployment_type: nil, log_delivery_configuration: nil, maintenance_schedule: nil, name: nil, network_type: nil, organization: nil, password: nil, port: nil, publicly_accessible: nil, tags: nil, username: nil, vpc_security_group_ids: nil, vpc_subnet_ids: nil) ⇒ CfnInfluxDBInstanceProps
Returns a new instance of CfnInfluxDBInstanceProps.
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 59 60 61 62 63 64 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 27 def initialize(allocated_storage: nil, bucket: nil, db_instance_type: nil, db_parameter_group_identifier: nil, db_storage_type: nil, deployment_type: nil, log_delivery_configuration: nil, maintenance_schedule: nil, name: nil, network_type: nil, organization: nil, password: nil, port: nil, publicly_accessible: nil, tags: nil, username: nil, vpc_security_group_ids: nil, vpc_subnet_ids: nil) @allocated_storage = allocated_storage Jsii::Type.check_type(@allocated_storage, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "allocatedStorage") unless @allocated_storage.nil? @bucket = bucket Jsii::Type.check_type(@bucket, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "bucket") unless @bucket.nil? @db_instance_type = db_instance_type Jsii::Type.check_type(@db_instance_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dbInstanceType") unless @db_instance_type.nil? @db_parameter_group_identifier = db_parameter_group_identifier Jsii::Type.check_type(@db_parameter_group_identifier, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dbParameterGroupIdentifier") unless @db_parameter_group_identifier.nil? @db_storage_type = db_storage_type Jsii::Type.check_type(@db_storage_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "dbStorageType") unless @db_storage_type.nil? @deployment_type = deployment_type Jsii::Type.check_type(@deployment_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deploymentType") unless @deployment_type.nil? @log_delivery_configuration = log_delivery_configuration.is_a?(Hash) ? ::AWSCDK::Timestream::CfnInfluxDBInstance::LogDeliveryConfigurationProperty.new(**log_delivery_configuration.transform_keys(&:to_sym)) : log_delivery_configuration Jsii::Type.check_type(@log_delivery_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c190aW1lc3RyZWFtLkNmbkluZmx1eERCSW5zdGFuY2UuTG9nRGVsaXZlcnlDb25maWd1cmF0aW9uUHJvcGVydHkifV19fQ==")), "logDeliveryConfiguration") unless @log_delivery_configuration.nil? @maintenance_schedule = maintenance_schedule.is_a?(Hash) ? ::AWSCDK::Timestream::CfnInfluxDBInstance::MaintenanceScheduleProperty.new(**maintenance_schedule.transform_keys(&:to_sym)) : maintenance_schedule Jsii::Type.check_type(@maintenance_schedule, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c190aW1lc3RyZWFtLkNmbkluZmx1eERCSW5zdGFuY2UuTWFpbnRlbmFuY2VTY2hlZHVsZVByb3BlcnR5In1dfX0=")), "maintenanceSchedule") unless @maintenance_schedule.nil? @name = name Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name") unless @name.nil? @network_type = network_type Jsii::Type.check_type(@network_type, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "networkType") unless @network_type.nil? @organization = organization Jsii::Type.check_type(@organization, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "organization") unless @organization.nil? @password = password Jsii::Type.check_type(@password, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "password") unless @password.nil? @port = port Jsii::Type.check_type(@port, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "port") unless @port.nil? @publicly_accessible = publicly_accessible Jsii::Type.check_type(@publicly_accessible, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "publiclyAccessible") unless @publicly_accessible.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? @username = username Jsii::Type.check_type(@username, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "username") unless @username.nil? @vpc_security_group_ids = vpc_security_group_ids Jsii::Type.check_type(@vpc_security_group_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "vpcSecurityGroupIds") unless @vpc_security_group_ids.nil? @vpc_subnet_ids = vpc_subnet_ids Jsii::Type.check_type(@vpc_subnet_ids, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "vpcSubnetIds") unless @vpc_subnet_ids.nil? end |
Instance Attribute Details
#allocated_storage ⇒ Numeric? (readonly)
The amount of storage to allocate for your DB storage type in GiB (gibibytes).
70 71 72 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 70 def allocated_storage @allocated_storage end |
#bucket ⇒ String? (readonly)
The name of the initial InfluxDB bucket.
All InfluxDB data is stored in a bucket. A bucket combines the concept of a database and a retention period (the duration of time that each data point persists). A bucket belongs to an organization.
77 78 79 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 77 def bucket @bucket end |
#db_instance_type ⇒ String? (readonly)
The Timestream for InfluxDB DB instance type to run on.
82 83 84 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 82 def db_instance_type @db_instance_type end |
#db_parameter_group_identifier ⇒ String? (readonly)
The name or id of the DB parameter group to assign to your DB instance.
DB parameter groups specify how the database is configured. For example, DB parameter groups can specify the limit for query concurrency.
89 90 91 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 89 def db_parameter_group_identifier @db_parameter_group_identifier end |
#db_storage_type ⇒ String? (readonly)
The Timestream for InfluxDB DB storage type to read and write InfluxDB data.
You can choose between 3 different types of provisioned Influx IOPS included storage according to your workloads requirements:
- Influx IO Included 3000 IOPS
- Influx IO Included 12000 IOPS
- Influx IO Included 16000 IOPS
100 101 102 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 100 def db_storage_type @db_storage_type end |
#deployment_type ⇒ String? (readonly)
Specifies whether the Timestream for InfluxDB is deployed as Single-AZ or with a MultiAZ Standby for High availability.
105 106 107 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 105 def deployment_type @deployment_type end |
#log_delivery_configuration ⇒ AWSCDK::IResolvable, ... (readonly)
Configuration for sending InfluxDB engine logs to a specified S3 bucket.
110 111 112 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 110 def log_delivery_configuration @log_delivery_configuration end |
#maintenance_schedule ⇒ AWSCDK::IResolvable, ... (readonly)
The maintenance schedule for the InfluxDB instance.
115 116 117 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 115 def maintenance_schedule @maintenance_schedule end |
#name ⇒ String? (readonly)
The name that uniquely identifies the DB instance when interacting with the Amazon Timestream for InfluxDB API and CLI commands.
This name will also be a prefix included in the endpoint. DB instance names must be unique per customer and per region.
122 123 124 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 122 def name @name end |
#network_type ⇒ String? (readonly)
Network type of the InfluxDB Instance.
127 128 129 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 127 def network_type @network_type end |
#organization ⇒ String? (readonly)
The name of the initial organization for the initial admin user in InfluxDB.
An InfluxDB organization is a workspace for a group of users.
134 135 136 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 134 def organization @organization end |
#password ⇒ String? (readonly)
The password of the initial admin user created in InfluxDB.
This password will allow you to access the InfluxDB UI to perform various administrative tasks and also use the InfluxDB CLI to create an operator token. These attributes will be stored in a Secret created in Amazon SecretManager in your account.
141 142 143 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 141 def password @password end |
#port ⇒ Numeric? (readonly)
The port number on which InfluxDB accepts connections.
146 147 148 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 146 def port @port end |
#publicly_accessible ⇒ Boolean, ... (readonly)
Default: - false
Configures the DB instance with a public IP to facilitate access.
152 153 154 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 152 def publicly_accessible @publicly_accessible end |
#tags ⇒ Array<AWSCDK::CfnTag>? (readonly)
A list of key-value pairs to associate with the DB instance.
157 158 159 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 157 def @tags end |
#username ⇒ String? (readonly)
The username of the initial admin user created in InfluxDB.
Must start with a letter and can't end with a hyphen or contain two consecutive hyphens. For example, my-user1. This username will allow you to access the InfluxDB UI to perform various administrative tasks and also use the InfluxDB CLI to create an operator token. These attributes will be stored in a Secret created in Amazon Secrets Manager in your account.
164 165 166 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 164 def username @username end |
#vpc_security_group_ids ⇒ Array<String>? (readonly)
A list of VPC security group IDs to associate with the DB instance.
169 170 171 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 169 def vpc_security_group_ids @vpc_security_group_ids end |
#vpc_subnet_ids ⇒ Array<String>? (readonly)
A list of VPC subnet IDs to associate with the DB instance.
Provide at least two VPC subnet IDs in different availability zones when deploying with a Multi-AZ standby.
176 177 178 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 176 def vpc_subnet_ids @vpc_subnet_ids end |
Class Method Details
.jsii_properties ⇒ Object
178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 178 def self.jsii_properties { :allocated_storage => "allocatedStorage", :bucket => "bucket", :db_instance_type => "dbInstanceType", :db_parameter_group_identifier => "dbParameterGroupIdentifier", :db_storage_type => "dbStorageType", :deployment_type => "deploymentType", :log_delivery_configuration => "logDeliveryConfiguration", :maintenance_schedule => "maintenanceSchedule", :name => "name", :network_type => "networkType", :organization => "organization", :password => "password", :port => "port", :publicly_accessible => "publiclyAccessible", :tags => "tags", :username => "username", :vpc_security_group_ids => "vpcSecurityGroupIds", :vpc_subnet_ids => "vpcSubnetIds", } end |
Instance Method Details
#to_jsii ⇒ Object
201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 |
# File 'timestream/cfn_influx_db_instance_props.rb', line 201 def to_jsii result = {} result.merge!({ "allocatedStorage" => @allocated_storage, "bucket" => @bucket, "dbInstanceType" => @db_instance_type, "dbParameterGroupIdentifier" => @db_parameter_group_identifier, "dbStorageType" => @db_storage_type, "deploymentType" => @deployment_type, "logDeliveryConfiguration" => @log_delivery_configuration, "maintenanceSchedule" => @maintenance_schedule, "name" => @name, "networkType" => @network_type, "organization" => @organization, "password" => @password, "port" => @port, "publiclyAccessible" => @publicly_accessible, "tags" => @tags, "username" => @username, "vpcSecurityGroupIds" => @vpc_security_group_ids, "vpcSubnetIds" => @vpc_subnet_ids, }) result.compact end |