Class: AWSCDK::IoT::CfnSoftwarePackageVersionProps

Inherits:
Jsii::Struct
  • Object
show all
Defined in:
io_t/cfn_software_package_version_props.rb

Overview

Properties for defining a CfnSoftwarePackageVersion.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(package_name:, artifact: nil, attributes: nil, description: nil, recipe: nil, sbom: nil, tags: nil, version_name: nil) ⇒ CfnSoftwarePackageVersionProps

Returns a new instance of CfnSoftwarePackageVersionProps.

Parameters:

  • package_name (String)

    The name of the associated software package.

  • artifact (AWSCDK::IResolvable, AWSCDK::IoT::CfnSoftwarePackageVersion::PackageVersionArtifactProperty, nil) (defaults to: nil)

    The artifact location of the package version.

  • attributes (AWSCDK::IResolvable, Hash{String => String}, nil) (defaults to: nil)

    Metadata that can be used to define a package version’s configuration.

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

    A summary of the package version being created.

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

    The inline json job document associated with a software package version.

  • sbom (AWSCDK::IResolvable, AWSCDK::IoT::CfnSoftwarePackageVersion::SbomProperty, nil) (defaults to: nil)

    The sbom zip archive location of the package version.

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

    Metadata that can be used to manage the package version.

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

    The name of the new package version.



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'io_t/cfn_software_package_version_props.rb', line 17

def initialize(package_name:, artifact: nil, attributes: nil, description: nil, recipe: nil, sbom: nil, tags: nil, version_name: nil)
  @package_name = package_name
  Jsii::Type.check_type(@package_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "packageName")
  @artifact = artifact.is_a?(Hash) ? ::AWSCDK::IoT::CfnSoftwarePackageVersion::PackageVersionArtifactProperty.new(**artifact.transform_keys(&:to_sym)) : artifact
  Jsii::Type.check_type(@artifact, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pb3QuQ2ZuU29mdHdhcmVQYWNrYWdlVmVyc2lvbi5QYWNrYWdlVmVyc2lvbkFydGlmYWN0UHJvcGVydHkifV19fQ==")), "artifact") unless @artifact.nil?
  @attributes = attributes
  Jsii::Type.check_type(@attributes, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "attributes") unless @attributes.nil?
  @description = description
  Jsii::Type.check_type(@description, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "description") unless @description.nil?
  @recipe = recipe
  Jsii::Type.check_type(@recipe, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "recipe") unless @recipe.nil?
  @sbom = sbom.is_a?(Hash) ? ::AWSCDK::IoT::CfnSoftwarePackageVersion::SbomProperty.new(**sbom.transform_keys(&:to_sym)) : sbom
  Jsii::Type.check_type(@sbom, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImZxbiI6ImF3cy1jZGstbGliLmF3c19pb3QuQ2ZuU29mdHdhcmVQYWNrYWdlVmVyc2lvbi5TYm9tUHJvcGVydHkifV19fQ==")), "sbom") unless @sbom.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?
  @version_name = version_name
  Jsii::Type.check_type(@version_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "versionName") unless @version_name.nil?
end

Instance Attribute Details

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

The artifact location of the package version.



45
46
47
# File 'io_t/cfn_software_package_version_props.rb', line 45

def artifact
  @artifact
end

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

Metadata that can be used to define a package version’s configuration.

For example, the S3 file location, configuration options that are being sent to the device or fleet.

The combined size of all the attributes on a package version is limited to 3KB.



54
55
56
# File 'io_t/cfn_software_package_version_props.rb', line 54

def attributes
  @attributes
end

#descriptionString? (readonly)

A summary of the package version being created.

This can be used to outline the package's contents or purpose.



61
62
63
# File 'io_t/cfn_software_package_version_props.rb', line 61

def description
  @description
end

#package_nameString (readonly)

The name of the associated software package.



40
41
42
# File 'io_t/cfn_software_package_version_props.rb', line 40

def package_name
  @package_name
end

#recipeString? (readonly)

The inline json job document associated with a software package version.



66
67
68
# File 'io_t/cfn_software_package_version_props.rb', line 66

def recipe
  @recipe
end

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

The sbom zip archive location of the package version.



71
72
73
# File 'io_t/cfn_software_package_version_props.rb', line 71

def sbom
  @sbom
end

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

Metadata that can be used to manage the package version.



76
77
78
# File 'io_t/cfn_software_package_version_props.rb', line 76

def tags
  @tags
end

#version_nameString? (readonly)

The name of the new package version.



81
82
83
# File 'io_t/cfn_software_package_version_props.rb', line 81

def version_name
  @version_name
end

Class Method Details

.jsii_propertiesObject



83
84
85
86
87
88
89
90
91
92
93
94
# File 'io_t/cfn_software_package_version_props.rb', line 83

def self.jsii_properties
  {
    :package_name => "packageName",
    :artifact => "artifact",
    :attributes => "attributes",
    :description => "description",
    :recipe => "recipe",
    :sbom => "sbom",
    :tags => "tags",
    :version_name => "versionName",
  }
end

Instance Method Details

#to_jsiiObject



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

def to_jsii
  result = {}
  result.merge!({
    "packageName" => @package_name,
    "artifact" => @artifact,
    "attributes" => @attributes,
    "description" => @description,
    "recipe" => @recipe,
    "sbom" => @sbom,
    "tags" => @tags,
    "versionName" => @version_name,
  })
  result.compact
end