Class: AWSCDK::Timestream::CfnScheduledQueryProps

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

Overview

Properties for defining a CfnScheduledQuery.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(error_report_configuration:, notification_configuration:, query_string:, schedule_configuration:, scheduled_query_execution_role_arn:, client_token: nil, kms_key_id: nil, scheduled_query_name: nil, tags: nil, target_configuration: nil) ⇒ CfnScheduledQueryProps

Returns a new instance of CfnScheduledQueryProps.

Parameters:



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'timestream/cfn_scheduled_query_props.rb', line 19

def initialize(error_report_configuration:, notification_configuration:, query_string:, schedule_configuration:, scheduled_query_execution_role_arn:, client_token: nil, kms_key_id: nil, scheduled_query_name: nil, tags: nil, target_configuration: nil)
  @error_report_configuration = error_report_configuration.is_a?(Hash) ? ::AWSCDK::Timestream::CfnScheduledQuery::ErrorReportConfigurationProperty.new(**error_report_configuration.transform_keys(&:to_sym)) : error_report_configuration
  Jsii::Type.check_type(@error_report_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c190aW1lc3RyZWFtLkNmblNjaGVkdWxlZFF1ZXJ5LkVycm9yUmVwb3J0Q29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "errorReportConfiguration")
  @notification_configuration = notification_configuration.is_a?(Hash) ? ::AWSCDK::Timestream::CfnScheduledQuery::NotificationConfigurationProperty.new(**notification_configuration.transform_keys(&:to_sym)) : notification_configuration
  Jsii::Type.check_type(@notification_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c190aW1lc3RyZWFtLkNmblNjaGVkdWxlZFF1ZXJ5Lk5vdGlmaWNhdGlvbkNvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "notificationConfiguration")
  @query_string = query_string
  Jsii::Type.check_type(@query_string, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "queryString")
  @schedule_configuration = schedule_configuration.is_a?(Hash) ? ::AWSCDK::Timestream::CfnScheduledQuery::ScheduleConfigurationProperty.new(**schedule_configuration.transform_keys(&:to_sym)) : schedule_configuration
  Jsii::Type.check_type(@schedule_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c190aW1lc3RyZWFtLkNmblNjaGVkdWxlZFF1ZXJ5LlNjaGVkdWxlQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "scheduleConfiguration")
  @scheduled_query_execution_role_arn = scheduled_query_execution_role_arn
  Jsii::Type.check_type(@scheduled_query_execution_role_arn, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoic3RyaW5nIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5pbnRlcmZhY2VzLmF3c19pYW0uSVJvbGVSZWYifV19fQ==")), "scheduledQueryExecutionRoleArn")
  @client_token = client_token
  Jsii::Type.check_type(@client_token, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "clientToken") unless @client_token.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?
  @scheduled_query_name = scheduled_query_name
  Jsii::Type.check_type(@scheduled_query_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "scheduledQueryName") unless @scheduled_query_name.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?
  @target_configuration = target_configuration.is_a?(Hash) ? ::AWSCDK::Timestream::CfnScheduledQuery::TargetConfigurationProperty.new(**target_configuration.transform_keys(&:to_sym)) : target_configuration
  Jsii::Type.check_type(@target_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c190aW1lc3RyZWFtLkNmblNjaGVkdWxlZFF1ZXJ5LlRhcmdldENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "targetConfiguration") unless @target_configuration.nil?
end

Instance Attribute Details

#client_tokenString? (readonly)

Using a ClientToken makes the call to CreateScheduledQuery idempotent, in other words, making the same request repeatedly will produce the same result.

Making multiple identical CreateScheduledQuery requests has the same effect as making a single request.

  • If CreateScheduledQuery is called without a ClientToken , the Query SDK generates a ClientToken on your behalf.
  • After 8 hours, any request with the same ClientToken is treated as a new request.


84
85
86
# File 'timestream/cfn_scheduled_query_props.rb', line 84

def client_token
  @client_token
end

#error_report_configurationAWSCDK::IResolvable, AWSCDK::Timestream::CfnScheduledQuery::ErrorReportConfigurationProperty (readonly)

Configuration for error reporting.

Error reports will be generated when a problem is encountered when writing the query results.



48
49
50
# File 'timestream/cfn_scheduled_query_props.rb', line 48

def error_report_configuration
  @error_report_configuration
end

#kms_key_idString, ... (readonly)

The Amazon KMS key used to encrypt the scheduled query resource, at-rest.

If the Amazon KMS key is not specified, the scheduled query resource will be encrypted with a Timestream owned Amazon KMS key. To specify a KMS key, use the key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix the name with alias/

If ErrorReportConfiguration uses SSE_KMS as encryption type, the same KmsKeyId is used to encrypt the error report at rest.



93
94
95
# File 'timestream/cfn_scheduled_query_props.rb', line 93

def kms_key_id
  @kms_key_id
end

#notification_configurationAWSCDK::IResolvable, AWSCDK::Timestream::CfnScheduledQuery::NotificationConfigurationProperty (readonly)

Notification configuration for the scheduled query.

A notification is sent by Timestream when a query run finishes, when the state is updated or when you delete it.



55
56
57
# File 'timestream/cfn_scheduled_query_props.rb', line 55

def notification_configuration
  @notification_configuration
end

#query_stringString (readonly)

The query string to run.

Parameter names can be specified in the query string @ character followed by an identifier. The named Parameter @scheduled_runtime is reserved and can be used in the query to get the time at which the query is scheduled to run.

The timestamp calculated according to the ScheduleConfiguration parameter, will be the value of @scheduled_runtime paramater for each query run. For example, consider an instance of a scheduled query executing on 2021-12-01 00:00:00. For this instance, the @scheduled_runtime parameter is initialized to the timestamp 2021-12-01 00:00:00 when invoking the query.



64
65
66
# File 'timestream/cfn_scheduled_query_props.rb', line 64

def query_string
  @query_string
end

#scheduled_query_execution_role_arnString, AWSCDK::Interfaces::AWSIAM::IRoleRef (readonly)

The ARN for the IAM role that Timestream will assume when running the scheduled query.



74
75
76
# File 'timestream/cfn_scheduled_query_props.rb', line 74

def scheduled_query_execution_role_arn
  @scheduled_query_execution_role_arn
end

#scheduled_query_nameString? (readonly)

A name for the query.

Scheduled query names must be unique within each Region.



100
101
102
# File 'timestream/cfn_scheduled_query_props.rb', line 100

def scheduled_query_name
  @scheduled_query_name
end

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

A list of key-value pairs to label the scheduled query.



105
106
107
# File 'timestream/cfn_scheduled_query_props.rb', line 105

def tags
  @tags
end

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

Scheduled query target store configuration.



110
111
112
# File 'timestream/cfn_scheduled_query_props.rb', line 110

def target_configuration
  @target_configuration
end

Class Method Details

.jsii_propertiesObject



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

def self.jsii_properties
  {
    :error_report_configuration => "errorReportConfiguration",
    :notification_configuration => "notificationConfiguration",
    :query_string => "queryString",
    :schedule_configuration => "scheduleConfiguration",
    :scheduled_query_execution_role_arn => "scheduledQueryExecutionRoleArn",
    :client_token => "clientToken",
    :kms_key_id => "kmsKeyId",
    :scheduled_query_name => "scheduledQueryName",
    :tags => "tags",
    :target_configuration => "targetConfiguration",
  }
end

Instance Method Details

#to_jsiiObject



127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
# File 'timestream/cfn_scheduled_query_props.rb', line 127

def to_jsii
  result = {}
  result.merge!({
    "errorReportConfiguration" => @error_report_configuration,
    "notificationConfiguration" => @notification_configuration,
    "queryString" => @query_string,
    "scheduleConfiguration" => @schedule_configuration,
    "scheduledQueryExecutionRoleArn" => @scheduled_query_execution_role_arn,
    "clientToken" => @client_token,
    "kmsKeyId" => @kms_key_id,
    "scheduledQueryName" => @scheduled_query_name,
    "tags" => @tags,
    "targetConfiguration" => @target_configuration,
  })
  result.compact
end