Module: Aws::Greengrass::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-greengrass/client_api.rb

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

Constant Summary collapse

AssociateRoleToGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateRoleToGroupRequest')
AssociateRoleToGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateRoleToGroupResponse')
AssociateServiceRoleToAccountRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateServiceRoleToAccountRequest')
AssociateServiceRoleToAccountResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'AssociateServiceRoleToAccountResponse')
BadRequestException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BadRequestException')
BulkDeployment =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BulkDeployment')
BulkDeploymentMetrics =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BulkDeploymentMetrics')
BulkDeploymentResult =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'BulkDeploymentResult')
BulkDeploymentResults =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BulkDeploymentResults')
BulkDeploymentStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'BulkDeploymentStatus')
BulkDeployments =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'BulkDeployments')
ConfigurationSyncStatus =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'ConfigurationSyncStatus')
ConnectivityInfo =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConnectivityInfo')
Connector =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Connector')
ConnectorDefinitionVersion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ConnectorDefinitionVersion')
Core =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Core')
CoreDefinitionVersion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CoreDefinitionVersion')
CreateConnectorDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateConnectorDefinitionRequest')
CreateConnectorDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateConnectorDefinitionResponse')
CreateConnectorDefinitionVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateConnectorDefinitionVersionRequest')
CreateConnectorDefinitionVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateConnectorDefinitionVersionResponse')
CreateCoreDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateCoreDefinitionRequest')
CreateCoreDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateCoreDefinitionResponse')
CreateCoreDefinitionVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateCoreDefinitionVersionRequest')
CreateCoreDefinitionVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateCoreDefinitionVersionResponse')
CreateDeploymentRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDeploymentRequest')
CreateDeploymentResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDeploymentResponse')
CreateDeviceDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDeviceDefinitionRequest')
CreateDeviceDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDeviceDefinitionResponse')
CreateDeviceDefinitionVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDeviceDefinitionVersionRequest')
CreateDeviceDefinitionVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateDeviceDefinitionVersionResponse')
CreateFunctionDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateFunctionDefinitionRequest')
CreateFunctionDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateFunctionDefinitionResponse')
CreateFunctionDefinitionVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateFunctionDefinitionVersionRequest')
CreateFunctionDefinitionVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateFunctionDefinitionVersionResponse')
CreateGroupCertificateAuthorityRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGroupCertificateAuthorityRequest')
CreateGroupCertificateAuthorityResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGroupCertificateAuthorityResponse')
CreateGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGroupRequest')
CreateGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGroupResponse')
CreateGroupVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGroupVersionRequest')
CreateGroupVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateGroupVersionResponse')
CreateLoggerDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateLoggerDefinitionRequest')
CreateLoggerDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateLoggerDefinitionResponse')
CreateLoggerDefinitionVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateLoggerDefinitionVersionRequest')
CreateLoggerDefinitionVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateLoggerDefinitionVersionResponse')
CreateResourceDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateResourceDefinitionRequest')
CreateResourceDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateResourceDefinitionResponse')
CreateResourceDefinitionVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateResourceDefinitionVersionRequest')
CreateResourceDefinitionVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateResourceDefinitionVersionResponse')
CreateSoftwareUpdateJobRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSoftwareUpdateJobRequest')
CreateSoftwareUpdateJobResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSoftwareUpdateJobResponse')
CreateSubscriptionDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSubscriptionDefinitionRequest')
CreateSubscriptionDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSubscriptionDefinitionResponse')
CreateSubscriptionDefinitionVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSubscriptionDefinitionVersionRequest')
CreateSubscriptionDefinitionVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'CreateSubscriptionDefinitionVersionResponse')
DefinitionInformation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DefinitionInformation')
DeleteConnectorDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteConnectorDefinitionRequest')
DeleteConnectorDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteConnectorDefinitionResponse')
DeleteCoreDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteCoreDefinitionRequest')
DeleteCoreDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteCoreDefinitionResponse')
DeleteDeviceDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteDeviceDefinitionRequest')
DeleteDeviceDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteDeviceDefinitionResponse')
DeleteFunctionDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteFunctionDefinitionRequest')
DeleteFunctionDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteFunctionDefinitionResponse')
DeleteGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteGroupRequest')
DeleteGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteGroupResponse')
DeleteLoggerDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteLoggerDefinitionRequest')
DeleteLoggerDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteLoggerDefinitionResponse')
DeleteResourceDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteResourceDefinitionRequest')
DeleteResourceDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteResourceDefinitionResponse')
DeleteSubscriptionDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteSubscriptionDefinitionRequest')
DeleteSubscriptionDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeleteSubscriptionDefinitionResponse')
Deployment =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Deployment')
DeploymentType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'DeploymentType')
Deployments =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'Deployments')
Device =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Device')
DeviceDefinitionVersion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DeviceDefinitionVersion')
DisassociateRoleFromGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateRoleFromGroupRequest')
DisassociateRoleFromGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateRoleFromGroupResponse')
DisassociateServiceRoleFromAccountRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateServiceRoleFromAccountRequest')
DisassociateServiceRoleFromAccountResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'DisassociateServiceRoleFromAccountResponse')
Empty =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Empty')
EncodingType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'EncodingType')
ErrorDetail =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ErrorDetail')
ErrorDetails =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'ErrorDetails')
Function =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Function')
FunctionConfiguration =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionConfiguration')
FunctionConfigurationEnvironment =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionConfigurationEnvironment')
FunctionDefaultConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionDefaultConfig')
FunctionDefaultExecutionConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionDefaultExecutionConfig')
FunctionDefinitionVersion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionDefinitionVersion')
FunctionExecutionConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionExecutionConfig')
FunctionIsolationMode =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'FunctionIsolationMode')
FunctionRunAsConfig =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'FunctionRunAsConfig')
GeneralError =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GeneralError')
GetAssociatedRoleRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAssociatedRoleRequest')
GetAssociatedRoleResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetAssociatedRoleResponse')
GetBulkDeploymentStatusRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetBulkDeploymentStatusRequest')
GetBulkDeploymentStatusResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetBulkDeploymentStatusResponse')
GetConnectivityInfoRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetConnectivityInfoRequest')
GetConnectivityInfoResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetConnectivityInfoResponse')
GetConnectorDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetConnectorDefinitionRequest')
GetConnectorDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetConnectorDefinitionResponse')
GetConnectorDefinitionVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetConnectorDefinitionVersionRequest')
GetConnectorDefinitionVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetConnectorDefinitionVersionResponse')
GetCoreDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCoreDefinitionRequest')
GetCoreDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCoreDefinitionResponse')
GetCoreDefinitionVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCoreDefinitionVersionRequest')
GetCoreDefinitionVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetCoreDefinitionVersionResponse')
GetDeploymentStatusRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDeploymentStatusRequest')
GetDeploymentStatusResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDeploymentStatusResponse')
GetDeviceDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDeviceDefinitionRequest')
GetDeviceDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDeviceDefinitionResponse')
GetDeviceDefinitionVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDeviceDefinitionVersionRequest')
GetDeviceDefinitionVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetDeviceDefinitionVersionResponse')
GetFunctionDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFunctionDefinitionRequest')
GetFunctionDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFunctionDefinitionResponse')
GetFunctionDefinitionVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFunctionDefinitionVersionRequest')
GetFunctionDefinitionVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetFunctionDefinitionVersionResponse')
GetGroupCertificateAuthorityRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetGroupCertificateAuthorityRequest')
GetGroupCertificateAuthorityResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetGroupCertificateAuthorityResponse')
GetGroupCertificateConfigurationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetGroupCertificateConfigurationRequest')
GetGroupCertificateConfigurationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetGroupCertificateConfigurationResponse')
GetGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetGroupRequest')
GetGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetGroupResponse')
GetGroupVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetGroupVersionRequest')
GetGroupVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetGroupVersionResponse')
GetLoggerDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetLoggerDefinitionRequest')
GetLoggerDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetLoggerDefinitionResponse')
GetLoggerDefinitionVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetLoggerDefinitionVersionRequest')
GetLoggerDefinitionVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetLoggerDefinitionVersionResponse')
GetResourceDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetResourceDefinitionRequest')
GetResourceDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetResourceDefinitionResponse')
GetResourceDefinitionVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetResourceDefinitionVersionRequest')
GetResourceDefinitionVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetResourceDefinitionVersionResponse')
GetServiceRoleForAccountRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetServiceRoleForAccountRequest')
GetServiceRoleForAccountResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetServiceRoleForAccountResponse')
GetSubscriptionDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSubscriptionDefinitionRequest')
GetSubscriptionDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSubscriptionDefinitionResponse')
GetSubscriptionDefinitionVersionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSubscriptionDefinitionVersionRequest')
GetSubscriptionDefinitionVersionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetSubscriptionDefinitionVersionResponse')
GetThingRuntimeConfigurationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetThingRuntimeConfigurationRequest')
GetThingRuntimeConfigurationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GetThingRuntimeConfigurationResponse')
GroupCertificateAuthorityProperties =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GroupCertificateAuthorityProperties')
GroupCertificateConfiguration =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GroupCertificateConfiguration')
GroupInformation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GroupInformation')
GroupOwnerSetting =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GroupOwnerSetting')
GroupVersion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'GroupVersion')
InternalServerErrorException =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'InternalServerErrorException')
ListBulkDeploymentDetailedReportsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListBulkDeploymentDetailedReportsRequest')
ListBulkDeploymentDetailedReportsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListBulkDeploymentDetailedReportsResponse')
ListBulkDeploymentsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListBulkDeploymentsRequest')
ListBulkDeploymentsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListBulkDeploymentsResponse')
ListConnectorDefinitionVersionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListConnectorDefinitionVersionsRequest')
ListConnectorDefinitionVersionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListConnectorDefinitionVersionsResponse')
ListConnectorDefinitionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListConnectorDefinitionsRequest')
ListConnectorDefinitionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListConnectorDefinitionsResponse')
ListCoreDefinitionVersionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCoreDefinitionVersionsRequest')
ListCoreDefinitionVersionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCoreDefinitionVersionsResponse')
ListCoreDefinitionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCoreDefinitionsRequest')
ListCoreDefinitionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListCoreDefinitionsResponse')
ListDefinitionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDefinitionsResponse')
ListDeploymentsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDeploymentsRequest')
ListDeploymentsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDeploymentsResponse')
ListDeviceDefinitionVersionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDeviceDefinitionVersionsRequest')
ListDeviceDefinitionVersionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDeviceDefinitionVersionsResponse')
ListDeviceDefinitionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDeviceDefinitionsRequest')
ListDeviceDefinitionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListDeviceDefinitionsResponse')
ListFunctionDefinitionVersionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListFunctionDefinitionVersionsRequest')
ListFunctionDefinitionVersionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListFunctionDefinitionVersionsResponse')
ListFunctionDefinitionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListFunctionDefinitionsRequest')
ListFunctionDefinitionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListFunctionDefinitionsResponse')
ListGroupCertificateAuthoritiesRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGroupCertificateAuthoritiesRequest')
ListGroupCertificateAuthoritiesResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGroupCertificateAuthoritiesResponse')
ListGroupVersionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGroupVersionsRequest')
ListGroupVersionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGroupVersionsResponse')
ListGroupsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGroupsRequest')
ListGroupsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListGroupsResponse')
ListLoggerDefinitionVersionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListLoggerDefinitionVersionsRequest')
ListLoggerDefinitionVersionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListLoggerDefinitionVersionsResponse')
ListLoggerDefinitionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListLoggerDefinitionsRequest')
ListLoggerDefinitionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListLoggerDefinitionsResponse')
ListResourceDefinitionVersionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListResourceDefinitionVersionsRequest')
ListResourceDefinitionVersionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListResourceDefinitionVersionsResponse')
ListResourceDefinitionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListResourceDefinitionsRequest')
ListResourceDefinitionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListResourceDefinitionsResponse')
ListSubscriptionDefinitionVersionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSubscriptionDefinitionVersionsRequest')
ListSubscriptionDefinitionVersionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSubscriptionDefinitionVersionsResponse')
ListSubscriptionDefinitionsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSubscriptionDefinitionsRequest')
ListSubscriptionDefinitionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListSubscriptionDefinitionsResponse')
ListTagsForResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
ListTagsForResourceResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
ListVersionsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ListVersionsResponse')
LocalDeviceResourceData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LocalDeviceResourceData')
LocalVolumeResourceData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LocalVolumeResourceData')
Logger =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Logger')
LoggerComponent =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'LoggerComponent')
LoggerDefinitionVersion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'LoggerDefinitionVersion')
LoggerLevel =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'LoggerLevel')
LoggerType =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'LoggerType')
Permission =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Permission')
ResetDeploymentsRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResetDeploymentsRequest')
ResetDeploymentsResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResetDeploymentsResponse')
Resource =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Resource')
ResourceAccessPolicy =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceAccessPolicy')
ResourceDataContainer =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceDataContainer')
ResourceDefinitionVersion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceDefinitionVersion')
ResourceDownloadOwnerSetting =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'ResourceDownloadOwnerSetting')
RuntimeConfiguration =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RuntimeConfiguration')
RuntimeConfigurationUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'RuntimeConfigurationUpdate')
S3MachineLearningModelResourceData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'S3MachineLearningModelResourceData')
S3UrlSignerRole =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'S3UrlSignerRole')
SageMakerMachineLearningModelResourceData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SageMakerMachineLearningModelResourceData')
SecretsManagerSecretResourceData =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SecretsManagerSecretResourceData')
SoftwareToUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'SoftwareToUpdate')
StartBulkDeploymentRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StartBulkDeploymentRequest')
StartBulkDeploymentResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StartBulkDeploymentResponse')
StopBulkDeploymentRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StopBulkDeploymentRequest')
StopBulkDeploymentResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'StopBulkDeploymentResponse')
Subscription =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'Subscription')
SubscriptionDefinitionVersion =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'SubscriptionDefinitionVersion')
TagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TagResourceRequest')
Tags =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::MapShape.new(name: 'Tags')
Telemetry =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'Telemetry')
TelemetryConfiguration =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TelemetryConfiguration')
TelemetryConfigurationUpdate =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'TelemetryConfigurationUpdate')
UntagResourceRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UntagResourceRequest')
UpdateAgentLogLevel =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'UpdateAgentLogLevel')
UpdateConnectivityInfoRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateConnectivityInfoRequest')
UpdateConnectivityInfoResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateConnectivityInfoResponse')
UpdateConnectorDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateConnectorDefinitionRequest')
UpdateConnectorDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateConnectorDefinitionResponse')
UpdateCoreDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateCoreDefinitionRequest')
UpdateCoreDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateCoreDefinitionResponse')
UpdateDeviceDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateDeviceDefinitionRequest')
UpdateDeviceDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateDeviceDefinitionResponse')
UpdateFunctionDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateFunctionDefinitionRequest')
UpdateFunctionDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateFunctionDefinitionResponse')
UpdateGroupCertificateConfigurationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateGroupCertificateConfigurationRequest')
UpdateGroupCertificateConfigurationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateGroupCertificateConfigurationResponse')
UpdateGroupRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateGroupRequest')
UpdateGroupResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateGroupResponse')
UpdateLoggerDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateLoggerDefinitionRequest')
UpdateLoggerDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateLoggerDefinitionResponse')
UpdateResourceDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateResourceDefinitionRequest')
UpdateResourceDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateResourceDefinitionResponse')
UpdateSubscriptionDefinitionRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateSubscriptionDefinitionRequest')
UpdateSubscriptionDefinitionResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateSubscriptionDefinitionResponse')
UpdateTargets =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::ListShape.new(name: 'UpdateTargets')
UpdateTargetsArchitecture =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'UpdateTargetsArchitecture')
UpdateTargetsOperatingSystem =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StringShape.new(name: 'UpdateTargetsOperatingSystem')
UpdateThingRuntimeConfigurationRequest =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateThingRuntimeConfigurationRequest')
UpdateThingRuntimeConfigurationResponse =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'UpdateThingRuntimeConfigurationResponse')
VersionInformation =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Shapes::StructureShape.new(name: 'VersionInformation')
API =

