Menu
AWS Greengrass
API Reference

CreateResourceDefinitionVersion

Creates a version of a resource definition that has already been defined.

URI: POST /greengrass/definition/resources/ResourceDefinitionId/versions

Produces: application/json

CLI:

Copy
aws greengrass create-resource-definition-version \ --resource-definition-id <value> \ [--resources <value>] \ [--amzn-client-token <value>] \ [--cli-input-json <value>] \ [--generate-cli-skeleton]

cli-input-json format:

Copy
{ "ResourceDefinitionId": "string", "Resources": [ { "Id": "string", "Name": "string", "ResourceDataContainer": { "*-- NOTE:": "choose one of the following --*", "LocalDeviceResourceData": { "SourcePath": "string", "GroupOwnerSetting": { "AutoAddGroupOwner": "boolean", "GroupOwner": "string" } }, "LocalVolumeResourceData": { "SourcePath": "string", "DestinationPath": "string", "GroupOwnerSetting": { "AutoAddGroupOwner": "boolean", "GroupOwner": "string" } }, "SageMakerMachineLearningModelResourceData": { "SageMakerJobArn": "string", "DestinationPath": "string" }, "S3MachineLearningModelResourceData": { "S3Uri": "string", "DestinationPath": "string" } } } ], "AmznClientToken": "string" }

Parameters:

ResourceDefinitionId

The ID of the resource definition.

where used: path; required: true

type: string

CreateResourceDefinitionVersionRequestBody

Information about the resource definition version.

where used: body; required: true

Copy
{ "Resources": [ { "Id": "string", "Name": "string", "ResourceDataContainer": { "*-- NOTE:": "choose one of the following --*", "LocalDeviceResourceData": { "SourcePath": "string", "GroupOwnerSetting": { "AutoAddGroupOwner": true, "GroupOwner": "string" } }, "LocalVolumeResourceData": { "SourcePath": "string", "DestinationPath": "string", "GroupOwnerSetting": { "AutoAddGroupOwner": true, "GroupOwner": "string" } }, "SageMakerMachineLearningModelResourceData": { "SageMakerJobArn": "string", "DestinationPath": "string" }, "S3MachineLearningModelResourceData": { "S3Uri": "string", "DestinationPath": "string" } } } ] }

schema:

ResourceDefinitionVersion

Information about a resource definition version.

type: object

Resources

A list of resources.

type: array

items: Resource

Resource

Information about a resource.

type: object

required: ["Id", "ResourceDataContainer"]

Id

The resource ID, used to refer to a resource in the Lambda function configuration. Max length is 128 characters with pattern [a‑zA‑Z0‑9:_‑]+.

type: string

Name

A descriptive resource name which will be displayed on the AWS Greengrass console. Max length 128 characters with pattern [a‑zA‑Z0‑9:_‑]+.

type: string

ResourceDataContainer

Should contain one of LocalDeviceResourceData, LocalVolumeResourceData, SageMakerMachineLearningModelResourceData or S3MachineLearningModelResourceData.

type: object

NOTE: oneOf

LocalDeviceResourceData

Attributes that define a local device resource.

type: object

SourcePath

The local source path of the resource.

type: string

GroupOwnerSetting

Group owner related settings for local resources.

type: object

AutoAddGroupOwner

If true, AWS Greengrass automatically adds the specified Linux OS group owner of the resource to the Lambda process privileges. Thus the Lambda process will have the file access permissions of the added Linux group.

type: boolean

GroupOwner

Specifies the name of the Linux OS group whose privileges will be added to the Lambda process. This field is optional.

type: string

LocalVolumeResourceData

Attributes that define a Local Volume Resource.

type: object

SourcePath

The local absolute path of the volume resource on the host. The source path for a volume resource type cannot start with /proc or /sys</code.

type: string

DestinationPath

The absolute path of the volume resource inside the Lambda environment.

type: string

GroupOwnerSetting

Group owner related settings for local resources.

type: object

AutoAddGroupOwner

If true, AWS Greengrass automatically adds the specified Linux OS group owner of the resource to the Lambda process privileges. Thus the Lambda process will have the file access permissions of the added Linux group.

type: boolean

GroupOwner

Specifies the name of the Linux OS group whose privileges will be added to the Lambda process. This field is optional.

type: string

SageMakerMachineLearningModelResourceData

Attributes that define the AWS SageMaker Machine Learning Model Resource.

type: object

SageMakerJobArn

The ARN of an AWS SageMaker training job.

type: string

DestinationPath

Local destination path of the AWS SageMaker Machine Learning resource.

type: string

S3MachineLearningModelResourceData

Attributes that define the S3 Machine Learning Model Resource.

type: object

S3Uri

The URI of an S3 object.

type: string

DestinationPath

Local destination path of the S3 Machine Learning resource.

type: string

X-Amzn-Client-Token

A client token used to correlate requests and responses.

where used: header; required: false

type: string

Responses:

200 (CreateResourceDefinitionVersionResponse)

VersionInformation

Copy
{ "Arn": "string", "Id": "string", "Version": "string", "CreationTimestamp": "string" }
VersionInformation

Information about a version.

type: object

Arn

The ARN of the version.

type: string

Id

The ID of the version.

type: string

Version

The unique ID of the version.

type: string

CreationTimestamp

The time, in milliseconds since the epoch, when the version was created.

type: string

400

invalid request

GeneralError

Copy
{ "Message": "string", "ErrorDetails": [ { "DetailedErrorCode": "string", "DetailedErrorMessage": "string" } ] }
GeneralError

General error information.

type: object

required: ["Message"]

Message

A message containing information about the error.

type: string

ErrorDetails

A list of error details.

type: array

items: ErrorDetail

ErrorDetail

Details about the error.

type: object

DetailedErrorCode

A detailed error code.

type: string

DetailedErrorMessage

A detailed error message.

type: string