Class: AWSCDK::Greengrassv2::CfnDeploymentProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
greengrassv2/cfn_deployment_props.rb

Overview

Properties for defining a CfnDeployment.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(target_arn:, components: nil, deployment_name: nil, deployment_policies: nil, iot_job_configuration: nil, parent_target_arn: nil, tags: nil) ⇒ CfnDeploymentProps

Returns a new instance of CfnDeploymentProps.

Parameters:



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

def initialize(target_arn:, components: nil, deployment_name: nil, deployment_policies: nil, iot_job_configuration: nil, parent_target_arn: nil, tags: nil)
  @target_arn = target_arn
  Jsii::Type.check_type(@target_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "targetArn")
  @components = components
  Jsii::Type.check_type(@components, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsidW5pb24iOnsidHlwZXMiOlt7ImZxbiI6ImF3cy1jZGstbGliLklSZXNvbHZhYmxlIn0seyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfZ3JlZW5ncmFzc3YyLkNmbkRlcGxveW1lbnQuQ29tcG9uZW50RGVwbG95bWVudFNwZWNpZmljYXRpb25Qcm9wZXJ0eSJ9XX19LCJraW5kIjoibWFwIn19XX19")), "components") unless @components.nil?
  @deployment_name = deployment_name
  Jsii::Type.check_type(@deployment_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "deploymentName") unless @deployment_name.nil?
  @deployment_policies = deployment_policies.is_a?(Hash) ? ::AWSCDK::Greengrassv2::CfnDeployment::DeploymentPoliciesProperty.new(**deployment_policies.transform_keys(&:to_sym)) : deployment_policies
  Jsii::Type.check_type(@deployment_policies, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ncmVlbmdyYXNzdjIuQ2ZuRGVwbG95bWVudC5EZXBsb3ltZW50UG9saWNpZXNQcm9wZXJ0eSJ9XX19")), "deploymentPolicies") unless @deployment_policies.nil?
  @iot_job_configuration = iot_job_configuration.is_a?(Hash) ? ::AWSCDK::Greengrassv2::CfnDeployment::DeploymentIoTJobConfigurationProperty.new(**iot_job_configuration.transform_keys(&:to_sym)) : iot_job_configuration
  Jsii::Type.check_type(@iot_job_configuration, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19ncmVlbmdyYXNzdjIuQ2ZuRGVwbG95bWVudC5EZXBsb3ltZW50SW9USm9iQ29uZmlndXJhdGlvblByb3BlcnR5In1dfX0=")), "iotJobConfiguration") unless @iot_job_configuration.nil?
  @parent_target_arn = parent_target_arn
  Jsii::Type.check_type(@parent_target_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "parentTargetArn") unless @parent_target_arn.nil?
  @tags = tags
  Jsii::Type.check_type(@tags, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoibWFwIn19")), "tags") unless @tags.nil?
end

Instance Attribute Details

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

The components to deploy.

This is a dictionary, where each key is the name of a component, and each key's value is the version and configuration to deploy for that component.



44
45
46
# File 'greengrassv2/cfn_deployment_props.rb', line 44

def components
  @components
end

#deployment_nameString? (readonly)

The name of the deployment.



49
50
51
# File 'greengrassv2/cfn_deployment_props.rb', line 49

def deployment_name
  @deployment_name
end

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

The deployment policies for the deployment.

These policies define how the deployment updates components and handles failure.



56
57
58
# File 'greengrassv2/cfn_deployment_props.rb', line 56

def deployment_policies
  @deployment_policies
end

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

The job configuration for the deployment configuration.

The job configuration specifies the rollout, timeout, and stop configurations for the deployment configuration.



63
64
65
# File 'greengrassv2/cfn_deployment_props.rb', line 63

def iot_job_configuration
  @iot_job_configuration
end

#parent_target_arnString? (readonly)

The parent deployment's ARN for a subdeployment.



68
69
70
# File 'greengrassv2/cfn_deployment_props.rb', line 68

def parent_target_arn
  @parent_target_arn
end

#tagsHash{String => String}? (readonly)

Application-specific metadata to attach to the deployment.

You can use tags in IAM policies to control access to AWS IoT Greengrass resources. You can also use tags to categorize your resources. For more information, see Tag your AWS IoT Greengrass Version 2 resources in the AWS IoT Greengrass V2 Developer Guide .

This Json property type is processed as a map of key-value pairs. It uses the following format, which is different from most Tags implementations in CloudFormation templates.

"Tags": { "KeyName0": "value", "KeyName1": "value", "KeyName2": "value"
}


82
83
84
# File 'greengrassv2/cfn_deployment_props.rb', line 82

def tags
  @tags
end

#target_arnString (readonly)

The ARN of the target AWS IoT thing or thing group.



37
38
39
# File 'greengrassv2/cfn_deployment_props.rb', line 37

def target_arn
  @target_arn
end

Class Method Details

.jsii_propertiesObject



84
85
86
87
88
89
90
91
92
93
94
# File 'greengrassv2/cfn_deployment_props.rb', line 84

def self.jsii_properties
  {
    :target_arn => "targetArn",
    :components => "components",
    :deployment_name => "deploymentName",
    :deployment_policies => "deploymentPolicies",
    :iot_job_configuration => "iotJobConfiguration",
    :parent_target_arn => "parentTargetArn",
    :tags => "tags",
  }
end

Instance Method Details

#to_jsiiObject



96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'greengrassv2/cfn_deployment_props.rb', line 96

def to_jsii
  result = {}
  result.merge!({
    "targetArn" => @target_arn,
    "components" => @components,
    "deploymentName" => @deployment_name,
    "deploymentPolicies" => @deployment_policies,
    "iotJobConfiguration" => @iot_job_configuration,
    "parentTargetArn" => @parent_target_arn,
    "tags" => @tags,
  })
  result.compact
end