This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.

Seahorse::Model::Api.new.tap do |api|

  api.version = "2017-06-07"

  api. = {
    "apiVersion" => "2017-06-07",
    "endpointPrefix" => "greengrass",
    "jsonVersion" => "1.1",
    "protocol" => "rest-json",
    "serviceFullName" => "AWS Greengrass",
    "serviceId" => "Greengrass",
    "signatureVersion" => "v4",
    "signingName" => "greengrass",
    "uid" => "greengrass-2017-06-07",
  }

  api.add_operation(:associate_role_to_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AssociateRoleToGroup"
    o.http_method = "PUT"
    o.http_request_uri = "/greengrass/groups/{GroupId}/role"
    o.input = Shapes::ShapeRef.new(shape: AssociateRoleToGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: AssociateRoleToGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:associate_service_role_to_account, Seahorse::Model::Operation.new.tap do |o|
    o.name = "AssociateServiceRoleToAccount"
    o.http_method = "PUT"
    o.http_request_uri = "/greengrass/servicerole"
    o.input = Shapes::ShapeRef.new(shape: AssociateServiceRoleToAccountRequest)
    o.output = Shapes::ShapeRef.new(shape: AssociateServiceRoleToAccountResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:create_connector_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateConnectorDefinition"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/definition/connectors"
    o.input = Shapes::ShapeRef.new(shape: CreateConnectorDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateConnectorDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_connector_definition_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateConnectorDefinitionVersion"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/definition/connectors/{ConnectorDefinitionId}/versions"
    o.input = Shapes::ShapeRef.new(shape: CreateConnectorDefinitionVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateConnectorDefinitionVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_core_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateCoreDefinition"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/definition/cores"
    o.input = Shapes::ShapeRef.new(shape: CreateCoreDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateCoreDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_core_definition_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateCoreDefinitionVersion"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/definition/cores/{CoreDefinitionId}/versions"
    o.input = Shapes::ShapeRef.new(shape: CreateCoreDefinitionVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateCoreDefinitionVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_deployment, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateDeployment"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/groups/{GroupId}/deployments"
    o.input = Shapes::ShapeRef.new(shape: CreateDeploymentRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateDeploymentResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_device_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateDeviceDefinition"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/definition/devices"
    o.input = Shapes::ShapeRef.new(shape: CreateDeviceDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateDeviceDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_device_definition_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateDeviceDefinitionVersion"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/definition/devices/{DeviceDefinitionId}/versions"
    o.input = Shapes::ShapeRef.new(shape: CreateDeviceDefinitionVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateDeviceDefinitionVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_function_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateFunctionDefinition"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/definition/functions"
    o.input = Shapes::ShapeRef.new(shape: CreateFunctionDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateFunctionDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_function_definition_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateFunctionDefinitionVersion"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/definition/functions/{FunctionDefinitionId}/versions"
    o.input = Shapes::ShapeRef.new(shape: CreateFunctionDefinitionVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateFunctionDefinitionVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateGroup"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/groups"
    o.input = Shapes::ShapeRef.new(shape: CreateGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_group_certificate_authority, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateGroupCertificateAuthority"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/groups/{GroupId}/certificateauthorities"
    o.input = Shapes::ShapeRef.new(shape: CreateGroupCertificateAuthorityRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateGroupCertificateAuthorityResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:create_group_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateGroupVersion"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/groups/{GroupId}/versions"
    o.input = Shapes::ShapeRef.new(shape: CreateGroupVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateGroupVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_logger_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateLoggerDefinition"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/definition/loggers"
    o.input = Shapes::ShapeRef.new(shape: CreateLoggerDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateLoggerDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_logger_definition_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateLoggerDefinitionVersion"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/definition/loggers/{LoggerDefinitionId}/versions"
    o.input = Shapes::ShapeRef.new(shape: CreateLoggerDefinitionVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateLoggerDefinitionVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_resource_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateResourceDefinition"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/definition/resources"
    o.input = Shapes::ShapeRef.new(shape: CreateResourceDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateResourceDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_resource_definition_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateResourceDefinitionVersion"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/definition/resources/{ResourceDefinitionId}/versions"
    o.input = Shapes::ShapeRef.new(shape: CreateResourceDefinitionVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateResourceDefinitionVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_software_update_job, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateSoftwareUpdateJob"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/updates"
    o.input = Shapes::ShapeRef.new(shape: CreateSoftwareUpdateJobRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateSoftwareUpdateJobResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:create_subscription_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateSubscriptionDefinition"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/definition/subscriptions"
    o.input = Shapes::ShapeRef.new(shape: CreateSubscriptionDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateSubscriptionDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:create_subscription_definition_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateSubscriptionDefinitionVersion"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions"
    o.input = Shapes::ShapeRef.new(shape: CreateSubscriptionDefinitionVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateSubscriptionDefinitionVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:delete_connector_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteConnectorDefinition"
    o.http_method = "DELETE"
    o.http_request_uri = "/greengrass/definition/connectors/{ConnectorDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: DeleteConnectorDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteConnectorDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:delete_core_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteCoreDefinition"
    o.http_method = "DELETE"
    o.http_request_uri = "/greengrass/definition/cores/{CoreDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: DeleteCoreDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteCoreDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:delete_device_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteDeviceDefinition"
    o.http_method = "DELETE"
    o.http_request_uri = "/greengrass/definition/devices/{DeviceDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: DeleteDeviceDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteDeviceDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:delete_function_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteFunctionDefinition"
    o.http_method = "DELETE"
    o.http_request_uri = "/greengrass/definition/functions/{FunctionDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: DeleteFunctionDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteFunctionDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:delete_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteGroup"
    o.http_method = "DELETE"
    o.http_request_uri = "/greengrass/groups/{GroupId}"
    o.input = Shapes::ShapeRef.new(shape: DeleteGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:delete_logger_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteLoggerDefinition"
    o.http_method = "DELETE"
    o.http_request_uri = "/greengrass/definition/loggers/{LoggerDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: DeleteLoggerDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteLoggerDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:delete_resource_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteResourceDefinition"
    o.http_method = "DELETE"
    o.http_request_uri = "/greengrass/definition/resources/{ResourceDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: DeleteResourceDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteResourceDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:delete_subscription_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteSubscriptionDefinition"
    o.http_method = "DELETE"
    o.http_request_uri = "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: DeleteSubscriptionDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: DeleteSubscriptionDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:disassociate_role_from_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisassociateRoleFromGroup"
    o.http_method = "DELETE"
    o.http_request_uri = "/greengrass/groups/{GroupId}/role"
    o.input = Shapes::ShapeRef.new(shape: DisassociateRoleFromGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: DisassociateRoleFromGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:disassociate_service_role_from_account, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DisassociateServiceRoleFromAccount"
    o.http_method = "DELETE"
    o.http_request_uri = "/greengrass/servicerole"
    o.input = Shapes::ShapeRef.new(shape: DisassociateServiceRoleFromAccountRequest)
    o.output = Shapes::ShapeRef.new(shape: DisassociateServiceRoleFromAccountResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:get_associated_role, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetAssociatedRole"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/groups/{GroupId}/role"
    o.input = Shapes::ShapeRef.new(shape: GetAssociatedRoleRequest)
    o.output = Shapes::ShapeRef.new(shape: GetAssociatedRoleResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:get_bulk_deployment_status, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetBulkDeploymentStatus"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/bulk/deployments/{BulkDeploymentId}/status"
    o.input = Shapes::ShapeRef.new(shape: GetBulkDeploymentStatusRequest)
    o.output = Shapes::ShapeRef.new(shape: GetBulkDeploymentStatusResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_connectivity_info, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetConnectivityInfo"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/things/{ThingName}/connectivityInfo"
    o.input = Shapes::ShapeRef.new(shape: GetConnectivityInfoRequest)
    o.output = Shapes::ShapeRef.new(shape: GetConnectivityInfoResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:get_connector_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetConnectorDefinition"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/connectors/{ConnectorDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: GetConnectorDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetConnectorDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_connector_definition_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetConnectorDefinitionVersion"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/connectors/{ConnectorDefinitionId}/versions/{ConnectorDefinitionVersionId}"
    o.input = Shapes::ShapeRef.new(shape: GetConnectorDefinitionVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetConnectorDefinitionVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_core_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetCoreDefinition"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/cores/{CoreDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: GetCoreDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetCoreDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_core_definition_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetCoreDefinitionVersion"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/cores/{CoreDefinitionId}/versions/{CoreDefinitionVersionId}"
    o.input = Shapes::ShapeRef.new(shape: GetCoreDefinitionVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetCoreDefinitionVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_deployment_status, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDeploymentStatus"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/groups/{GroupId}/deployments/{DeploymentId}/status"
    o.input = Shapes::ShapeRef.new(shape: GetDeploymentStatusRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDeploymentStatusResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_device_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDeviceDefinition"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/devices/{DeviceDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: GetDeviceDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDeviceDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_device_definition_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDeviceDefinitionVersion"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/devices/{DeviceDefinitionId}/versions/{DeviceDefinitionVersionId}"
    o.input = Shapes::ShapeRef.new(shape: GetDeviceDefinitionVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDeviceDefinitionVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_function_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetFunctionDefinition"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/functions/{FunctionDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: GetFunctionDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetFunctionDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_function_definition_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetFunctionDefinitionVersion"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/functions/{FunctionDefinitionId}/versions/{FunctionDefinitionVersionId}"
    o.input = Shapes::ShapeRef.new(shape: GetFunctionDefinitionVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetFunctionDefinitionVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetGroup"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/groups/{GroupId}"
    o.input = Shapes::ShapeRef.new(shape: GetGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: GetGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_group_certificate_authority, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetGroupCertificateAuthority"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/groups/{GroupId}/certificateauthorities/{CertificateAuthorityId}"
    o.input = Shapes::ShapeRef.new(shape: GetGroupCertificateAuthorityRequest)
    o.output = Shapes::ShapeRef.new(shape: GetGroupCertificateAuthorityResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:get_group_certificate_configuration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetGroupCertificateConfiguration"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry"
    o.input = Shapes::ShapeRef.new(shape: GetGroupCertificateConfigurationRequest)
    o.output = Shapes::ShapeRef.new(shape: GetGroupCertificateConfigurationResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:get_group_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetGroupVersion"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/groups/{GroupId}/versions/{GroupVersionId}"
    o.input = Shapes::ShapeRef.new(shape: GetGroupVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetGroupVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_logger_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetLoggerDefinition"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/loggers/{LoggerDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: GetLoggerDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetLoggerDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_logger_definition_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetLoggerDefinitionVersion"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/loggers/{LoggerDefinitionId}/versions/{LoggerDefinitionVersionId}"
    o.input = Shapes::ShapeRef.new(shape: GetLoggerDefinitionVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetLoggerDefinitionVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_resource_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetResourceDefinition"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/resources/{ResourceDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: GetResourceDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetResourceDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_resource_definition_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetResourceDefinitionVersion"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/resources/{ResourceDefinitionId}/versions/{ResourceDefinitionVersionId}"
    o.input = Shapes::ShapeRef.new(shape: GetResourceDefinitionVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetResourceDefinitionVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_service_role_for_account, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetServiceRoleForAccount"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/servicerole"
    o.input = Shapes::ShapeRef.new(shape: GetServiceRoleForAccountRequest)
    o.output = Shapes::ShapeRef.new(shape: GetServiceRoleForAccountResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:get_subscription_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSubscriptionDefinition"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: GetSubscriptionDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetSubscriptionDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_subscription_definition_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetSubscriptionDefinitionVersion"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions/{SubscriptionDefinitionVersionId}"
    o.input = Shapes::ShapeRef.new(shape: GetSubscriptionDefinitionVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: GetSubscriptionDefinitionVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:get_thing_runtime_configuration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetThingRuntimeConfiguration"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/things/{ThingName}/runtimeconfig"
    o.input = Shapes::ShapeRef.new(shape: GetThingRuntimeConfigurationRequest)
    o.output = Shapes::ShapeRef.new(shape: GetThingRuntimeConfigurationResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:list_bulk_deployment_detailed_reports, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListBulkDeploymentDetailedReports"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/bulk/deployments/{BulkDeploymentId}/detailed-reports"
    o.input = Shapes::ShapeRef.new(shape: ListBulkDeploymentDetailedReportsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListBulkDeploymentDetailedReportsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:list_bulk_deployments, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListBulkDeployments"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/bulk/deployments"
    o.input = Shapes::ShapeRef.new(shape: ListBulkDeploymentsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListBulkDeploymentsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:list_connector_definition_versions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListConnectorDefinitionVersions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/connectors/{ConnectorDefinitionId}/versions"
    o.input = Shapes::ShapeRef.new(shape: ListConnectorDefinitionVersionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListConnectorDefinitionVersionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:list_connector_definitions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListConnectorDefinitions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/connectors"
    o.input = Shapes::ShapeRef.new(shape: ListConnectorDefinitionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListConnectorDefinitionsResponse)
  end)

  api.add_operation(:list_core_definition_versions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListCoreDefinitionVersions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/cores/{CoreDefinitionId}/versions"
    o.input = Shapes::ShapeRef.new(shape: ListCoreDefinitionVersionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListCoreDefinitionVersionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:list_core_definitions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListCoreDefinitions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/cores"
    o.input = Shapes::ShapeRef.new(shape: ListCoreDefinitionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListCoreDefinitionsResponse)
  end)

  api.add_operation(:list_deployments, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDeployments"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/groups/{GroupId}/deployments"
    o.input = Shapes::ShapeRef.new(shape: ListDeploymentsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDeploymentsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:list_device_definition_versions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDeviceDefinitionVersions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/devices/{DeviceDefinitionId}/versions"
    o.input = Shapes::ShapeRef.new(shape: ListDeviceDefinitionVersionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDeviceDefinitionVersionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:list_device_definitions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListDeviceDefinitions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/devices"
    o.input = Shapes::ShapeRef.new(shape: ListDeviceDefinitionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDeviceDefinitionsResponse)
  end)

  api.add_operation(:list_function_definition_versions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListFunctionDefinitionVersions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/functions/{FunctionDefinitionId}/versions"
    o.input = Shapes::ShapeRef.new(shape: ListFunctionDefinitionVersionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListFunctionDefinitionVersionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:list_function_definitions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListFunctionDefinitions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/functions"
    o.input = Shapes::ShapeRef.new(shape: ListFunctionDefinitionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListFunctionDefinitionsResponse)
  end)

  api.add_operation(:list_group_certificate_authorities, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListGroupCertificateAuthorities"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/groups/{GroupId}/certificateauthorities"
    o.input = Shapes::ShapeRef.new(shape: ListGroupCertificateAuthoritiesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListGroupCertificateAuthoritiesResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:list_group_versions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListGroupVersions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/groups/{GroupId}/versions"
    o.input = Shapes::ShapeRef.new(shape: ListGroupVersionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListGroupVersionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:list_groups, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListGroups"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/groups"
    o.input = Shapes::ShapeRef.new(shape: ListGroupsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListGroupsResponse)
  end)

  api.add_operation(:list_logger_definition_versions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListLoggerDefinitionVersions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/loggers/{LoggerDefinitionId}/versions"
    o.input = Shapes::ShapeRef.new(shape: ListLoggerDefinitionVersionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListLoggerDefinitionVersionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:list_logger_definitions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListLoggerDefinitions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/loggers"
    o.input = Shapes::ShapeRef.new(shape: ListLoggerDefinitionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListLoggerDefinitionsResponse)
  end)

  api.add_operation(:list_resource_definition_versions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListResourceDefinitionVersions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/resources/{ResourceDefinitionId}/versions"
    o.input = Shapes::ShapeRef.new(shape: ListResourceDefinitionVersionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListResourceDefinitionVersionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:list_resource_definitions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListResourceDefinitions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/resources"
    o.input = Shapes::ShapeRef.new(shape: ListResourceDefinitionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListResourceDefinitionsResponse)
  end)

  api.add_operation(:list_subscription_definition_versions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListSubscriptionDefinitionVersions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}/versions"
    o.input = Shapes::ShapeRef.new(shape: ListSubscriptionDefinitionVersionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListSubscriptionDefinitionVersionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:list_subscription_definitions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListSubscriptionDefinitions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/definition/subscriptions"
    o.input = Shapes::ShapeRef.new(shape: ListSubscriptionDefinitionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListSubscriptionDefinitionsResponse)
  end)

  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListTagsForResource"
    o.http_method = "GET"
    o.http_request_uri = "/tags/{resource-arn}"
    o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:reset_deployments, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ResetDeployments"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/groups/{GroupId}/deployments/$reset"
    o.input = Shapes::ShapeRef.new(shape: ResetDeploymentsRequest)
    o.output = Shapes::ShapeRef.new(shape: ResetDeploymentsResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:start_bulk_deployment, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StartBulkDeployment"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/bulk/deployments"
    o.input = Shapes::ShapeRef.new(shape: StartBulkDeploymentRequest)
    o.output = Shapes::ShapeRef.new(shape: StartBulkDeploymentResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:stop_bulk_deployment, Seahorse::Model::Operation.new.tap do |o|
    o.name = "StopBulkDeployment"
    o.http_method = "PUT"
    o.http_request_uri = "/greengrass/bulk/deployments/{BulkDeploymentId}/$stop"
    o.input = Shapes::ShapeRef.new(shape: StopBulkDeploymentRequest)
    o.output = Shapes::ShapeRef.new(shape: StopBulkDeploymentResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "TagResource"
    o.http_method = "POST"
    o.http_request_uri = "/tags/{resource-arn}"
    o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UntagResource"
    o.http_method = "DELETE"
    o.http_request_uri = "/tags/{resource-arn}"
    o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:update_connectivity_info, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateConnectivityInfo"
    o.http_method = "PUT"
    o.http_request_uri = "/greengrass/things/{ThingName}/connectivityInfo"
    o.input = Shapes::ShapeRef.new(shape: UpdateConnectivityInfoRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateConnectivityInfoResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:update_connector_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateConnectorDefinition"
    o.http_method = "PUT"
    o.http_request_uri = "/greengrass/definition/connectors/{ConnectorDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: UpdateConnectorDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateConnectorDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:update_core_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateCoreDefinition"
    o.http_method = "PUT"
    o.http_request_uri = "/greengrass/definition/cores/{CoreDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: UpdateCoreDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateCoreDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:update_device_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateDeviceDefinition"
    o.http_method = "PUT"
    o.http_request_uri = "/greengrass/definition/devices/{DeviceDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: UpdateDeviceDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateDeviceDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:update_function_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateFunctionDefinition"
    o.http_method = "PUT"
    o.http_request_uri = "/greengrass/definition/functions/{FunctionDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: UpdateFunctionDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateFunctionDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:update_group, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateGroup"
    o.http_method = "PUT"
    o.http_request_uri = "/greengrass/groups/{GroupId}"
    o.input = Shapes::ShapeRef.new(shape: UpdateGroupRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateGroupResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:update_group_certificate_configuration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateGroupCertificateConfiguration"
    o.http_method = "PUT"
    o.http_request_uri = "/greengrass/groups/{GroupId}/certificateauthorities/configuration/expiry"
    o.input = Shapes::ShapeRef.new(shape: UpdateGroupCertificateConfigurationRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateGroupCertificateConfigurationResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)

  api.add_operation(:update_logger_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateLoggerDefinition"
    o.http_method = "PUT"
    o.http_request_uri = "/greengrass/definition/loggers/{LoggerDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: UpdateLoggerDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateLoggerDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:update_resource_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateResourceDefinition"
    o.http_method = "PUT"
    o.http_request_uri = "/greengrass/definition/resources/{ResourceDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: UpdateResourceDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateResourceDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:update_subscription_definition, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateSubscriptionDefinition"
    o.http_method = "PUT"
    o.http_request_uri = "/greengrass/definition/subscriptions/{SubscriptionDefinitionId}"
    o.input = Shapes::ShapeRef.new(shape: UpdateSubscriptionDefinitionRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateSubscriptionDefinitionResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
  end)

  api.add_operation(:update_thing_runtime_configuration, Seahorse::Model::Operation.new.tap do |o|
    o.name = "UpdateThingRuntimeConfiguration"
    o.http_method = "PUT"
    o.http_request_uri = "/greengrass/things/{ThingName}/runtimeconfig"
    o.input = Shapes::ShapeRef.new(shape: UpdateThingRuntimeConfigurationRequest)
    o.output = Shapes::ShapeRef.new(shape: UpdateThingRuntimeConfigurationResponse)
    o.errors << Shapes::ShapeRef.new(shape: BadRequestException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerErrorException)
  end)
end