Module: AWSCDK::DynamoDB::IScalableTableAttribute

Includes:
Interfaces::AWSApplicationautoscaling::IScalableTargetRef
Defined in:
dynamo_db/i_scalable_table_attribute.rb

Overview

Interface for scalable attributes.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.jsii_overridable_methodsObject



73
74
75
76
77
78
79
80
81
82
# File 'dynamo_db/i_scalable_table_attribute.rb', line 73

def self.jsii_overridable_methods
  {
    :node => { kind: :property, name: "node", is_optional: false },
    :env => { kind: :property, name: "env", is_optional: false },
    :scalable_target_ref => { kind: :property, name: "scalableTargetRef", is_optional: false },
    :with => { kind: :method, name: "with", is_optional: false },
    :scale_on_schedule => { kind: :method, name: "scaleOnSchedule", is_optional: false },
    :scale_on_utilization => { kind: :method, name: "scaleOnUtilization", is_optional: false },
  }
end

Instance Method Details

#envAWSCDK::Interfaces::ResourceEnvironment

The environment this resource belongs to.

For resources that are created and managed in a Stack (those created by creating new class instances like new Role(), new Bucket(), etc.), this is always the same as the environment of the stack they belong to.

For referenced resources (those obtained from referencing methods like Role.fromRoleArn(), Bucket.fromBucketName(), etc.), they might be different than the stack they were imported into.



26
27
28
# File 'dynamo_db/i_scalable_table_attribute.rb', line 26

def env()
  jsii_get_property("env")
end

#nodeConstructs::Node

The tree node.

Returns:

  • (Constructs::Node)


11
12
13
# File 'dynamo_db/i_scalable_table_attribute.rb', line 11

def node()
  jsii_get_property("node")
end

#scalable_target_refAWSCDK::Interfaces::AWSApplicationautoscaling::ScalableTargetReference

A reference to a ScalableTarget resource.



33
34
35
# File 'dynamo_db/i_scalable_table_attribute.rb', line 33

def scalable_target_ref()
  jsii_get_property("scalableTargetRef")
end

#scale_on_schedule(id, actions) ⇒ void

This method returns an undefined value.

Add scheduled scaling for this scaling attribute.

Parameters:



56
57
58
59
60
61
# File 'dynamo_db/i_scalable_table_attribute.rb', line 56

def scale_on_schedule(id, actions)
  Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  actions = actions.is_a?(Hash) ? ::AWSCDK::ApplicationAutoScaling::ScalingSchedule.new(**actions.transform_keys(&:to_sym)) : actions
  Jsii::Type.check_type(actions, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfYXBwbGljYXRpb25hdXRvc2NhbGluZy5TY2FsaW5nU2NoZWR1bGUifQ==")), "actions")
  jsii_call_method("scaleOnSchedule", [id, actions])
end

#scale_on_utilization(props) ⇒ void

This method returns an undefined value.

Scale out or in to keep utilization at a given level.



67
68
69
70
71
# File 'dynamo_db/i_scalable_table_attribute.rb', line 67

def scale_on_utilization(props)
  props = props.is_a?(Hash) ? ::AWSCDK::DynamoDB::UtilizationScalingProps.new(**props.transform_keys(&:to_sym)) : props
  Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZHluYW1vZGIuVXRpbGl6YXRpb25TY2FsaW5nUHJvcHMifQ==")), "props")
  jsii_call_method("scaleOnUtilization", [props])
end

#with(*mixins) ⇒ Constructs::IConstruct

Applies one or more mixins to this construct.

Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited.

Parameters:

  • mixins (Array<Constructs::IMixin>)

    The mixins to apply.

Returns:

  • (Constructs::IConstruct)

    This construct for chaining



44
45
46
47
48
49
# File 'dynamo_db/i_scalable_table_attribute.rb', line 44

def with(*mixins)
  mixins.each_with_index do |item, index|
    Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLklNaXhpbiJ9")), "mixins[#{index}]")
  end
  jsii_call_method("with", [*mixins])
end