Menu
AWS Greengrass
API Reference

CreateResourceDefinition

Creates a resource definition which contains a list of resources to be used in a group. You can create an initial version of the definition by providing a list of resources now, or use CreateResourceDefinitionVersion later.

URI: POST /greengrass/definition/resources

Produces: application/json

CLI:

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

cli-input-json format:

{ "Name": "string", "InitialVersion": { "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" } } } } ] }, "AmznClientToken": "string" }

Parameters:

CreateResourceDefinitionRequestBody

where used: body; required: true

{ "Name": "string", "InitialVersion": { "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" } } } } ] } }

schema:

Name

The name of the resource definition.

type: string

InitialVersion

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 or LocalVolumeResourceData.

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

X-Amzn-Client-Token

A client token used to correlate requests and responses.

where used: header; required: false

type: string

Responses:

200 (CreateResourceDefinitionResponse)

DefinitionInformation

{ "Name": "string", "Id": "string", "Arn": "string", "LastUpdatedTimestamp": "string", "CreationTimestamp": "string", "LatestVersion": "string", "LatestVersionArn": "string" }
DefinitionInformation

Information about a definition.

type: object

Name

The name of the definition.

type: string

Id

The ID of the definition.

type: string

Arn

The ARN of the definition.

type: string

LastUpdatedTimestamp

The time, in milliseconds since the epoch, when the definition was last updated.

type: string

CreationTimestamp

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

type: string

LatestVersion

The latest version of the definition.

type: string

LatestVersionArn

The ARN of the latest version of the definition.

type: string

400

invalid request

GeneralError

{ "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