Class: AWSCDK::DevOpsGuru::CfnResourceCollection::TagCollectionProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
dev_ops_guru/cfn_resource_collection.rb

Overview

A collection of AWS tags.

Tags help you identify and organize your AWS resources. Many AWS services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an AWS Lambda function. For more information about using tags, see the Tagging best practices whitepaper.

Each AWS tag has two parts.

  • A tag key (for example, CostCenter , Environment , Project , or Secret ). Tag keys are case-sensitive.
  • A field known as a tag value (for example, 111122223333 , Production , or a team name). Omitting the tag value is the same as using an empty string. Like tag keys , tag values are case-sensitive. The tag value is a required property when AppBoundaryKey is specified.

Together these are known as key - value pairs.

The string used for a key in a tag that you use to define your resource coverage must begin with the prefix Devops-guru- . The tag key might be DevOps-Guru-deployment-application or devops-guru-rds-application . When you create a key , the case of characters in the key can be whatever you choose. After you create a key , it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS , and these act as two different keys . Possible key / value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers .

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app_boundary_key: nil, tag_values: nil) ⇒ TagCollectionProperty

Returns a new instance of TagCollectionProperty.

Parameters:

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

    An AWS tag key that is used to identify the AWS resources that DevOps Guru analyzes.

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

    The values in an AWS tag collection.



608
609
610
611
612
613
# File 'dev_ops_guru/cfn_resource_collection.rb', line 608

def initialize(app_boundary_key: nil, tag_values: nil)
  @app_boundary_key = app_boundary_key
  Jsii::Type.check_type(@app_boundary_key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "appBoundaryKey") unless @app_boundary_key.nil?
  @tag_values = tag_values
  Jsii::Type.check_type(@tag_values, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tagValues") unless @tag_values.nil?
end

Instance Attribute Details

#app_boundary_keyString? (readonly)

An AWS tag key that is used to identify the AWS resources that DevOps Guru analyzes.

All AWS resources in your account and Region tagged with this key make up your DevOps Guru application and analysis boundary.

When you create a key , the case of characters in the key can be whatever you choose. After you create a key , it is case-sensitive. For example, DevOps Guru works with a key named devops-guru-rds and a key named DevOps-Guru-RDS , and these act as two different keys . Possible key / value pairs in your application might be Devops-Guru-production-application/RDS or Devops-Guru-production-application/containers .



623
624
625
# File 'dev_ops_guru/cfn_resource_collection.rb', line 623

def app_boundary_key
  @app_boundary_key
end

#tag_valuesArray<String>? (readonly)

The values in an AWS tag collection.

The tag's value is a field used to associate a string with the tag key (for example, 111122223333 , Production , or a team name). The key and value are the tag's key pair. Omitting the tag value is the same as using an empty string. Like tag keys , tag values are case-sensitive. You can specify a maximum of 256 characters for a tag value. The tag value is a required property when AppBoundaryKey is specified.



630
631
632
# File 'dev_ops_guru/cfn_resource_collection.rb', line 630

def tag_values
  @tag_values
end

Class Method Details

.jsii_propertiesObject



632
633
634
635
636
637
# File 'dev_ops_guru/cfn_resource_collection.rb', line 632

def self.jsii_properties
  {
    :app_boundary_key => "appBoundaryKey",
    :tag_values => "tagValues",
  }
end

Instance Method Details

#to_jsiiObject



639
640
641
642
643
644
645
646
# File 'dev_ops_guru/cfn_resource_collection.rb', line 639

def to_jsii
  result = {}
  result.merge!({
    "appBoundaryKey" => @app_boundary_key,
    "tagValues" => @tag_values,
  })
  result.compact
end