Module: Aws::GreengrassV2::ClientApi Private

Includes:
Seahorse::Model
Defined in:
lib/aws-sdk-greengrassv2/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

AccessDeniedException =

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: 'AccessDeniedException')
AssociateClientDeviceWithCoreDeviceEntry =

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: 'AssociateClientDeviceWithCoreDeviceEntry')
AssociateClientDeviceWithCoreDeviceEntryList =

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: 'AssociateClientDeviceWithCoreDeviceEntryList')
AssociateClientDeviceWithCoreDeviceErrorEntry =

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: 'AssociateClientDeviceWithCoreDeviceErrorEntry')
AssociateClientDeviceWithCoreDeviceErrorList =

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: 'AssociateClientDeviceWithCoreDeviceErrorList')
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')
AssociatedClientDevice =

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: 'AssociatedClientDevice')
AssociatedClientDeviceList =

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: 'AssociatedClientDeviceList')
BatchAssociateClientDeviceWithCoreDeviceRequest =

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: 'BatchAssociateClientDeviceWithCoreDeviceRequest')
BatchAssociateClientDeviceWithCoreDeviceResponse =

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: 'BatchAssociateClientDeviceWithCoreDeviceResponse')
BatchDisassociateClientDeviceFromCoreDeviceRequest =

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: 'BatchDisassociateClientDeviceFromCoreDeviceRequest')
BatchDisassociateClientDeviceFromCoreDeviceResponse =

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: 'BatchDisassociateClientDeviceFromCoreDeviceResponse')
CPU =

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::FloatShape.new(name: 'CPU')
CancelDeploymentRequest =

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: 'CancelDeploymentRequest')
CancelDeploymentResponse =

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: 'CancelDeploymentResponse')
ClientTokenString =

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: 'ClientTokenString')
CloudComponentState =

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: 'CloudComponentState')
CloudComponentStatus =

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: 'CloudComponentStatus')
Component =

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: 'Component')
ComponentARN =

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: 'ComponentARN')
ComponentCandidate =

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: 'ComponentCandidate')
ComponentCandidateList =

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: 'ComponentCandidateList')
ComponentConfigurationPath =

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: 'ComponentConfigurationPath')
ComponentConfigurationPathList =

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: 'ComponentConfigurationPathList')
ComponentConfigurationString =

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: 'ComponentConfigurationString')
ComponentConfigurationUpdate =

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: 'ComponentConfigurationUpdate')
ComponentDependencyMap =

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: 'ComponentDependencyMap')
ComponentDependencyRequirement =

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: 'ComponentDependencyRequirement')
ComponentDependencyType =

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: 'ComponentDependencyType')
ComponentDeploymentSpecification =

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: 'ComponentDeploymentSpecification')
ComponentDeploymentSpecifications =

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: 'ComponentDeploymentSpecifications')
ComponentLatestVersion =

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: 'ComponentLatestVersion')
ComponentList =

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: 'ComponentList')
ComponentNameString =

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: 'ComponentNameString')
ComponentPlatform =

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: 'ComponentPlatform')
ComponentPlatformList =

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: 'ComponentPlatformList')
ComponentRunWith =

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: 'ComponentRunWith')
ComponentVersionARN =

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: 'ComponentVersionARN')
ComponentVersionList =

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: 'ComponentVersionList')
ComponentVersionListItem =

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: 'ComponentVersionListItem')
ComponentVersionRequirementMap =

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: 'ComponentVersionRequirementMap')
ComponentVersionString =

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: 'ComponentVersionString')
ComponentVisibilityScope =

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: 'ComponentVisibilityScope')
ConflictException =

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: 'ConflictException')
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')
CoreDevice =

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: 'CoreDevice')
CoreDeviceArchitectureString =

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: 'CoreDeviceArchitectureString')
CoreDevicePlatformString =

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: 'CoreDevicePlatformString')
CoreDeviceStatus =

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: 'CoreDeviceStatus')
CoreDeviceThingName =

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: 'CoreDeviceThingName')
CoreDevicesList =

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: 'CoreDevicesList')
CreateComponentVersionRequest =

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: 'CreateComponentVersionRequest')
CreateComponentVersionResponse =

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: 'CreateComponentVersionResponse')
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')
DefaultMaxResults =

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::IntegerShape.new(name: 'DefaultMaxResults')
DeleteComponentRequest =

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: 'DeleteComponentRequest')
DeleteCoreDeviceRequest =

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: 'DeleteCoreDeviceRequest')
DeleteDeploymentRequest =

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: 'DeleteDeploymentRequest')
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')
DeploymentComponentUpdatePolicy =

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: 'DeploymentComponentUpdatePolicy')
DeploymentComponentUpdatePolicyAction =

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: 'DeploymentComponentUpdatePolicyAction')
DeploymentConfigurationValidationPolicy =

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: 'DeploymentConfigurationValidationPolicy')
DeploymentFailureHandlingPolicy =

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: 'DeploymentFailureHandlingPolicy')
DeploymentHistoryFilter =

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: 'DeploymentHistoryFilter')
DeploymentID =

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: 'DeploymentID')
DeploymentIoTJobConfiguration =

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: 'DeploymentIoTJobConfiguration')
DeploymentList =

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: 'DeploymentList')
DeploymentName =

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: 'DeploymentName')
DeploymentNameString =

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: 'DeploymentNameString')
DeploymentPolicies =

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: 'DeploymentPolicies')
DeploymentStatus =

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: 'DeploymentStatus')
DescribeComponentRequest =

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: 'DescribeComponentRequest')
DescribeComponentResponse =

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: 'DescribeComponentResponse')
Description =

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: 'Description')
DescriptionString =

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: 'DescriptionString')
DisassociateClientDeviceFromCoreDeviceEntry =

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: 'DisassociateClientDeviceFromCoreDeviceEntry')
DisassociateClientDeviceFromCoreDeviceEntryList =

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: 'DisassociateClientDeviceFromCoreDeviceEntryList')
DisassociateClientDeviceFromCoreDeviceErrorEntry =

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: 'DisassociateClientDeviceFromCoreDeviceErrorEntry')
DisassociateClientDeviceFromCoreDeviceErrorList =

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: 'DisassociateClientDeviceFromCoreDeviceErrorList')
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')
EffectiveDeployment =

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: 'EffectiveDeployment')
EffectiveDeploymentErrorCode =

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: 'EffectiveDeploymentErrorCode')
EffectiveDeploymentErrorStack =

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: 'EffectiveDeploymentErrorStack')
EffectiveDeploymentErrorType =

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: 'EffectiveDeploymentErrorType')
EffectiveDeploymentErrorTypeList =

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: 'EffectiveDeploymentErrorTypeList')
EffectiveDeploymentExecutionStatus =

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: 'EffectiveDeploymentExecutionStatus')
EffectiveDeploymentStatusDetails =

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: 'EffectiveDeploymentStatusDetails')
EffectiveDeploymentsList =

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: 'EffectiveDeploymentsList')
FileSystemPath =

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: 'FileSystemPath')
GGCVersion =

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: 'GGCVersion')
GenericV2ARN =

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: 'GenericV2ARN')
GetComponentRequest =

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: 'GetComponentRequest')
GetComponentResponse =

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: 'GetComponentResponse')
GetComponentVersionArtifactRequest =

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: 'GetComponentVersionArtifactRequest')
GetComponentVersionArtifactResponse =

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: 'GetComponentVersionArtifactResponse')
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')
GetCoreDeviceRequest =

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: 'GetCoreDeviceRequest')
GetCoreDeviceResponse =

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: 'GetCoreDeviceResponse')
GetDeploymentRequest =

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: 'GetDeploymentRequest')
GetDeploymentResponse =

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: 'GetDeploymentResponse')
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')
InstalledComponent =

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: 'InstalledComponent')
InstalledComponentLifecycleState =

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: 'InstalledComponentLifecycleState')
InstalledComponentLifecycleStatusCode =

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: 'InstalledComponentLifecycleStatusCode')
InstalledComponentLifecycleStatusCodeList =

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: 'InstalledComponentLifecycleStatusCodeList')
InstalledComponentList =

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: 'InstalledComponentList')
InstalledComponentTopologyFilter =

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: 'InstalledComponentTopologyFilter')
InternalServerException =

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: 'InternalServerException')
IoTJobARN =

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: 'IoTJobARN')
IoTJobAbortAction =

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: 'IoTJobAbortAction')
IoTJobAbortConfig =

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: 'IoTJobAbortConfig')
IoTJobAbortCriteria =

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: 'IoTJobAbortCriteria')
IoTJobAbortCriteriaList =

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: 'IoTJobAbortCriteriaList')
IoTJobAbortThresholdPercentage =

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::FloatShape.new(name: 'IoTJobAbortThresholdPercentage')
IoTJobExecutionFailureType =

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: 'IoTJobExecutionFailureType')
IoTJobExecutionsRolloutConfig =

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: 'IoTJobExecutionsRolloutConfig')
IoTJobExponentialRolloutRate =

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: 'IoTJobExponentialRolloutRate')
IoTJobId =

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: 'IoTJobId')
IoTJobInProgressTimeoutInMinutes =

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::IntegerShape.new(name: 'IoTJobInProgressTimeoutInMinutes')
IoTJobMaxExecutionsPerMin =

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::IntegerShape.new(name: 'IoTJobMaxExecutionsPerMin')
IoTJobMinimumNumberOfExecutedThings =

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::IntegerShape.new(name: 'IoTJobMinimumNumberOfExecutedThings')
IoTJobNumberOfThings =

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::IntegerShape.new(name: 'IoTJobNumberOfThings')
IoTJobRateIncreaseCriteria =

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: 'IoTJobRateIncreaseCriteria')
IoTJobRolloutBaseRatePerMinute =

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::IntegerShape.new(name: 'IoTJobRolloutBaseRatePerMinute')
IoTJobRolloutIncrementFactor =

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::FloatShape.new(name: 'IoTJobRolloutIncrementFactor')
IoTJobTimeoutConfig =

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: 'IoTJobTimeoutConfig')
IoTThingName =

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: 'IoTThingName')
IotEndpointType =

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: 'IotEndpointType')
IsLatestForTarget =

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::BooleanShape.new(name: 'IsLatestForTarget')
IsRoot =

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::BooleanShape.new(name: 'IsRoot')
LambdaContainerParams =

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: 'LambdaContainerParams')
LambdaDeviceList =

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: 'LambdaDeviceList')
LambdaDeviceMount =

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: 'LambdaDeviceMount')
LambdaEnvironmentVariables =

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: 'LambdaEnvironmentVariables')
LambdaEventSource =

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: 'LambdaEventSource')
LambdaEventSourceList =

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: 'LambdaEventSourceList')
LambdaEventSourceType =

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: 'LambdaEventSourceType')
LambdaExecArg =

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: 'LambdaExecArg')
LambdaExecArgsList =

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: 'LambdaExecArgsList')
LambdaExecutionParameters =

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: 'LambdaExecutionParameters')
LambdaFilesystemPermission =

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: 'LambdaFilesystemPermission')
LambdaFunctionRecipeSource =

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: 'LambdaFunctionRecipeSource')
LambdaInputPayloadEncodingType =

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: 'LambdaInputPayloadEncodingType')
LambdaIsolationMode =

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: 'LambdaIsolationMode')
LambdaLinuxProcessParams =

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: 'LambdaLinuxProcessParams')
LambdaVolumeList =

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: 'LambdaVolumeList')
LambdaVolumeMount =

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: 'LambdaVolumeMount')
LifecycleStateDetails =

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: 'LifecycleStateDetails')
ListClientDevicesAssociatedWithCoreDeviceRequest =

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: 'ListClientDevicesAssociatedWithCoreDeviceRequest')
ListClientDevicesAssociatedWithCoreDeviceResponse =

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: 'ListClientDevicesAssociatedWithCoreDeviceResponse')
ListComponentVersionsRequest =

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: 'ListComponentVersionsRequest')
ListComponentVersionsResponse =

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: 'ListComponentVersionsResponse')
ListComponentsRequest =

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: 'ListComponentsRequest')
ListComponentsResponse =

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: 'ListComponentsResponse')
ListCoreDevicesRequest =

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: 'ListCoreDevicesRequest')
ListCoreDevicesResponse =

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: 'ListCoreDevicesResponse')
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')
ListEffectiveDeploymentsRequest =

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: 'ListEffectiveDeploymentsRequest')
ListEffectiveDeploymentsResponse =

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: 'ListEffectiveDeploymentsResponse')
ListInstalledComponentsRequest =

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: 'ListInstalledComponentsRequest')
ListInstalledComponentsResponse =

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: 'ListInstalledComponentsResponse')
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')
Memory =

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::IntegerShape.new(name: 'Memory')
NextTokenString =

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: 'NextTokenString')
NonEmptyString =

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: 'NonEmptyString')
NullableString =

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: 'NullableString')
OptionalBoolean =

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::BooleanShape.new(name: 'OptionalBoolean')
OptionalInteger =

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::IntegerShape.new(name: 'OptionalInteger')
PlatformAttributesMap =

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: 'PlatformAttributesMap')
PortNumberInt =

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::IntegerShape.new(name: 'PortNumberInt')
PublisherString =

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: 'PublisherString')
Reason =

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: 'Reason')
RecipeBlob =

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::BlobShape.new(name: 'RecipeBlob')
RecipeOutputFormat =

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: 'RecipeOutputFormat')
RequestAlreadyInProgressException =

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: 'RequestAlreadyInProgressException')
ResolveComponentCandidatesRequest =

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: 'ResolveComponentCandidatesRequest')
ResolveComponentCandidatesResponse =

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: 'ResolveComponentCandidatesResponse')
ResolvedComponentVersion =

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: 'ResolvedComponentVersion')
ResolvedComponentVersionsList =

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: 'ResolvedComponentVersionsList')
ResourceNotFoundException =

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: 'ResourceNotFoundException')
RetryAfterSeconds =

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::IntegerShape.new(name: 'RetryAfterSeconds')
S3EndpointType =

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: 'S3EndpointType')
ServiceQuotaExceededException =

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: 'ServiceQuotaExceededException')
String =

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: 'String')
StringMap =

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: 'StringMap')
SystemResourceLimits =

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: 'SystemResourceLimits')
TagKey =

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: 'TagKey')
TagKeyList =

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: 'TagKeyList')
TagMap =

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: 'TagMap')
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')
TagResourceResponse =

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: 'TagResourceResponse')
TagValue =

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: 'TagValue')
TargetARN =

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: 'TargetARN')
ThingGroupARN =

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: 'ThingGroupARN')
ThrottlingException =

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: 'ThrottlingException')
Timestamp =

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::TimestampShape.new(name: 'Timestamp')
TopicString =

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: 'TopicString')
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')
UntagResourceResponse =

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: 'UntagResourceResponse')
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')
ValidationException =

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: 'ValidationException')
ValidationExceptionField =

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: 'ValidationExceptionField')
ValidationExceptionFieldList =

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: 'ValidationExceptionFieldList')
ValidationExceptionReason =

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: 'ValidationExceptionReason')
VendorGuidance =

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: 'VendorGuidance')
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 = "2020-11-30"

  api. = {
    "apiVersion" => "2020-11-30",
    "auth" => ["aws.auth#sigv4"],
    "endpointPrefix" => "greengrass",
    "protocol" => "rest-json",
    "protocols" => ["rest-json"],
    "serviceAbbreviation" => "AWS GreengrassV2",
    "serviceFullName" => "AWS IoT Greengrass V2",
    "serviceId" => "GreengrassV2",
    "signatureVersion" => "v4",
    "uid" => "greengrassv2-2020-11-30",
  }

  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: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
  end)

  api.add_operation(:batch_associate_client_device_with_core_device, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchAssociateClientDeviceWithCoreDevice"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/v2/coreDevices/{coreDeviceThingName}/associateClientDevices"
    o.input = Shapes::ShapeRef.new(shape: BatchAssociateClientDeviceWithCoreDeviceRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchAssociateClientDeviceWithCoreDeviceResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:batch_disassociate_client_device_from_core_device, Seahorse::Model::Operation.new.tap do |o|
    o.name = "BatchDisassociateClientDeviceFromCoreDevice"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/v2/coreDevices/{coreDeviceThingName}/disassociateClientDevices"
    o.input = Shapes::ShapeRef.new(shape: BatchDisassociateClientDeviceFromCoreDeviceRequest)
    o.output = Shapes::ShapeRef.new(shape: BatchDisassociateClientDeviceFromCoreDeviceResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:cancel_deployment, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CancelDeployment"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/v2/deployments/{deploymentId}/cancel"
    o.input = Shapes::ShapeRef.new(shape: CancelDeploymentRequest)
    o.output = Shapes::ShapeRef.new(shape: CancelDeploymentResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:create_component_version, Seahorse::Model::Operation.new.tap do |o|
    o.name = "CreateComponentVersion"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/v2/createComponentVersion"
    o.input = Shapes::ShapeRef.new(shape: CreateComponentVersionRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateComponentVersionResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: RequestAlreadyInProgressException)
  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/v2/deployments"
    o.input = Shapes::ShapeRef.new(shape: CreateDeploymentRequest)
    o.output = Shapes::ShapeRef.new(shape: CreateDeploymentResponse)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: RequestAlreadyInProgressException)
  end)

  api.add_operation(:delete_component, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteComponent"
    o.http_method = "DELETE"
    o.http_request_uri = "/greengrass/v2/components/{arn}"
    o.input = Shapes::ShapeRef.new(shape: DeleteComponentRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
  end)

  api.add_operation(:delete_core_device, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteCoreDevice"
    o.http_method = "DELETE"
    o.http_request_uri = "/greengrass/v2/coreDevices/{coreDeviceThingName}"
    o.input = Shapes::ShapeRef.new(shape: DeleteCoreDeviceRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
  end)

  api.add_operation(:delete_deployment, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DeleteDeployment"
    o.http_method = "DELETE"
    o.http_request_uri = "/greengrass/v2/deployments/{deploymentId}"
    o.input = Shapes::ShapeRef.new(shape: DeleteDeploymentRequest)
    o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:describe_component, Seahorse::Model::Operation.new.tap do |o|
    o.name = "DescribeComponent"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/v2/components/{arn}/metadata"
    o.input = Shapes::ShapeRef.new(shape: DescribeComponentRequest)
    o.output = Shapes::ShapeRef.new(shape: DescribeComponentResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
  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: InternalServerException)
  end)

  api.add_operation(:get_component, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetComponent"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/v2/components/{arn}"
    o.input = Shapes::ShapeRef.new(shape: GetComponentRequest)
    o.output = Shapes::ShapeRef.new(shape: GetComponentResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
  end)

  api.add_operation(:get_component_version_artifact, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetComponentVersionArtifact"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/v2/components/{arn}/artifacts/{artifactName+}"
    o.input = Shapes::ShapeRef.new(shape: GetComponentVersionArtifactRequest)
    o.output = Shapes::ShapeRef.new(shape: GetComponentVersionArtifactResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
  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: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
  end)

  api.add_operation(:get_core_device, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetCoreDevice"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/v2/coreDevices/{coreDeviceThingName}"
    o.input = Shapes::ShapeRef.new(shape: GetCoreDeviceRequest)
    o.output = Shapes::ShapeRef.new(shape: GetCoreDeviceResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  end)

  api.add_operation(:get_deployment, Seahorse::Model::Operation.new.tap do |o|
    o.name = "GetDeployment"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/v2/deployments/{deploymentId}"
    o.input = Shapes::ShapeRef.new(shape: GetDeploymentRequest)
    o.output = Shapes::ShapeRef.new(shape: GetDeploymentResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
  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: InternalServerException)
  end)

  api.add_operation(:list_client_devices_associated_with_core_device, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListClientDevicesAssociatedWithCoreDevice"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/v2/coreDevices/{coreDeviceThingName}/associatedClientDevices"
    o.input = Shapes::ShapeRef.new(shape: ListClientDevicesAssociatedWithCoreDeviceRequest)
    o.output = Shapes::ShapeRef.new(shape: ListClientDevicesAssociatedWithCoreDeviceResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_component_versions, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListComponentVersions"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/v2/components/{arn}/versions"
    o.input = Shapes::ShapeRef.new(shape: ListComponentVersionsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListComponentVersionsResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_components, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListComponents"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/v2/components"
    o.input = Shapes::ShapeRef.new(shape: ListComponentsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListComponentsResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_core_devices, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListCoreDevices"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/v2/coreDevices"
    o.input = Shapes::ShapeRef.new(shape: ListCoreDevicesRequest)
    o.output = Shapes::ShapeRef.new(shape: ListCoreDevicesResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  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/v2/deployments"
    o.input = Shapes::ShapeRef.new(shape: ListDeploymentsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListDeploymentsResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_effective_deployments, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListEffectiveDeployments"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/v2/coreDevices/{coreDeviceThingName}/effectiveDeployments"
    o.input = Shapes::ShapeRef.new(shape: ListEffectiveDeploymentsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListEffectiveDeploymentsResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  end)

  api.add_operation(:list_installed_components, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ListInstalledComponents"
    o.http_method = "GET"
    o.http_request_uri = "/greengrass/v2/coreDevices/{coreDeviceThingName}/installedComponents"
    o.input = Shapes::ShapeRef.new(shape: ListInstalledComponentsRequest)
    o.output = Shapes::ShapeRef.new(shape: ListInstalledComponentsResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o[:pager] = Aws::Pager.new(
      limit_key: "max_results",
      tokens: {
        "next_token" => "next_token"
      }
    )
  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/{resourceArn}"
    o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  end)

  api.add_operation(:resolve_component_candidates, Seahorse::Model::Operation.new.tap do |o|
    o.name = "ResolveComponentCandidates"
    o.http_method = "POST"
    o.http_request_uri = "/greengrass/v2/resolveComponentCandidates"
    o.input = Shapes::ShapeRef.new(shape: ResolveComponentCandidatesRequest)
    o.output = Shapes::ShapeRef.new(shape: ResolveComponentCandidatesResponse)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
    o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
  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/{resourceArn}"
    o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  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/{resourceArn}"
    o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
    o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
  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: ValidationException)
    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
  end)
end