Class: AWSCDK::Athena::CfnWorkGroupProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
athena/cfn_work_group_props.rb

Overview

Properties for defining a CfnWorkGroup.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name:, description: nil, recursive_delete_option: nil, state: nil, tags: nil, work_group_configuration: nil, work_group_configuration_updates: nil) ⇒ CfnWorkGroupProps

Returns a new instance of CfnWorkGroupProps.

Parameters:

  • name (String)

    The workgroup name.

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

    The workgroup description.

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

    The option to delete a workgroup and its contents even if the workgroup contains any named queries.

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

    The state of the workgroup: ENABLED or DISABLED.

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

    The tags (key-value pairs) to associate with this resource.

  • work_group_configuration (AWSCDK::IResolvable, AWSCDK::Athena::CfnWorkGroup::WorkGroupConfigurationProperty, nil) (defaults to: nil)

    The configuration of the workgroup, which includes the location in Amazon S3 where query results are stored, the encryption option, if any, used for query results, whether Amazon CloudWatch Metrics are enabled for the workgroup, and the limit for the amount of bytes scanned (cutoff) per query, if it is specified.

  • work_group_configuration_updates (AWSCDK::IResolvable, AWSCDK::Athena::CfnWorkGroup::WorkGroupConfigurationUpdatesProperty, nil) (defaults to: nil)

    The configuration information that will be updated for this workgroup, which includes the location in Amazon S3 where query results are stored, the encryption option, if any, used for query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup, whether the workgroup settings override the client-side settings, and the data usage limit for the amount of bytes scanned per query, if it is specified.



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'athena/cfn_work_group_props.rb', line 16

def initialize(name:, description: nil, recursive_delete_option: nil, state: nil, tags: nil, work_group_configuration: nil, work_group_configuration_updates: nil)
  @name = name
  Jsii::Type.check_type(@name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "name")
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @recursive_delete_option = recursive_delete_option
  Jsii::Type.check_type(@recursive_delete_option, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "recursiveDeleteOption") unless @recursive_delete_option.nil?
  @state = state
  Jsii::Type.check_type(@state, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "state") unless @state.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?
  @work_group_configuration = work_group_configuration.is_a?(Hash) ? ::AWSCDK::Athena::CfnWorkGroup::WorkGroupConfigurationProperty.new(**work_group_configuration.transform_keys(&:to_sym)) : work_group_configuration
  Jsii::Type.check_type(@work_group_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hdGhlbmEuQ2ZuV29ya0dyb3VwLldvcmtHcm91cENvbmZpZ3VyYXRpb25Qcm9wZXJ0eSJ9XX19")), "workGroupConfiguration") unless @work_group_configuration.nil?
  @work_group_configuration_updates = work_group_configuration_updates.is_a?(Hash) ? ::AWSCDK::Athena::CfnWorkGroup::WorkGroupConfigurationUpdatesProperty.new(**work_group_configuration_updates.transform_keys(&:to_sym)) : work_group_configuration_updates
  Jsii::Type.check_type(@work_group_configuration_updates, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19hdGhlbmEuQ2ZuV29ya0dyb3VwLldvcmtHcm91cENvbmZpZ3VyYXRpb25VcGRhdGVzUHJvcGVydHkifV19fQ==")), "workGroupConfigurationUpdates") unless @work_group_configuration_updates.nil?
end

Instance Attribute Details

#descriptionString? (readonly)

The workgroup description.



42
43
44
# File 'athena/cfn_work_group_props.rb', line 42

def description
  @description
end

#nameString (readonly)

The workgroup name.



37
38
39
# File 'athena/cfn_work_group_props.rb', line 37

def name
  @name
end

#recursive_delete_optionBoolean, ... (readonly)

The option to delete a workgroup and its contents even if the workgroup contains any named queries.

The default is false.



49
50
51
# File 'athena/cfn_work_group_props.rb', line 49

def recursive_delete_option
  @recursive_delete_option
end

#stateString? (readonly)

The state of the workgroup: ENABLED or DISABLED.



54
55
56
# File 'athena/cfn_work_group_props.rb', line 54

def state
  @state
end

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

The tags (key-value pairs) to associate with this resource.



59
60
61
# File 'athena/cfn_work_group_props.rb', line 59

def tags
  @tags
end

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

The configuration of the workgroup, which includes the location in Amazon S3 where query results are stored, the encryption option, if any, used for query results, whether Amazon CloudWatch Metrics are enabled for the workgroup, and the limit for the amount of bytes scanned (cutoff) per query, if it is specified.

The EnforceWorkGroupConfiguration option determines whether workgroup settings override client-side query settings.



66
67
68
# File 'athena/cfn_work_group_props.rb', line 66

def work_group_configuration
  @work_group_configuration
end

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

Deprecated.

this property has been deprecated

The configuration information that will be updated for this workgroup, which includes the location in Amazon S3 where query results are stored, the encryption option, if any, used for query results, whether the Amazon CloudWatch Metrics are enabled for the workgroup, whether the workgroup settings override the client-side settings, and the data usage limit for the amount of bytes scanned per query, if it is specified.



72
73
74
# File 'athena/cfn_work_group_props.rb', line 72

def work_group_configuration_updates
  @work_group_configuration_updates
end

Class Method Details

.jsii_propertiesObject



74
75
76
77
78
79
80
81
82
83
84
# File 'athena/cfn_work_group_props.rb', line 74

def self.jsii_properties
  {
    :name => "name",
    :description => "description",
    :recursive_delete_option => "recursiveDeleteOption",
    :state => "state",
    :tags => "tags",
    :work_group_configuration => "workGroupConfiguration",
    :work_group_configuration_updates => "workGroupConfigurationUpdates",
  }
end

Instance Method Details

#to_jsiiObject



86
87
88
89
90
91
92
93
94
95
96
97
98
# File 'athena/cfn_work_group_props.rb', line 86

def to_jsii
  result = {}
  result.merge!({
    "name" => @name,
    "description" => @description,
    "recursiveDeleteOption" => @recursive_delete_option,
    "state" => @state,
    "tags" => @tags,
    "workGroupConfiguration" => @work_group_configuration,
    "workGroupConfigurationUpdates" => @work_group_configuration_updates,
  })
  result.compact
end