package awsgreengrass // 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 "github.com/aws/aws-cdk-go/awscdk" // // var tags interface{} // // cfnResourceDefinitionProps := &CfnResourceDefinitionProps{ // Name: jsii.String("name"), // // // the properties below are optional // InitialVersion: &ResourceDefinitionVersionProperty{ // Resources: []interface{}{ // &ResourceInstanceProperty{ // Id: jsii.String("id"), // Name: jsii.String("name"), // ResourceDataContainer: &ResourceDataContainerProperty{ // LocalDeviceResourceData: &LocalDeviceResourceDataProperty{ // SourcePath: jsii.String("sourcePath"), // // // the properties below are optional // GroupOwnerSetting: &GroupOwnerSettingProperty{ // AutoAddGroupOwner: jsii.Boolean(false), // // // the properties below are optional // GroupOwner: jsii.String("groupOwner"), // }, // }, // LocalVolumeResourceData: &LocalVolumeResourceDataProperty{ // DestinationPath: jsii.String("destinationPath"), // SourcePath: jsii.String("sourcePath"), // // // the properties below are optional // GroupOwnerSetting: &GroupOwnerSettingProperty{ // AutoAddGroupOwner: jsii.Boolean(false), // // // the properties below are optional // GroupOwner: jsii.String("groupOwner"), // }, // }, // S3MachineLearningModelResourceData: &S3MachineLearningModelResourceDataProperty{ // DestinationPath: jsii.String("destinationPath"), // S3Uri: jsii.String("s3Uri"), // // // the properties below are optional // OwnerSetting: &ResourceDownloadOwnerSettingProperty{ // GroupOwner: jsii.String("groupOwner"), // GroupPermission: jsii.String("groupPermission"), // }, // }, // SageMakerMachineLearningModelResourceData: &SageMakerMachineLearningModelResourceDataProperty{ // DestinationPath: jsii.String("destinationPath"), // SageMakerJobArn: jsii.String("sageMakerJobArn"), // // // the properties below are optional // OwnerSetting: &ResourceDownloadOwnerSettingProperty{ // GroupOwner: jsii.String("groupOwner"), // GroupPermission: jsii.String("groupPermission"), // }, // }, // SecretsManagerSecretResourceData: &SecretsManagerSecretResourceDataProperty{ // Arn: jsii.String("arn"), // // // the properties below are optional // AdditionalStagingLabelsToDownload: []*string{ // jsii.String("additionalStagingLabelsToDownload"), // }, // }, // }, // }, // }, // }, // Tags: tags, // } // // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html // type CfnResourceDefinitionProps struct { // The name of the resource definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-name // Name *string `field:"required" json:"name" yaml:"name"` // The resource definition version to include when the resource definition is created. // // A resource definition version contains a list of [`resource instance`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-greengrass-resourcedefinition-resourceinstance.html) property types. // // > To associate a resource definition version after the resource definition is created, create an [`AWS::Greengrass::ResourceDefinitionVersion`](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinitionversion.html) resource and specify the ID of this resource definition. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-initialversion // InitialVersion interface{} `field:"optional" json:"initialVersion" yaml:"initialVersion"` // 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](https://docs.aws.amazon.com/greengrass/latest/developerguide/tagging.html) 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. // // ```json // "Tags": { "KeyName0": "value", "KeyName1": "value", "KeyName2": "value" // } // ```. // See: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-greengrass-resourcedefinition.html#cfn-greengrass-resourcedefinition-tags // Tags interface{} `field:"optional" json:"tags" yaml:"tags"` }