Interface CfnResourceDefinitionProps

All Superinterfaces:
software.amazon.jsii.JsiiSerializable
All Known Implementing Classes:
CfnResourceDefinitionProps.Jsii$Proxy

@Generated(value="jsii-pacmak/1.84.0 (build 5404dcf)", date="2023-06-19T16:29:57.048Z") @Stability(Stable) public interface CfnResourceDefinitionProps extends software.amazon.jsii.JsiiSerializable
Properties for defining a CfnResourceDefinition.

Example:

 // The code below shows an example of how to instantiate this type.
 // The values are placeholders you should change.
 import software.amazon.awscdk.services.greengrass.*;
 Object tags;
 CfnResourceDefinitionProps cfnResourceDefinitionProps = CfnResourceDefinitionProps.builder()
         .name("name")
         // the properties below are optional
         .initialVersion(ResourceDefinitionVersionProperty.builder()
                 .resources(List.of(ResourceInstanceProperty.builder()
                         .id("id")
                         .name("name")
                         .resourceDataContainer(ResourceDataContainerProperty.builder()
                                 .localDeviceResourceData(LocalDeviceResourceDataProperty.builder()
                                         .sourcePath("sourcePath")
                                         // the properties below are optional
                                         .groupOwnerSetting(GroupOwnerSettingProperty.builder()
                                                 .autoAddGroupOwner(false)
                                                 // the properties below are optional
                                                 .groupOwner("groupOwner")
                                                 .build())
                                         .build())
                                 .localVolumeResourceData(LocalVolumeResourceDataProperty.builder()
                                         .destinationPath("destinationPath")
                                         .sourcePath("sourcePath")
                                         // the properties below are optional
                                         .groupOwnerSetting(GroupOwnerSettingProperty.builder()
                                                 .autoAddGroupOwner(false)
                                                 // the properties below are optional
                                                 .groupOwner("groupOwner")
                                                 .build())
                                         .build())
                                 .s3MachineLearningModelResourceData(S3MachineLearningModelResourceDataProperty.builder()
                                         .destinationPath("destinationPath")
                                         .s3Uri("s3Uri")
                                         // the properties below are optional
                                         .ownerSetting(ResourceDownloadOwnerSettingProperty.builder()
                                                 .groupOwner("groupOwner")
                                                 .groupPermission("groupPermission")
                                                 .build())
                                         .build())
                                 .sageMakerMachineLearningModelResourceData(SageMakerMachineLearningModelResourceDataProperty.builder()
                                         .destinationPath("destinationPath")
                                         .sageMakerJobArn("sageMakerJobArn")
                                         // the properties below are optional
                                         .ownerSetting(ResourceDownloadOwnerSettingProperty.builder()
                                                 .groupOwner("groupOwner")
                                                 .groupPermission("groupPermission")
                                                 .build())
                                         .build())
                                 .secretsManagerSecretResourceData(SecretsManagerSecretResourceDataProperty.builder()
                                         .arn("arn")
                                         // the properties below are optional
                                         .additionalStagingLabelsToDownload(List.of("additionalStagingLabelsToDownload"))
                                         .build())
                                 .build())
                         .build()))
                 .build())
         .tags(tags)
         .build();
 
  • Method Details

    • getName

      @Stability(Stable) @NotNull String getName()
      The name of the resource definition.
    • getInitialVersion

      @Stability(Stable) @Nullable default Object getInitialVersion()
      The resource definition version to include when the resource definition is created.

      A resource definition version contains a list of resource instance property types.

      To associate a resource definition version after the resource definition is created, create an AWS::Greengrass::ResourceDefinitionVersion resource and specify the ID of this resource definition.

    • getTags

      @Stability(Stable) @Nullable default Object getTags()
      Application-specific metadata to attach to the resource definition.

      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 Tagging Your AWS IoT Greengrass Resources in the 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 AWS CloudFormation templates.

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

      @Stability(Stable) static CfnResourceDefinitionProps.Builder builder()
      Returns:
      a CfnResourceDefinitionProps.Builder of CfnResourceDefinitionProps