

End of support notice: On October 7th, 2026, AWS will discontinue support for AWS IoT Greengrass Version 1. After October 7th, 2026, you will no longer be able to access the AWS IoT Greengrass V1 resources. For more information, please visit [Migrate from AWS IoT Greengrass Version 1](https://docs.aws.amazon.com/greengrass/v2/developerguide/migrate-from-v1.html).

# Parameters
<a name="api-parameters"></a>

**Topics**
+ [AssociateRoleToGroupRequestBody](parameters-associateroletogrouprequestbody.md)
+ [AssociateServiceRoleToAccountRequestBody](parameters-associateserviceroletoaccountrequestbody.md)
+ [BulkDeploymentId](parameters-bulkdeploymentidparam.md)
+ [CertificateAuthorityId](parameters-certificateauthorityidparam.md)
+ [ConnectorDefinitionId](parameters-connectordefinitionidparam.md)
+ [ConnectorDefinitionVersionId](parameters-connectordefinitionversionidparam.md)
+ [CoreDefinitionId](parameters-coredefinitionidparam.md)
+ [CoreDefinitionVersionId](parameters-coredefinitionversionidparam.md)
+ [CreateConnectorDefinitionRequestBody](parameters-createconnectordefinitionrequestbody.md)
+ [CreateConnectorDefinitionVersionRequestBody](parameters-createconnectordefinitionversionrequestbody.md)
+ [CreateCoreDefinitionRequestBody](parameters-createcoredefinitionrequestbody.md)
+ [CreateCoreDefinitionVersionRequestBody](parameters-createcoredefinitionversionrequestbody.md)
+ [CreateDeploymentRequestBody](parameters-createdeploymentrequestbody.md)
+ [CreateDeviceDefinitionRequestBody](parameters-createdevicedefinitionrequestbody.md)
+ [CreateDeviceDefinitionVersionRequestBody](parameters-createdevicedefinitionversionrequestbody.md)
+ [CreateFunctionDefinitionRequestBody](parameters-createfunctiondefinitionrequestbody.md)
+ [CreateFunctionDefinitionVersionRequestBody](parameters-createfunctiondefinitionversionrequestbody.md)
+ [CreateGroupRequestBody](parameters-creategrouprequestbody.md)
+ [CreateGroupVersionRequestBody](parameters-creategroupversionrequestbody.md)
+ [CreateLoggerDefinitionRequestBody](parameters-createloggerdefinitionrequestbody.md)
+ [CreateLoggerDefinitionVersionRequestBody](parameters-createloggerdefinitionversionrequestbody.md)
+ [CreateResourceDefinitionRequestBody](parameters-createresourcedefinitionrequestbody.md)
+ [CreateResourceDefinitionVersionRequestBody](parameters-createresourcedefinitionversionrequestbody.md)
+ [CreateSoftwareUpdateJobRequestBody](parameters-createsoftwareupdatejobrequestbody.md)
+ [CreateSubscriptionDefinitionRequestBody](parameters-createsubscriptiondefinitionrequestbody.md)
+ [CreateSubscriptionDefinitionVersionRequestBody](parameters-createsubscriptiondefinitionversionrequestbody.md)
+ [DeploymentId](parameters-deploymentidparam.md)
+ [DeviceDefinitionId](parameters-devicedefinitionidparam.md)
+ [DeviceDefinitionVersionId](parameters-devicedefinitionversionidparam.md)
+ [FunctionDefinitionId](parameters-functiondefinitionidparam.md)
+ [FunctionDefinitionVersionId](parameters-functiondefinitionversionidparam.md)
+ [GroupId](parameters-groupidparam.md)
+ [GroupVersionId](parameters-groupversionidparam.md)
+ [LoggerDefinitionId](parameters-loggerdefinitionidparam.md)
+ [LoggerDefinitionVersionId](parameters-loggerdefinitionversionidparam.md)
+ [MaxResults](parameters-maxresultsparam.md)
+ [NextToken](parameters-nexttokenparam.md)
+ [ResetDeploymentsRequestBody](parameters-resetdeploymentsrequestbody.md)
+ [ResourceArn](parameters-resourcearnparam.md)
+ [ResourceDefinitionId](parameters-resourcedefinitionidparam.md)
+ [ResourceDefinitionVersionId](parameters-resourcedefinitionversionidparam.md)
+ [RuntimeConfigurationUpdateRequestBody](parameters-runtimeconfigurationupdaterequestbody.md)
+ [StartBulkDeploymentRequestBody](parameters-startbulkdeploymentrequestbody.md)
+ [SubscriptionDefinitionId](parameters-subscriptiondefinitionidparam.md)
+ [SubscriptionDefinitionVersionId](parameters-subscriptiondefinitionversionidparam.md)
+ [tags](parameters-tagsparam.md)
+ [ThingName](parameters-thingnameparam.md)
+ [TagKeys](parameters-tagkeysparam.md)
+ [UpdateConnectivityInfoRequestBody](parameters-updateconnectivityinforequestbody.md)
+ [UpdateDefinitionRequestBody](parameters-updatedefinitionrequestbody.md)
+ [UpdateGroupCertificateConfigurationRequestBody](parameters-updategroupcertificateconfigurationrequestbody.md)
+ [X-Amzn-Client-Token](parameters-clienttoken.md)

# AssociateRoleToGroupRequestBody
<a name="parameters-associateroletogrouprequestbody"></a>

```
{
"RoleArn": "string"
}
```

AssociateRoleToGroupRequestBody  
in: body  
required: true  
schema: [AssociateRoleToGroupRequest](definitions-associateroletogrouprequest.md)

AssociateRoleToGroupRequest  
type: object  
required: ["RoleArn"]

RoleArn  
The ARN of the role to associate with this group.  
type: string

# AssociateServiceRoleToAccountRequestBody
<a name="parameters-associateserviceroletoaccountrequestbody"></a>

```
{
"RoleArn": "string"
}
```

AssociateServiceRoleToAccountRequestBody  
in: body  
required: true  
schema: [AssociateServiceRoleToAccountRequest](definitions-associateserviceroletoaccountrequest.md)

AssociateServiceRoleToAccountRequest  
type: object  
required: ["RoleArn"]

RoleArn  
The ARN of the service role to associate with your account.  
type: string

# BulkDeploymentId
<a name="parameters-bulkdeploymentidparam"></a>

```
{
"BulkDeploymentId": "string"
}
```

BulkDeploymentId  
The ID of the bulk deployment.  
in: path  
required: true  
type: string

# CertificateAuthorityId
<a name="parameters-certificateauthorityidparam"></a>

```
{
"CertificateAuthorityId": "string"
}
```

CertificateAuthorityId  
The ID of the certificate authority.  
in: path  
required: true  
type: string

# ConnectorDefinitionId
<a name="parameters-connectordefinitionidparam"></a>

```
{
"ConnectorDefinitionId": "string"
}
```

ConnectorDefinitionId  
The ID of the connector definition.  
in: path  
required: true  
type: string

# ConnectorDefinitionVersionId
<a name="parameters-connectordefinitionversionidparam"></a>

```
{
"ConnectorDefinitionVersionId": "string"
}
```

ConnectorDefinitionVersionId  
The ID of the connector definition version. This value maps to the `Version` property of the corresponding `VersionInformation` object, which is returned by `ListConnectorDefinitionVersions` requests. If the version is the last one that was associated with a connector definition, the value also maps to the `LatestVersion` property of the corresponding `DefinitionInformation` object.   
in: path  
required: true  
type: string

# CoreDefinitionId
<a name="parameters-coredefinitionidparam"></a>

```
{
"CoreDefinitionId": "string"
}
```

CoreDefinitionId  
The ID of the core definition.  
in: path  
required: true  
type: string

# CoreDefinitionVersionId
<a name="parameters-coredefinitionversionidparam"></a>

```
{
"CoreDefinitionVersionId": "string"
}
```

CoreDefinitionVersionId  
The ID of the core definition version. This value maps to the `Version` property of the corresponding `VersionInformation` object, which is returned by `ListCoreDefinitionVersions` requests. If the version is the last one that was associated with a core definition, the value also maps to the `LatestVersion` property of the corresponding `DefinitionInformation` object.   
in: path  
required: true  
type: string

# CreateConnectorDefinitionRequestBody
<a name="parameters-createconnectordefinitionrequestbody"></a>

```
{
"Name": "string",
"InitialVersion": {
  "Connectors": [
    {
      "Id": "string",
      "ConnectorArn": "string",
      "Parameters": {
        "additionalProperty0": "string",
        "additionalProperty1": "string",
        "additionalProperty2": "string"
      }
    }
  ]
},
"tags": {
  "additionalProperty0": "string",
  "additionalProperty1": "string",
  "additionalProperty2": "string"
}
}
```

CreateConnectorDefinitionRequestBody  
in: body  
required: true  


properties  
Name: The name of the connector definition. Type: string  
InitialVersion: Information about the initial version of the connector definition. Type: ConnectorDefinitionVersion  
tags: The tags to attach to the new resource. Type: tags

# CreateConnectorDefinitionVersionRequestBody
<a name="parameters-createconnectordefinitionversionrequestbody"></a>

```
{
"Connectors": [
  {
    "Id": "string",
    "ConnectorArn": "string",
    "Parameters": {
      "additionalProperty0": "string",
      "additionalProperty1": "string",
      "additionalProperty2": "string"
    }
  }
]
}
```

CreateConnectorDefinitionVersionRequestBody  
in: body  
required: true  
schema: [ConnectorDefinitionVersion](definitions-connectordefinitionversion.md)

ConnectorDefinitionVersion  
Information about the connector definition version, which is a container for connectors.  
type: object

Connectors  
A list of references to connectors in this version, with their corresponding configuration settings.  
type: array  
items: [Connector](definitions-connector.md)

Connector  
Information about a connector. Connectors run on the Greengrass core and contain built-in integration with local infrastructure, device protocols, AWS, and other cloud services.  
type: object  
required: ["Id", "ConnectorArn"]

Id  
A descriptive or arbitrary ID for the connector. This value must be unique within the connector definition version. Maximum length is 128 characters with the pattern [a-zA-Z0-9:\$1-]\$1.  
type: string

ConnectorArn  
The ARN of the connector.  
type: string

Parameters  
The parameters or configuration used by the connector.  
type: object  
additionalProperties: An object with properties of type `string` that represent the connector configuration.

# CreateCoreDefinitionRequestBody
<a name="parameters-createcoredefinitionrequestbody"></a>

```
{
"Name": "string",
"InitialVersion": {
  "Cores": [
    {
      "Id": "string",
      "ThingArn": "string",
      "CertificateArn": "string",
      "SyncShadow": true
    }
  ]
},
"tags": {
  "additionalProperty0": "string",
  "additionalProperty1": "string",
  "additionalProperty2": "string"
}
}
```

CreateCoreDefinitionRequestBody  
Information required to create a core definition.  
in: body  
required: true  


properties  
Name: The name of the core definition. Type: string  
InitialVersion: Information about the initial version of the core definition. Type: CoreDefinitionVersion  
tags: The tags to attach to the new resource. Type: tags

# CreateCoreDefinitionVersionRequestBody
<a name="parameters-createcoredefinitionversionrequestbody"></a>

```
{
"Cores": [
  {
    "Id": "string",
    "ThingArn": "string",
    "CertificateArn": "string",
    "SyncShadow": true
  }
]
}
```

CreateCoreDefinitionVersionRequestBody  
in: body  
required: true  
schema: [CoreDefinitionVersion](definitions-coredefinitionversion.md)

CoreDefinitionVersion  
Information about a core definition version.  
type: object

Cores  
A list of cores in the core definition version.  
type: array  
items: [Core](definitions-core.md)

Core  
Information about a core.  
type: object  
required: ["Id", "ThingArn", "CertificateArn"]

Id  
A descriptive or arbitrary ID for the core. This value must be unique within the core definition version. Maximum length is 128 characters with the pattern `[a‑zA‑Z0‑9:_‑]+`.  
type: string

ThingArn  
The ARN of the thing that is the core.  
type: string

CertificateArn  
The ARN of the certificate associated with the core.  
type: string

SyncShadow  
If true, the core's local shadow is synced with the cloud automatically.  
type: boolean

# CreateDeploymentRequestBody
<a name="parameters-createdeploymentrequestbody"></a>

```
{
"DeploymentType": "NewDeployment|Redeployment|ResetDeployment|ForceResetDeployment",
"DeploymentId": "string",
"GroupVersionId": "string"
}
```

CreateDeploymentRequestBody  
in: body  
required: true  
schema: [CreateDeploymentRequest](definitions-createdeploymentrequest.md)

CreateDeploymentRequest  
Information about a deployment.  
type: object  
required: ["DeploymentType"]

DeploymentType  
The type of deployment. When used for `CreateDeployment`, only `NewDeployment` and `Redeployment` are valid.   
type: string  
enum: ["NewDeployment", "Redeployment", "ResetDeployment", "ForceResetDeployment"]

DeploymentId  
The ID of the previous deployment you want to redeploy.  
type: string

GroupVersionId  
The ID of the group version to be deployed.  
type: string

# CreateDeviceDefinitionRequestBody
<a name="parameters-createdevicedefinitionrequestbody"></a>

```
{
"Name": "string",
"InitialVersion": {
  "Devices": [
    {
      "Id": "string",
      "ThingArn": "string",
      "CertificateArn": "string",
      "SyncShadow": true
    }
  ]
},
"tags": {
  "additionalProperty0": "string",
  "additionalProperty1": "string",
  "additionalProperty2": "string"
}
}
```

CreateDeviceDefinitionRequestBody  
Information required to create a device definition.  
in: body  
required: true  


properties  
Name: The name of the device definition. Type: string  
InitialVersion: Information about the initial version of the device definition. Type: DeviceDefinitionVersion  
tags: The tags to attach to the new resource. Type: tags

# CreateDeviceDefinitionVersionRequestBody
<a name="parameters-createdevicedefinitionversionrequestbody"></a>

```
{
"Devices": [
  {
    "Id": "string",
    "ThingArn": "string",
    "CertificateArn": "string",
    "SyncShadow": true
  }
]
}
```

CreateDeviceDefinitionVersionRequestBody  
in: body  
required: true  
schema: [DeviceDefinitionVersion](definitions-devicedefinitionversion.md)

DeviceDefinitionVersion  
Information about a device definition version.  
type: object

Devices  
A list of devices in the definition version.  
type: array  
items: [Device](definitions-device.md)

Device  
Information about a device.  
type: object  
required: ["Id", "ThingArn", "CertificateArn"]

Id  
A descriptive or arbitrary ID for the device. This value must be unique within the device definition version. Maximum length is 128 characters with the pattern `[a‑zA‑Z0‑9:_‑]+`.  
type: string

ThingArn  
The thing ARN of the device.  
type: string

CertificateArn  
The ARN of the certificate associated with the device.  
type: string

SyncShadow  
If true, the device's local shadow is synced with the cloud automatically.  
type: boolean

# CreateFunctionDefinitionRequestBody
<a name="parameters-createfunctiondefinitionrequestbody"></a>

```
{
"Name": "string",
"InitialVersion": {
  "DefaultConfig": {
    "Execution": {
      "IsolationMode": "GreengrassContainer|NoContainer",
      "RunAs": {
        "Uid": 1001,
        "Gid": 1002
      }
    }
  },
  "Functions": [
    {
      "Id": "string",
      "FunctionArn": "string",
      "FunctionConfiguration": {
        "Pinned": true,
        "Executable": "string",
        "ExecArgs": "string",
        "MemorySize": 0,
        "Timeout": 0,
        "EncodingType": "binary|json",
        "Environment": {
          "Variables": {
            "additionalProperty0": "string",
            "additionalProperty1": "string",
            "additionalProperty2": "string"
          },
          "ResourceAccessPolicies": [
            {
              "ResourceId": "string",
              "Permission": "ro|rw"
            }
          ],
          "AccessSysfs": true,
          "Execution": {
            "IsolationMode": "GreengrassContainer|NoContainer",
            "RunAs": {
              "Uid": 1001,
              "Gid": 1002
            }
          }
        },
        "FunctionRuntimeOverride": "string"
      }
    }
  ]
},
"tags": {
  "additionalProperty0": "string",
  "additionalProperty1": "string",
  "additionalProperty2": "string"
}
}
```

CreateFunctionDefinitionRequestBody  
in: body  
required: true  


properties  
Name: The name of the function definition. Type: string  
InitialVersion: Information about the initial version of the function definition. Type: FunctionDefinitionVersion  
tags: The tags to attach to the new resource. Type: tags

# CreateFunctionDefinitionVersionRequestBody
<a name="parameters-createfunctiondefinitionversionrequestbody"></a>

```
{
"DefaultConfig": {
  "Execution": {
    "IsolationMode": "GreengrassContainer|NoContainer",
    "RunAs": {
      "Uid": 1001,
      "Gid": 1002
    }
  }
},
"Functions": [
  {
    "Id": "string",
    "FunctionArn": "string",
    "FunctionConfiguration": {
      "Pinned": true,
      "Executable": "string",
      "ExecArgs": "string",
      "MemorySize": 0,
      "Timeout": 0,
      "EncodingType": "binary|json",
      "Environment": {
        "Variables": {
          "additionalProperty0": "string",
          "additionalProperty1": "string",
          "additionalProperty2": "string"
        },
        "ResourceAccessPolicies": [
          {
            "ResourceId": "string",
            "Permission": "ro|rw"
          }
        ],
        "AccessSysfs": true,
        "Execution": {
          "IsolationMode": "GreengrassContainer|NoContainer",
          "RunAs": {
            "Uid": 1001,
            "Gid": 1002
          }
        }
      },
      "FunctionRuntimeOverride": "string"
    }
  }
]
}
```

CreateFunctionDefinitionVersionRequestBody  
Information about the function definition version.  
in: body  
required: true  
schema: [FunctionDefinitionVersion](definitions-functiondefinitionversion.md)

FunctionDefinitionVersion  
Information about a function definition version.  
type: object

DefaultConfig  
The default configuration that applies to all Lambda functions in the group. Individual Lambda functions can override these settings.  
type: object

Execution  
Configuration information that specifies how a Lambda function runs.

Functions  
A list of Lambda functions in this function definition version.  
type: array  
items: [Function](definitions-function.md)

  
Information about a Lambda function.  
type: object  
required: ["Id"]

Id  
A descriptive or arbitrary ID for the function. This value must be unique within the function definition version. Maximum length is 128 characters with the pattern `[a‑zA‑Z0‑9:_‑]+`.  
type: string

FunctionArn  
The ARN of the alias (recommended) or version of the target Lambda function.  
type: string

FunctionConfiguration  
The configuration of the Lambda function.  
type: object

Pinned  
True if the function is pinned. Pinned means the function is long-lived and starts when the core starts.  
type: boolean

Executable  
The name of the function executable.  
type: string

ExecArgs  
The execution arguments.  
type: string

MemorySize  
The memory size, in KB, required by the function. This setting does not apply and should be cleared when you run the Lambda function without containerization.  
type: integer

Timeout  
The allowed function execution time, after which Lambda should terminate the function. This timeout still applies to pinned Lambda functions for each request.  
type: integer

EncodingType  
The expected encoding type of the input payload for the function. The default is `json`.  
type: string  
enum: ["binary", "json"]

Environment  
The environment configuration of the function.  
type: object

Variables  
Environment variables for the Lambda function's configuration.  
type: object  
additionalProperties: An object with properties of type `string` that represent the environment variables.

ResourceAccessPolicies  
A list of the resources, with their permissions, to which the Lambda function is granted access. A Lambda function can have at most 10 resources. ResourceAccessPolicies applies only when you run the Lambda function in a Greengrass container.  
type: array  
items: [ResourceAccessPolicy](definitions-resourceaccesspolicy.md)

ResourceAccessPolicy  
A policy used by the function to access a resource.  
type: object  
required: ["ResourceId"]

ResourceId  
The ID of the resource. (This ID is assigned to the resource when you create the resource definiton.)  
type: string

Permission  
The type of permission a function has to access a resource.  
type: string  
enum: ["ro", "rw"]

AccessSysfs  
If true, the Lambda function is allowed to access the host's /sys folder. Use this when the Lambda function needs to read device information from /sys. This setting applies only when you run the Lambda function in a Greengrass container.  
type: boolean

Execution  
Configuration information that specifies how a Lambda function runs.   
type: object

IsolationMode  
Specifies whether the Lambda function runs in a Greengrass container (default) or without containerization. Unless your scenario requires that you run without containerization, we recommend that you run in a Greengrass container. Omit this value to run the Lambda function with the default containerization for the group.  
type: string  
enum: ["GreengrassContainer", "NoContainer"]

RunAs  
Specifies the user and group whose permissions are used when running the Lambda function. You can specify one or both values to override the default values. To minimize the risk of unintended changes or malicious attacks, we recommend that you avoid running as root unless absolutely necessary. To run as root, you must update config.json in `greengrass-root/config` to set `allowFunctionsToRunAsRoot` to `yes`.   
type: object

Uid  
The user ID whose permissions are used to run a Lambda function.  
type: integer

Gid  
The group ID whose permissions are used to run a Lambda function.  
type: integer

FunctionRuntimeOverride  
The Lambda runtime supported by Greengrass which is to be used instead of the one specified in the Lambda function.  
type: string

# CreateGroupRequestBody
<a name="parameters-creategrouprequestbody"></a>

```
{
"Name": "string",
"InitialVersion": {
  "CoreDefinitionVersionArn": "string",
  "DeviceDefinitionVersionArn": "string",
  "FunctionDefinitionVersionArn": "string",
  "SubscriptionDefinitionVersionArn": "string",
  "LoggerDefinitionVersionArn": "string",
  "ResourceDefinitionVersionArn": "string",
  "ConnectorDefinitionVersionArn": "string"
},
"tags": {
  "additionalProperty0": "string",
  "additionalProperty1": "string",
  "additionalProperty2": "string"
}
}
```

CreateGroupRequestBody  
in: body  
required: true  


properties  
Name: The name of the group. Type: string  
InitialVersion: Information about the initial version of the group. Type: GroupVersion  
tags: The tags to attach to the new resource. Type: tags

# CreateGroupVersionRequestBody
<a name="parameters-creategroupversionrequestbody"></a>

```
{
"CoreDefinitionVersionArn": "string",
"DeviceDefinitionVersionArn": "string",
"FunctionDefinitionVersionArn": "string",
"SubscriptionDefinitionVersionArn": "string",
"LoggerDefinitionVersionArn": "string",
"ResourceDefinitionVersionArn": "string",
"ConnectorDefinitionVersionArn": "string"
}
```

CreateGroupVersionRequestBody  
in: body  
required: true  
schema: [GroupVersion](definitions-groupversion.md)

GroupVersion  
Information about a group version.  
type: object

CoreDefinitionVersionArn  
The ARN of the core definition version for this group.  
type: string

DeviceDefinitionVersionArn  
The ARN of the client device definition version for this group.  
type: string

FunctionDefinitionVersionArn  
The ARN of the function definition version for this group.  
type: string

SubscriptionDefinitionVersionArn  
The ARN of the subscription definition version for this group.  
type: string

LoggerDefinitionVersionArn  
The ARN of the logger definition version for this group.  
type: string

ResourceDefinitionVersionArn  
The ARN of the resource definition version for this group.  
type: string

ConnectorDefinitionVersionArn  
The ARN of the connector definition version for this group.  
type: string

# CreateLoggerDefinitionRequestBody
<a name="parameters-createloggerdefinitionrequestbody"></a>

```
{
"Name": "string",
"InitialVersion": {
  "Loggers": [
    {
      "Id": "string",
      "Type": "FileSystem|AWSCloudWatch",
      "Component": "GreengrassSystem|Lambda",
      "Level": "DEBUG|INFO|WARN|ERROR|FATAL",
      "Space": 0
    }
  ]
},
"tags": {
  "additionalProperty0": "string",
  "additionalProperty1": "string",
  "additionalProperty2": "string"
}
}
```

CreateLoggerDefinitionRequestBody  
in: body  
required: true  


properties  
Name: The name of the logger definition. Type: string  
InitialVersion: Information about the initial version of the logger definition. Type: LoggerDefinitionVersion  
tags: The tags to attach to the new resource. Type: tags

# CreateLoggerDefinitionVersionRequestBody
<a name="parameters-createloggerdefinitionversionrequestbody"></a>

```
{
"Loggers": [
  {
    "Id": "string",
    "Type": "FileSystem|AWSCloudWatch",
    "Component": "GreengrassSystem|Lambda",
    "Level": "DEBUG|INFO|WARN|ERROR|FATAL",
    "Space": 0
  }
]
}
```

CreateLoggerDefinitionVersionRequestBody  
in: body  
required: true  
schema: [LoggerDefinitionVersion](definitions-loggerdefinitionversion.md)

LoggerDefinitionVersion  
Information about a logger definition version.  
type: object

Loggers  
A list of loggers.  
type: array  
items: [Logger](definitions-logger.md)

Logger  
Information about a logger  
type: object  
required: ["Id", "Type", "Component", "Level"]

Id  
A descriptive or arbitrary ID for the logger. This value must be unique within the logger definition version. Maximum length is 128 characters with the pattern `[a‑zA‑Z0‑9:_‑]+`.  
type: string

Type  
type: string  
enum: ["FileSystem", "AWSCloudWatch"]

Component  
type: string  
enum: ["GreengrassSystem", "Lambda"]

Level  
type: string  
enum: ["DEBUG", "INFO", "WARN", "ERROR", "FATAL"]

Space  
The amount of file space, in KB, to use if the local file system is used for logging purposes.  
type: integer

# CreateResourceDefinitionRequestBody
<a name="parameters-createresourcedefinitionrequestbody"></a>

```
{
"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"
          }
        },
        "SageMakerMachineLearningModelResourceData": {
          "SageMakerJobArn": "string",
          "DestinationPath": "string",
          "OwnerSetting": {
            "GroupOwner": "string",
            "GroupPermission": "ro|rw"
          }
        },
        "S3MachineLearningModelResourceData": {
          "S3Uri": "string",
          "DestinationPath": "string",
          "OwnerSetting": {
            "GroupOwner": "string",
            "GroupPermission": "ro|rw"
          }
        },
        "SecretsManagerSecretResourceData": {
          "ARN": "string",
          "AdditionalStagingLabelsToDownload": [
            "string"
          ]
        }
      }
    }
  ]
},
"tags": {
  "additionalProperty0": "string",
  "additionalProperty1": "string",
  "additionalProperty2": "string"
}
}
```

CreateResourceDefinitionRequestBody  
in: body  
required: true  


properties  
Name: The name of the resource definition. Type: string  
InitialVersion: Information about the initial version of the resource definition. Type: ResourceDefinitionVersion  
tags: The tags to attach to the new resource. Type: tags

# CreateResourceDefinitionVersionRequestBody
<a name="parameters-createresourcedefinitionversionrequestbody"></a>

```
{
"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",
        "OwnerSetting": {
          "GroupOwner": "string",
          "GroupPermission": "ro|rw"
        }
      },
      "S3MachineLearningModelResourceData": {
        "S3Uri": "string",
        "DestinationPath": "string",
        "OwnerSetting": {
          "GroupOwner": "string",
          "GroupPermission": "ro|rw"
        }
      },
      "SecretsManagerSecretResourceData": {
        "ARN": "string",
        "AdditionalStagingLabelsToDownload": [
          "string"
        ]
      }
    }
  }
]
}
```

CreateResourceDefinitionVersionRequestBody  
Information about the resource definition version.  
in: body  
required: true  
schema: [ResourceDefinitionVersion](definitions-resourcedefinitionversion.md)

ResourceDefinitionVersion  
Information about a resource definition version.  
type: object

Resources  
A list of resources.  
type: array  
items: [Resource](definitions-resource.md)

Resource  
Information about a resource.  
type: object  
required: ["Id", "Name", "ResourceDataContainer"]

Id  
The resource ID, used to refer to a resource in the Lambda function configuration. Maximum length is 128 characters with the pattern `[a‑zA‑Z0‑9:_‑]+`. This must be unique within a Greengrass group.  
type: string

Name  
The descriptive resource name, which is displayed on the AWS IoT Greengrass console. Maximum length is 128 characters with the pattern `[a‑zA‑Z0‑9:_‑]+`. This must be unique within a Greengrass group.  
type: string

ResourceDataContainer  
A container for resource data. The container takes only one of the following supported resource data types: `LocalDeviceResourceData`, `LocalVolumeResourceData`, `SageMakerMachineLearningModelResourceData`, `S3MachineLearningModelResourceData`, `SecretsManagerSecretResourceData`.   
type: object  
NOTE: oneOf

LocalDeviceResourceData  
Attributes that define a local device resource.  
type: object

SourcePath  
The local absolute path of the device resource. The source path for a device resource can refer only to a character device or block device under `/dev`.  
type: string

GroupOwnerSetting  
Group owner related settings for local resources.  
type: object

AutoAddGroupOwner  
If true, AWS IoT Greengrass adds the specified Linux OS group owner of the resource to the Lambda process privileges. The Lambda process then has the file access permissions of the added Linux group.  
type: boolean

GroupOwner  
The name of the Linux OS group whose privileges are 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 `/sys`.  
type: string

DestinationPath  
The absolute local path of the resource inside the Lambda environment.  
type: string

GroupOwnerSetting  
Group owner related settings for local resources.  
type: object

AutoAddGroupOwner  
If true, AWS IoT Greengrass adds the specified Linux OS group owner of the resource to the Lambda process privileges. The Lambda process then has the file access permissions of the added Linux group.  
type: boolean

GroupOwner  
The name of the Linux OS group whose privileges are added to the Lambda process. This field is optional.  
type: string

SageMakerMachineLearningModelResourceData  
Attributes that define an Amazon SageMaker machine learning resource.  
type: object

SageMakerJobArn  
The ARN of the Amazon SageMaker training job that represents the source model.  
type: string

DestinationPath  
The absolute local path of the resource inside the Lambda environment.  
type: string

OwnerSetting  
The owner setting for the downloaded machine learning resource.  
type: object  
required: ["GroupOwner", "GroupPermission"]

GroupOwner  
The group owner of the resource. This is the group ID (GID) of an existing Linux OS group on the system. The group's permissions are added to the Lambda process.  
type: string

GroupPermission  
The permissions that the group owner has to the resource. Valid values are `rw` (read-write) or `ro` (read-only).  
type: string  
enum: ["ro", "rw"]

S3MachineLearningModelResourceData  
Attributes that define an Amazon S3 machine learning resource.  
type: object

S3Uri  
The URI of the source model in an S3 bucket. The model package must be in tar.gz or .zip format.  
type: string

DestinationPath  
The absolute local path of the resource inside the Lambda environment.  
type: string

OwnerSetting  
The owner setting for the downloaded machine learning resource.  
type: object  
required: ["GroupOwner", "GroupPermission"]

GroupOwner  
The group owner of the resource. This is the group ID (GID) of an existing Linux OS group on the system. The group's permissions are added to the Lambda process.  
type: string

GroupPermission  
The permissions that the group owner has to the resource. Valid values are `rw` (read-write) or `ro` (read-only).  
type: string  
enum: ["ro", "rw"]

SecretsManagerSecretResourceData  
Attributes that define a secret resource, which references a secret from AWS Secrets Manager. AWS IoT Greengrass stores a local, encrypted copy of the secret on the Greengrass core, where it can be securely accessed by connectors and Lambda functions.  
type: object

ARN  
The ARN of the Secrets Manager secret to make available on the core. The value of the secret's latest version (represented by the `AWSCURRENT` staging label) is included by default.  
type: string

AdditionalStagingLabelsToDownload  
Optional. The staging labels in addition to `AWSCURRENT` whose values you want to make available on the core.  
type: array  


# CreateSoftwareUpdateJobRequestBody
<a name="parameters-createsoftwareupdatejobrequestbody"></a>

```
{
"UpdateTargetsArchitecture": "armv6l|armv7l|x86_64|aarch64",
"UpdateTargets": [
  "string"
],
"SoftwareToUpdate": "core|ota_agent",
"S3UrlSignerRole": "string",
"UpdateAgentLogLevel": "NONE|TRACE|DEBUG|VERBOSE|INFO|WARN|ERROR|FATAL",
"UpdateTargetsOperatingSystem": "ubuntu|raspbian|amazon_linux|openwrt"
}
```

CreateSoftwareUpdateJobRequestBody  
in: body  
required: true  
schema: [CreateSoftwareUpdateJobRequest](definitions-createsoftwareupdatejobrequest.md)

CreateSoftwareUpdateJobRequest  
Request for the CreateSoftwareUpdateJob API.  
type: object  
required: ["UpdateTargetsArchitecture", "UpdateTargets", "SoftwareToUpdate", "S3UrlSignerRole", "UpdateTargetsOperatingSystem"]

UpdateTargetsArchitecture  
The architecture of the cores that are the targets of an update.  
type: string  
enum: ["armv6l", "armv7l", "x86\$164", "aarch64"]

UpdateTargets  
The ARNs of the targets (IoT things or IoT thing groups) that this update is applied to.  
type: array  


SoftwareToUpdate  
The piece of software on the Greengrass core that will be updated.  
type: string  
enum: ["core", "ota\$1agent"]

S3UrlSignerRole  
The IAM role that Greengrass uses to create presigned URLs that point to the update artifact.  
type: string

UpdateAgentLogLevel  
The minimum level of log statements that should be logged by the OTA agent during an update.  
type: string  
enum: ["NONE", "TRACE", "DEBUG", "VERBOSE", "INFO", "WARN", "ERROR", "FATAL"]

UpdateTargetsOperatingSystem  
The operating system of the cores that are the targets of an update.  
type: string  
enum: ["ubuntu", "raspbian", "amazon\$1linux", "openwrt"]

# CreateSubscriptionDefinitionRequestBody
<a name="parameters-createsubscriptiondefinitionrequestbody"></a>

```
{
"Name": "string",
"InitialVersion": {
  "Subscriptions": [
    {
      "Id": "string",
      "Source": "string",
      "Subject": "string",
      "Target": "string"
    }
  ]
},
"tags": {
  "additionalProperty0": "string",
  "additionalProperty1": "string",
  "additionalProperty2": "string"
}
}
```

CreateSubscriptionDefinitionRequestBody  
in: body  
required: true  


properties  
Name: The name of the subscription definition. Type: string  
InitialVersion: Information about the initial version of the subscription definition. Type: SubscriptionDefinitionVersion  
tags: The tags to attach to the new resource. Type: tags

# CreateSubscriptionDefinitionVersionRequestBody
<a name="parameters-createsubscriptiondefinitionversionrequestbody"></a>

```
{
"Subscriptions": [
  {
    "Id": "string",
    "Source": "string",
    "Subject": "string",
    "Target": "string"
  }
]
}
```

CreateSubscriptionDefinitionVersionRequestBody  
in: body  
required: true  
schema: [SubscriptionDefinitionVersion](definitions-subscriptiondefinitionversion.md)

SubscriptionDefinitionVersion  
Information about a subscription definition version.  
type: object

Subscriptions  
A list of subscriptions.  
type: array  
items: [Subscription](definitions-subscription.md)

Subscription  
Information about a subscription.  
type: object  
required: ["Id", "Source", "Subject", "Target"]

Id  
A descriptive or arbitrary ID for the subscription. This value must be unique within the subscription definition version. Maximum length is 128 characters with the pattern `[a‑zA‑Z0‑9:_‑]+`.  
type: string

Source  
The source of the subscription. Can be a thing ARN, the ARN of a Lambda function alias (recommended) or version, a connector ARN, 'cloud' (which represents AWS IoT), or 'GGShadowService'. If you specify a Lambda function, this ARN should match the ARN used to add the function to the Greengrass group.  
type: string

Subject  
The MQTT topic used to route the message.  
type: string

Target  
Where the message is sent. Can be a thing ARN, the ARN of a Lambda function alias (recommended) or version, a connector ARN, 'cloud' (which represents AWS IoT), or 'GGShadowService'. If you specify a Lambda function, this ARN should match the ARN used to add the function to the Greengrass group.  
type: string

# DeploymentId
<a name="parameters-deploymentidparam"></a>

```
{
"DeploymentId": "string"
}
```

DeploymentId  
The ID of the deployment.  
in: path  
required: true  
type: string

# DeviceDefinitionId
<a name="parameters-devicedefinitionidparam"></a>

```
{
"DeviceDefinitionId": "string"
}
```

DeviceDefinitionId  
The ID of the device definition.  
in: path  
required: true  
type: string

# DeviceDefinitionVersionId
<a name="parameters-devicedefinitionversionidparam"></a>

```
{
"DeviceDefinitionVersionId": "string"
}
```

DeviceDefinitionVersionId  
The ID of the device definition version. This value maps to the `Version` property of the corresponding `VersionInformation` object, which is returned by `ListDeviceDefinitionVersions` requests. If the version is the last one that was associated with a device definition, the value also maps to the `LatestVersion` property of the corresponding `DefinitionInformation` object.   
in: path  
required: true  
type: string

# FunctionDefinitionId
<a name="parameters-functiondefinitionidparam"></a>

```
{
"FunctionDefinitionId": "string"
}
```

FunctionDefinitionId  
The ID of the function definition.  
in: path  
required: true  
type: string

# FunctionDefinitionVersionId
<a name="parameters-functiondefinitionversionidparam"></a>

```
{
"FunctionDefinitionVersionId": "string"
}
```

FunctionDefinitionVersionId  
The ID of the function definition version. This value maps to the `Version` property of the corresponding `VersionInformation` object, which is returned by `ListFunctionDefinitionVersions` requests. If the version is the last one that was associated with a function definition, the value also maps to the `LatestVersion` property of the corresponding `DefinitionInformation` object.   
in: path  
required: true  
type: string

# GroupId
<a name="parameters-groupidparam"></a>

```
{
"GroupId": "string"
}
```

GroupId  
The ID of the Greengrass group.  
in: path  
required: true  
type: string

# GroupVersionId
<a name="parameters-groupversionidparam"></a>

```
{
"GroupVersionId": "string"
}
```

GroupVersionId  
The ID of the group version. This value maps to the `Version` property of the corresponding `VersionInformation` object, which is returned by `ListGroupVersions` requests. If the version is the last one that was associated with a group, the value also maps to the `LatestVersion` property of the corresponding `GroupInformation` object.   
in: path  
required: true  
type: string

# LoggerDefinitionId
<a name="parameters-loggerdefinitionidparam"></a>

```
{
"LoggerDefinitionId": "string"
}
```

LoggerDefinitionId  
The ID of the logger definition.  
in: path  
required: true  
type: string

# LoggerDefinitionVersionId
<a name="parameters-loggerdefinitionversionidparam"></a>

```
{
"LoggerDefinitionVersionId": "string"
}
```

LoggerDefinitionVersionId  
The ID of the logger definition version. This value maps to the `Version` property of the corresponding `VersionInformation` object, which is returned by `ListLoggerDefinitionVersions` requests. If the version is the last one that was associated with a logger definition, the value also maps to the `LatestVersion` property of the corresponding `DefinitionInformation` object.   
in: path  
required: true  
type: string

# MaxResults
<a name="parameters-maxresultsparam"></a>

```
{
"MaxResults": 0
}
```

MaxResults  
The maximum number of results to be returned per request.  
in: query  
required: false  
min: 1  
type: integer

# NextToken
<a name="parameters-nexttokenparam"></a>

```
{
"NextToken": "string"
}
```

NextToken  
The token for the next set of results, or `null` if there are no more results.  
in: query  
required: false  
type: string

# ResetDeploymentsRequestBody
<a name="parameters-resetdeploymentsrequestbody"></a>

```
{
"Force": true
}
```

ResetDeploymentsRequestBody  
Information required to reset deployments.  
in: body  
required: true  
schema: [ResetDeploymentsRequest](definitions-resetdeploymentsrequest.md)

ResetDeploymentsRequest  
Information about a group reset request.  
type: object

Force  
If true, performs a best-effort only core reset.  
type: boolean

# ResourceArn
<a name="parameters-resourcearnparam"></a>

```
{
"ResourceArn": "string"
}
```

**ResourceArn**  
The Amazon Resource Name (ARN) of the target resource for tagging operations.  
in: path  
required: true  
type: string

# ResourceDefinitionId
<a name="parameters-resourcedefinitionidparam"></a>

```
{
"ResourceDefinitionId": "string"
}
```

ResourceDefinitionId  
The ID of the resource definition.  
in: path  
required: true  
type: string

# ResourceDefinitionVersionId
<a name="parameters-resourcedefinitionversionidparam"></a>

```
{
"ResourceDefinitionVersionId": "string"
}
```

ResourceDefinitionVersionId  
The ID of the resource definition version. This value maps to the `Version` property of the corresponding `VersionInformation` object, which is returned by `ListResourceDefinitionVersions` requests. If the version is the last one that was associated with a resource definition, the value also maps to the `LatestVersion` property of the corresponding `DefinitionInformation` object.   
in: path  
required: true  
type: string

# RuntimeConfigurationUpdateRequestBody
<a name="parameters-runtimeconfigurationupdaterequestbody"></a>

```
{
  "TelemetryConfiguration": {
    "Telemetry": "On|Off"
  }
}
```

RuntimeConfigurationUpdateRequestBody  
Information about the runtime configuration for a thing.  
type: object

[RuntimeConfigurationUpdate](definitions-runtimeconfigurationupdate.md)  
Runtime configuration for a thing.  
type: object

TelemetryConfiguration  
The configuration settings to run telemetry.  
type: object  
required: ["Telemetry"]

Telemetry  
The configuration setting to turn on or turn off telemetry.  
type: string  
enum: ["On", "Off"]

# StartBulkDeploymentRequestBody
<a name="parameters-startbulkdeploymentrequestbody"></a>

```
{
"InputFileUri": "string",
"ExecutionRoleArn": "string",
"tags": {
  "additionalProperty0": "string",
  "additionalProperty1": "string",
  "additionalProperty2": "string"
}
}
```

StartBulkDeploymentRequestBody  
in: body  
required: true  
schema: [StartBulkDeploymentRequest](definitions-startbulkdeploymentrequest.md)

StartBulkDeploymentRequest  
Information about a bulk deployment. You cannot start a new bulk deployment while another one is still running or in a non-terminal state.  
type: object  
required: ["InputFileUri", "ExecutionRoleArn"]

InputFileUri  
The URI of the input file in the S3 bucket. The execution role must have `getObject` permissions on this bucket to access the input file. The input file is a JSON-serialized, line-delimited file with UTF-8 encoding that provides a list of group and version IDs and the deployment type. This file must be less than 100 MB. Currently, AWS IoT Greengrass supports only `NewDeployment` deployment types.   

```
{"GroupId":"groupId1", "GroupVersionId":"groupVersionId1", "DeploymentType":"NewDeployment"}
{"GroupId":"groupId2", "GroupVersionId":"groupVersionId2", "DeploymentType":"NewDeployment"}
{"GroupId":"groupId3", "GroupVersionId":"groupVersionId3", "DeploymentType":"NewDeployment"}
...
```
For more information, including the input file format, see [Create Bulk Deployments For Groups](https://docs.aws.amazon.com/greengrass/latest/developerguide/bulk-deploy-cli.html).  
type: string

ExecutionRoleArn  
The ARN of the execution role to associate with the bulk deployment operation. This IAM role must allow the `greengrass:CreateDeployment` action for all group versions that are listed in the input file. This IAM role must have access to the S3 bucket that contains the input file.  
type: string

tags  
The resource tags.  
type: object  
additionalProperties: The key-value pair for the resource tag. Type: string

# SubscriptionDefinitionId
<a name="parameters-subscriptiondefinitionidparam"></a>

```
{
"SubscriptionDefinitionId": "string"
}
```

SubscriptionDefinitionId  
The ID of the subscription definition.  
in: path  
required: true  
type: string

# SubscriptionDefinitionVersionId
<a name="parameters-subscriptiondefinitionversionidparam"></a>

```
{
"SubscriptionDefinitionVersionId": "string"
}
```

SubscriptionDefinitionVersionId  
The ID of the subscription definition version. This value maps to the `Version` property of the corresponding `VersionInformation` object, which is returned by `ListSubscriptionDefinitionVersions` requests. If the version is the last one that was associated with a subscription definition, the value also maps to the `LatestVersion` property of the corresponding `DefinitionInformation` object.   
in: path  
required: true  
type: string

# tags
<a name="parameters-tagsparam"></a>

```
{
"tags": {
  "additionalProperty0": "string",
  "additionalProperty1": "string",
  "additionalProperty2": "string"
}
}
```

**tags**  
A map of the key-value pairs for the resource tag.  
in: body  
required: true  
type: tags

# ThingName
<a name="parameters-thingnameparam"></a>

```
{
"ThingName": "string"
}
```

ThingName  
The thing name.  
in: path  
required: true  
type: string

# TagKeys
<a name="parameters-tagkeysparam"></a>

```
{
"TagKeys": [
  "string"
]
}
```

**TagKeys**  
An array of tag keys to delete.  
in: query  
required: true  
type: array of strings

# UpdateConnectivityInfoRequestBody
<a name="parameters-updateconnectivityinforequestbody"></a>

```
{
"ConnectivityInfo": [
  {
    "Id": "string",
    "HostAddress": "string",
    "PortNumber": 0x01,
    "Metadata": "string"
  }
]
}
```

UpdateConnectivityInfoRequestBody  
The connectivity information.  
in: body  
schema: [UpdateConnectivityInfoRequest](definitions-updateconnectivityinforequest.md)

  
Information required to update a Greengrass core's connectivity.

ConnectivityInfo  
A list of connectivity info.  
type: array  
items: [ConnectivityInfo](definitions-connectivityinfo.md)

  
Information about a Greengrass core's connectivity.  
required: ["Id", "HostAddress"]

Id  
The ID of the connectivity information.  
type: string

HostAddress  
The endpoint for the Greengrass core. Can be an IP address or DNS address.  
type: string

PortNumber  
The port of the Greengrass core, usually 8883.  
type: integer  
format: int32

Metadata  
Metadata for this endpoint.  
type: string

# UpdateDefinitionRequestBody
<a name="parameters-updatedefinitionrequestbody"></a>

```
{
"Name": "string"
}
```

UpdateDefinitionRequestBody  
in: body  
required: true  


properties  
Name: The name of the definition. Required: true; Type: string

# UpdateGroupCertificateConfigurationRequestBody
<a name="parameters-updategroupcertificateconfigurationrequestbody"></a>

```
{
"CertificateExpiryInMilliseconds": "string"
}
```

UpdateGroupCertificateConfigurationRequestBody  
in: body  
required: true  
schema: [UpdateGroupCertificateConfigurationRequest](definitions-updategroupcertificateconfigurationrequest.md)

updateGroupCertificateConfigurationRequest  
type: object  
required: ["CertificateExpiryInMilliseconds"]

CertificateExpiryInMilliseconds  
The amount of time, in milliseconds, before the certificate expires.  
type: string

# X-Amzn-Client-Token
<a name="parameters-clienttoken"></a>

```
{
"X-Amzn-Client-Token": "string"
}
```

X-Amzn-Client-Token  
A client token used to correlate requests and responses.  
in: header  
type: string  
required: false