Class: AWSCDK::Timestream::CfnInfluxDBInstanceProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
timestream/cfn_influx_db_instance_props.rb

Overview

Properties for defining a CfnInfluxDBInstance.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

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.

Parameters:

  • allocated_storage (Numeric, nil) (defaults to: nil)

    The amount of storage to allocate for your DB storage type in GiB (gibibytes).

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

    The name of the initial InfluxDB bucket.

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

    The Timestream for InfluxDB DB instance type to run on.

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

    The name or id of the DB parameter group to assign to your DB instance.

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

    The Timestream for InfluxDB DB storage type to read and write InfluxDB data.

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

    Specifies whether the Timestream for InfluxDB is deployed as Single-AZ or with a MultiAZ Standby for High availability.

  • log_delivery_configuration (AWSCDK::IResolvable, AWSCDK::Timestream::CfnInfluxDBInstance::LogDeliveryConfigurationProperty, nil) (defaults to: nil)

    Configuration for sending InfluxDB engine logs to a specified S3 bucket.

  • maintenance_schedule (AWSCDK::IResolvable, AWSCDK::Timestream::CfnInfluxDBInstance::MaintenanceScheduleProperty, nil) (defaults to: nil)

    The maintenance schedule for the InfluxDB instance.

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

    The name that uniquely identifies the DB instance when interacting with the Amazon Timestream for InfluxDB API and CLI commands.

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

    Network type of the InfluxDB Instance.

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

    The name of the initial organization for the initial admin user in InfluxDB.

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

    The password of the initial admin user created in InfluxDB.

  • port (Numeric, nil) (defaults to: nil)

    The port number on which InfluxDB accepts connections.

  • publicly_accessible (Boolean, AWSCDK::IResolvable, nil) (defaults to: nil)

    Configures the DB instance with a public IP to facilitate access.

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

    A list of key-value pairs to associate with the DB instance.

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

    The username of the initial admin user created in InfluxDB.

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

    A list of VPC security group IDs to associate with the DB instance.

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

    A list of VPC subnet IDs to associate with the DB instance.



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 = 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?
  @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_storageNumeric? (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

#bucketString? (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_typeString? (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_identifierString? (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_typeString? (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_typeString? (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_configurationAWSCDK::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_scheduleAWSCDK::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

#nameString? (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_typeString? (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

#organizationString? (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

#passwordString? (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

#portNumeric? (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_accessibleBoolean, ... (readonly)

Note:

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

#tagsArray<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
  @tags
end

#usernameString? (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_idsArray<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_idsArray<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_propertiesObject



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_jsiiObject



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