Class: AWSCDK::Greengrass::CfnCoreDefinitionVersion::CoreProperty

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
greengrass/cfn_core_definition_version.rb

Overview

A core is an AWS IoT device that runs the AWS IoT Greengrass core software and manages local processes for a Greengrass group.

For more information, see What Is AWS IoT Greengrass ? in the Developer Guide .

In an CloudFormation template, the Cores property of the AWS::Greengrass::CoreDefinitionVersion resource contains a list of Core property types. Currently, the list can contain only one core.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(certificate_arn:, id:, thing_arn:, sync_shadow: nil) ⇒ CoreProperty

Returns a new instance of CoreProperty.

Parameters:

  • certificate_arn (String)

    The ARN of the device certificate for the core.

  • id (String)

    A descriptive or arbitrary ID for the core.

  • thing_arn (String)

    The Amazon Resource Name (ARN) of the core, which is an AWS IoT device (thing).

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

    Indicates whether the core's local shadow is synced with the cloud automatically.



524
525
526
527
528
529
530
531
532
533
# File 'greengrass/cfn_core_definition_version.rb', line 524

def initialize(certificate_arn:, id:, thing_arn:, sync_shadow: nil)
  @certificate_arn = certificate_arn
  Jsii::Type.check_type(@certificate_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "certificateArn")
  @id = id
  Jsii::Type.check_type(@id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id")
  @thing_arn = thing_arn
  Jsii::Type.check_type(@thing_arn, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "thingArn")
  @sync_shadow = sync_shadow
  Jsii::Type.check_type(@sync_shadow, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3sicHJpbWl0aXZlIjoiYm9vbGVhbiJ9LHsiZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifV19fQ==")), "syncShadow") unless @sync_shadow.nil?
end

Instance Attribute Details

#certificate_arnString (readonly)

The ARN of the device certificate for the core.

This X.509 certificate is used to authenticate the core with AWS IoT and AWS IoT Greengrass services.



541
542
543
# File 'greengrass/cfn_core_definition_version.rb', line 541

def certificate_arn
  @certificate_arn
end

#idString (readonly)

A descriptive or arbitrary ID for the core.

This value must be unique within the core definition version. Maximum length is 128 characters with pattern [a-zA-Z0-9:_-]+ .



548
549
550
# File 'greengrass/cfn_core_definition_version.rb', line 548

def id
  @id
end

#sync_shadowBoolean, ... (readonly)

Indicates whether the core's local shadow is synced with the cloud automatically.

The default is false.



560
561
562
# File 'greengrass/cfn_core_definition_version.rb', line 560

def sync_shadow
  @sync_shadow
end

#thing_arnString (readonly)

The Amazon Resource Name (ARN) of the core, which is an AWS IoT device (thing).



553
554
555
# File 'greengrass/cfn_core_definition_version.rb', line 553

def thing_arn
  @thing_arn
end

Class Method Details

.jsii_propertiesObject



562
563
564
565
566
567
568
569
# File 'greengrass/cfn_core_definition_version.rb', line 562

def self.jsii_properties
  {
    :certificate_arn => "certificateArn",
    :id => "id",
    :thing_arn => "thingArn",
    :sync_shadow => "syncShadow",
  }
end

Instance Method Details

#to_jsiiObject



571
572
573
574
575
576
577
578
579
580
# File 'greengrass/cfn_core_definition_version.rb', line 571

def to_jsii
  result = {}
  result.merge!({
    "certificateArn" => @certificate_arn,
    "id" => @id,
    "thingArn" => @thing_arn,
    "syncShadow" => @sync_shadow,
  })
  result.compact
end