Current File : //proc/self/root/usr/lib/python3/dist-packages/botocore/data/iottwinmaker/2021-11-29/service-2.json
{
  "version":"2.0",
  "metadata":{
    "apiVersion":"2021-11-29",
    "endpointPrefix":"iottwinmaker",
    "jsonVersion":"1.1",
    "protocol":"rest-json",
    "serviceFullName":"AWS IoT TwinMaker",
    "serviceId":"IoTTwinMaker",
    "signatureVersion":"v4",
    "signingName":"iottwinmaker",
    "uid":"iottwinmaker-2021-11-29"
  },
  "operations":{
    "BatchPutPropertyValues":{
      "name":"BatchPutPropertyValues",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces/{workspaceId}/entity-properties",
        "responseCode":200
      },
      "input":{"shape":"BatchPutPropertyValuesRequest"},
      "output":{"shape":"BatchPutPropertyValuesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Sets values for multiple time series properties.</p>",
      "endpoint":{"hostPrefix":"data."}
    },
    "CancelMetadataTransferJob":{
      "name":"CancelMetadataTransferJob",
      "http":{
        "method":"PUT",
        "requestUri":"/metadata-transfer-jobs/{metadataTransferJobId}/cancel",
        "responseCode":200
      },
      "input":{"shape":"CancelMetadataTransferJobRequest"},
      "output":{"shape":"CancelMetadataTransferJobResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"}
      ],
      "documentation":"<p>Cancels the metadata transfer job.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "CreateComponentType":{
      "name":"CreateComponentType",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces/{workspaceId}/component-types/{componentTypeId}",
        "responseCode":200
      },
      "input":{"shape":"CreateComponentTypeRequest"},
      "output":{"shape":"CreateComponentTypeResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Creates a component type.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "CreateEntity":{
      "name":"CreateEntity",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces/{workspaceId}/entities",
        "responseCode":200
      },
      "input":{"shape":"CreateEntityRequest"},
      "output":{"shape":"CreateEntityResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Creates an entity.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "CreateMetadataTransferJob":{
      "name":"CreateMetadataTransferJob",
      "http":{
        "method":"POST",
        "requestUri":"/metadata-transfer-jobs",
        "responseCode":200
      },
      "input":{"shape":"CreateMetadataTransferJobRequest"},
      "output":{"shape":"CreateMetadataTransferJobResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Creates a new metadata transfer job.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "CreateScene":{
      "name":"CreateScene",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces/{workspaceId}/scenes",
        "responseCode":200
      },
      "input":{"shape":"CreateSceneRequest"},
      "output":{"shape":"CreateSceneResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Creates a scene.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "CreateSyncJob":{
      "name":"CreateSyncJob",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces/{workspaceId}/sync-jobs/{syncSource}",
        "responseCode":200
      },
      "input":{"shape":"CreateSyncJobRequest"},
      "output":{"shape":"CreateSyncJobResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>This action creates a SyncJob.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "CreateWorkspace":{
      "name":"CreateWorkspace",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces/{workspaceId}",
        "responseCode":200
      },
      "input":{"shape":"CreateWorkspaceRequest"},
      "output":{"shape":"CreateWorkspaceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Creates a workplace.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "DeleteComponentType":{
      "name":"DeleteComponentType",
      "http":{
        "method":"DELETE",
        "requestUri":"/workspaces/{workspaceId}/component-types/{componentTypeId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteComponentTypeRequest"},
      "output":{"shape":"DeleteComponentTypeResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Deletes a component type.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "DeleteEntity":{
      "name":"DeleteEntity",
      "http":{
        "method":"DELETE",
        "requestUri":"/workspaces/{workspaceId}/entities/{entityId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteEntityRequest"},
      "output":{"shape":"DeleteEntityResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Deletes an entity.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "DeleteScene":{
      "name":"DeleteScene",
      "http":{
        "method":"DELETE",
        "requestUri":"/workspaces/{workspaceId}/scenes/{sceneId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteSceneRequest"},
      "output":{"shape":"DeleteSceneResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Deletes a scene.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "DeleteSyncJob":{
      "name":"DeleteSyncJob",
      "http":{
        "method":"DELETE",
        "requestUri":"/workspaces/{workspaceId}/sync-jobs/{syncSource}",
        "responseCode":200
      },
      "input":{"shape":"DeleteSyncJobRequest"},
      "output":{"shape":"DeleteSyncJobResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Delete the SyncJob.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "DeleteWorkspace":{
      "name":"DeleteWorkspace",
      "http":{
        "method":"DELETE",
        "requestUri":"/workspaces/{workspaceId}",
        "responseCode":200
      },
      "input":{"shape":"DeleteWorkspaceRequest"},
      "output":{"shape":"DeleteWorkspaceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Deletes a workspace.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "ExecuteQuery":{
      "name":"ExecuteQuery",
      "http":{
        "method":"POST",
        "requestUri":"/queries/execution",
        "responseCode":200
      },
      "input":{"shape":"ExecuteQueryRequest"},
      "output":{"shape":"ExecuteQueryResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"QueryTimeoutException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Run queries to access information from your knowledge graph of entities within individual workspaces.</p> <note> <p>The ExecuteQuery action only works with <a href=\"https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/home.html\">Amazon Web Services Java SDK2</a>. ExecuteQuery will not work with any Amazon Web Services Java SDK version &lt; 2.x.</p> </note>",
      "endpoint":{"hostPrefix":"api."}
    },
    "GetComponentType":{
      "name":"GetComponentType",
      "http":{
        "method":"GET",
        "requestUri":"/workspaces/{workspaceId}/component-types/{componentTypeId}",
        "responseCode":200
      },
      "input":{"shape":"GetComponentTypeRequest"},
      "output":{"shape":"GetComponentTypeResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Retrieves information about a component type.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "GetEntity":{
      "name":"GetEntity",
      "http":{
        "method":"GET",
        "requestUri":"/workspaces/{workspaceId}/entities/{entityId}",
        "responseCode":200
      },
      "input":{"shape":"GetEntityRequest"},
      "output":{"shape":"GetEntityResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Retrieves information about an entity.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "GetMetadataTransferJob":{
      "name":"GetMetadataTransferJob",
      "http":{
        "method":"GET",
        "requestUri":"/metadata-transfer-jobs/{metadataTransferJobId}",
        "responseCode":200
      },
      "input":{"shape":"GetMetadataTransferJobRequest"},
      "output":{"shape":"GetMetadataTransferJobResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Gets a nmetadata transfer job.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "GetPricingPlan":{
      "name":"GetPricingPlan",
      "http":{
        "method":"GET",
        "requestUri":"/pricingplan",
        "responseCode":200
      },
      "input":{"shape":"GetPricingPlanRequest"},
      "output":{"shape":"GetPricingPlanResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Gets the pricing plan.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "GetPropertyValue":{
      "name":"GetPropertyValue",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces/{workspaceId}/entity-properties/value",
        "responseCode":200
      },
      "input":{"shape":"GetPropertyValueRequest"},
      "output":{"shape":"GetPropertyValueResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ConnectorFailureException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ConnectorTimeoutException"}
      ],
      "documentation":"<p>Gets the property values for a component, component type, entity, or workspace.</p> <p>You must specify a value for either <code>componentName</code>, <code>componentTypeId</code>, <code>entityId</code>, or <code>workspaceId</code>.</p>",
      "endpoint":{"hostPrefix":"data."}
    },
    "GetPropertyValueHistory":{
      "name":"GetPropertyValueHistory",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces/{workspaceId}/entity-properties/history",
        "responseCode":200
      },
      "input":{"shape":"GetPropertyValueHistoryRequest"},
      "output":{"shape":"GetPropertyValueHistoryResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ConnectorFailureException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ConnectorTimeoutException"}
      ],
      "documentation":"<p>Retrieves information about the history of a time series property value for a component, component type, entity, or workspace.</p> <p>You must specify a value for <code>workspaceId</code>. For entity-specific queries, specify values for <code>componentName</code> and <code>entityId</code>. For cross-entity quries, specify a value for <code>componentTypeId</code>.</p>",
      "endpoint":{"hostPrefix":"data."}
    },
    "GetScene":{
      "name":"GetScene",
      "http":{
        "method":"GET",
        "requestUri":"/workspaces/{workspaceId}/scenes/{sceneId}",
        "responseCode":200
      },
      "input":{"shape":"GetSceneRequest"},
      "output":{"shape":"GetSceneResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Retrieves information about a scene.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "GetSyncJob":{
      "name":"GetSyncJob",
      "http":{
        "method":"GET",
        "requestUri":"/sync-jobs/{syncSource}",
        "responseCode":200
      },
      "input":{"shape":"GetSyncJobRequest"},
      "output":{"shape":"GetSyncJobResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Gets the SyncJob.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "GetWorkspace":{
      "name":"GetWorkspace",
      "http":{
        "method":"GET",
        "requestUri":"/workspaces/{workspaceId}",
        "responseCode":200
      },
      "input":{"shape":"GetWorkspaceRequest"},
      "output":{"shape":"GetWorkspaceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Retrieves information about a workspace.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "ListComponentTypes":{
      "name":"ListComponentTypes",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces/{workspaceId}/component-types-list",
        "responseCode":200
      },
      "input":{"shape":"ListComponentTypesRequest"},
      "output":{"shape":"ListComponentTypesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Lists all component types in a workspace.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "ListComponents":{
      "name":"ListComponents",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces/{workspaceId}/entities/{entityId}/components-list",
        "responseCode":200
      },
      "input":{"shape":"ListComponentsRequest"},
      "output":{"shape":"ListComponentsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>This API lists the components of an entity.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "ListEntities":{
      "name":"ListEntities",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces/{workspaceId}/entities-list",
        "responseCode":200
      },
      "input":{"shape":"ListEntitiesRequest"},
      "output":{"shape":"ListEntitiesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Lists all entities in a workspace.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "ListMetadataTransferJobs":{
      "name":"ListMetadataTransferJobs",
      "http":{
        "method":"POST",
        "requestUri":"/metadata-transfer-jobs-list",
        "responseCode":200
      },
      "input":{"shape":"ListMetadataTransferJobsRequest"},
      "output":{"shape":"ListMetadataTransferJobsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Lists the metadata transfer jobs.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "ListProperties":{
      "name":"ListProperties",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces/{workspaceId}/properties-list",
        "responseCode":200
      },
      "input":{"shape":"ListPropertiesRequest"},
      "output":{"shape":"ListPropertiesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>This API lists the properties of a component.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "ListScenes":{
      "name":"ListScenes",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces/{workspaceId}/scenes-list",
        "responseCode":200
      },
      "input":{"shape":"ListScenesRequest"},
      "output":{"shape":"ListScenesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Lists all scenes in a workspace.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "ListSyncJobs":{
      "name":"ListSyncJobs",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces/{workspaceId}/sync-jobs-list",
        "responseCode":200
      },
      "input":{"shape":"ListSyncJobsRequest"},
      "output":{"shape":"ListSyncJobsResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>List all SyncJobs.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "ListSyncResources":{
      "name":"ListSyncResources",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces/{workspaceId}/sync-jobs/{syncSource}/resources-list",
        "responseCode":200
      },
      "input":{"shape":"ListSyncResourcesRequest"},
      "output":{"shape":"ListSyncResourcesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Lists the sync resources.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "ListTagsForResource":{
      "name":"ListTagsForResource",
      "http":{
        "method":"POST",
        "requestUri":"/tags-list",
        "responseCode":200
      },
      "input":{"shape":"ListTagsForResourceRequest"},
      "output":{"shape":"ListTagsForResourceResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Lists all tags associated with a resource.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "ListWorkspaces":{
      "name":"ListWorkspaces",
      "http":{
        "method":"POST",
        "requestUri":"/workspaces-list",
        "responseCode":200
      },
      "input":{"shape":"ListWorkspacesRequest"},
      "output":{"shape":"ListWorkspacesResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Retrieves information about workspaces in the current account.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "TagResource":{
      "name":"TagResource",
      "http":{
        "method":"POST",
        "requestUri":"/tags",
        "responseCode":200
      },
      "input":{"shape":"TagResourceRequest"},
      "output":{"shape":"TagResourceResponse"},
      "errors":[
        {"shape":"TooManyTagsException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Adds tags to a resource.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "UntagResource":{
      "name":"UntagResource",
      "http":{
        "method":"DELETE",
        "requestUri":"/tags",
        "responseCode":200
      },
      "input":{"shape":"UntagResourceRequest"},
      "output":{"shape":"UntagResourceResponse"},
      "errors":[
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"}
      ],
      "documentation":"<p>Removes tags from a resource.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "UpdateComponentType":{
      "name":"UpdateComponentType",
      "http":{
        "method":"PUT",
        "requestUri":"/workspaces/{workspaceId}/component-types/{componentTypeId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateComponentTypeRequest"},
      "output":{"shape":"UpdateComponentTypeResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Updates information in a component type.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "UpdateEntity":{
      "name":"UpdateEntity",
      "http":{
        "method":"PUT",
        "requestUri":"/workspaces/{workspaceId}/entities/{entityId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateEntityRequest"},
      "output":{"shape":"UpdateEntityResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ConflictException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Updates an entity.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "UpdatePricingPlan":{
      "name":"UpdatePricingPlan",
      "http":{
        "method":"POST",
        "requestUri":"/pricingplan",
        "responseCode":200
      },
      "input":{"shape":"UpdatePricingPlanRequest"},
      "output":{"shape":"UpdatePricingPlanResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Update the pricing plan.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "UpdateScene":{
      "name":"UpdateScene",
      "http":{
        "method":"PUT",
        "requestUri":"/workspaces/{workspaceId}/scenes/{sceneId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateSceneRequest"},
      "output":{"shape":"UpdateSceneResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"}
      ],
      "documentation":"<p>Updates a scene.</p>",
      "endpoint":{"hostPrefix":"api."}
    },
    "UpdateWorkspace":{
      "name":"UpdateWorkspace",
      "http":{
        "method":"PUT",
        "requestUri":"/workspaces/{workspaceId}",
        "responseCode":200
      },
      "input":{"shape":"UpdateWorkspaceRequest"},
      "output":{"shape":"UpdateWorkspaceResponse"},
      "errors":[
        {"shape":"InternalServerException"},
        {"shape":"AccessDeniedException"},
        {"shape":"ResourceNotFoundException"},
        {"shape":"ThrottlingException"},
        {"shape":"ValidationException"},
        {"shape":"ServiceQuotaExceededException"}
      ],
      "documentation":"<p>Updates a workspace.</p>",
      "endpoint":{"hostPrefix":"api."}
    }
  },
  "shapes":{
    "AccessDeniedException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>Access is denied.</p>",
      "error":{
        "httpStatusCode":403,
        "senderFault":true
      },
      "exception":true
    },
    "BatchPutPropertyError":{
      "type":"structure",
      "required":[
        "errorCode",
        "errorMessage",
        "entry"
      ],
      "members":{
        "errorCode":{
          "shape":"String",
          "documentation":"<p>The error code.</p>"
        },
        "errorMessage":{
          "shape":"String",
          "documentation":"<p>The error message.</p>"
        },
        "entry":{
          "shape":"PropertyValueEntry",
          "documentation":"<p>An object that contains information about errors returned by the <code>BatchPutProperty</code> action.</p>"
        }
      },
      "documentation":"<p>An error returned by the <code>BatchPutProperty</code> action.</p>"
    },
    "BatchPutPropertyErrorEntry":{
      "type":"structure",
      "required":["errors"],
      "members":{
        "errors":{
          "shape":"Errors",
          "documentation":"<p>A list of objects that contain information about errors returned by the <code>BatchPutProperty</code> action.</p>"
        }
      },
      "documentation":"<p>An object that contains information about errors returned by the <code>BatchPutProperty</code> action.</p>"
    },
    "BatchPutPropertyValuesRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "entries"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the properties to set.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "entries":{
          "shape":"Entries",
          "documentation":"<p>An object that maps strings to the property value entries to set. Each string in the mapping must be unique to this object.</p>"
        }
      }
    },
    "BatchPutPropertyValuesResponse":{
      "type":"structure",
      "required":["errorEntries"],
      "members":{
        "errorEntries":{
          "shape":"ErrorEntries",
          "documentation":"<p>Entries that caused errors in the batch put operation.</p>"
        }
      }
    },
    "Boolean":{
      "type":"boolean",
      "box":true
    },
    "BundleInformation":{
      "type":"structure",
      "required":["bundleNames"],
      "members":{
        "bundleNames":{
          "shape":"PricingBundles",
          "documentation":"<p>The bundle names.</p>"
        },
        "pricingTier":{
          "shape":"PricingTier",
          "documentation":"<p>The pricing tier.</p>"
        }
      },
      "documentation":"<p>Information about the pricing bundle.</p>"
    },
    "BundleName":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":".*"
    },
    "CancelMetadataTransferJobRequest":{
      "type":"structure",
      "required":["metadataTransferJobId"],
      "members":{
        "metadataTransferJobId":{
          "shape":"Id",
          "documentation":"<p>The metadata transfer job Id.</p>",
          "location":"uri",
          "locationName":"metadataTransferJobId"
        }
      }
    },
    "CancelMetadataTransferJobResponse":{
      "type":"structure",
      "required":[
        "metadataTransferJobId",
        "arn",
        "updateDateTime",
        "status"
      ],
      "members":{
        "metadataTransferJobId":{
          "shape":"Id",
          "documentation":"<p>The metadata transfer job Id.</p>"
        },
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The metadata transfer job ARN.</p>"
        },
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>Used to update the DateTime property.</p>"
        },
        "status":{
          "shape":"MetadataTransferJobStatus",
          "documentation":"<p>The metadata transfer job's status.</p>"
        },
        "progress":{
          "shape":"MetadataTransferJobProgress",
          "documentation":"<p>The metadata transfer job's progress.</p>"
        }
      }
    },
    "ColumnDescription":{
      "type":"structure",
      "members":{
        "name":{
          "shape":"ColumnName",
          "documentation":"<p>The name of the column description.</p>"
        },
        "type":{
          "shape":"ColumnType",
          "documentation":"<p>The type of the column description.</p>"
        }
      },
      "documentation":"<p>A description of the column in the query results.</p>"
    },
    "ColumnDescriptions":{
      "type":"list",
      "member":{"shape":"ColumnDescription"}
    },
    "ColumnName":{
      "type":"string",
      "pattern":".*"
    },
    "ColumnType":{
      "type":"string",
      "enum":[
        "NODE",
        "EDGE",
        "VALUE"
      ]
    },
    "ComponentPath":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"[a-zA-Z_\\-0-9/]+"
    },
    "ComponentPropertyGroupRequest":{
      "type":"structure",
      "members":{
        "groupType":{
          "shape":"GroupType",
          "documentation":"<p>The group type.</p>"
        },
        "propertyNames":{
          "shape":"PropertyNames",
          "documentation":"<p>The property names.</p>"
        },
        "updateType":{
          "shape":"PropertyGroupUpdateType",
          "documentation":"<p>The update type.</p>"
        }
      },
      "documentation":"<p>The component property group request.</p>"
    },
    "ComponentPropertyGroupRequests":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"ComponentPropertyGroupRequest"}
    },
    "ComponentPropertyGroupResponse":{
      "type":"structure",
      "required":[
        "groupType",
        "propertyNames",
        "isInherited"
      ],
      "members":{
        "groupType":{
          "shape":"GroupType",
          "documentation":"<p>The group type.</p>"
        },
        "propertyNames":{
          "shape":"PropertyNames",
          "documentation":"<p>The names of properties</p>"
        },
        "isInherited":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the property group is inherited from a parent entity</p>"
        }
      },
      "documentation":"<p>The component property group response.</p>"
    },
    "ComponentPropertyGroupResponses":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"ComponentPropertyGroupResponse"}
    },
    "ComponentRequest":{
      "type":"structure",
      "members":{
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the component request.</p>"
        },
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The ID of the component type.</p>"
        },
        "properties":{
          "shape":"PropertyRequests",
          "documentation":"<p>An object that maps strings to the properties to set in the component type. Each string in the mapping must be unique to this object.</p>"
        },
        "propertyGroups":{
          "shape":"ComponentPropertyGroupRequests",
          "documentation":"<p>The property groups.</p>"
        }
      },
      "documentation":"<p>An object that sets information about a component type create or update request.</p>"
    },
    "ComponentResponse":{
      "type":"structure",
      "members":{
        "componentName":{
          "shape":"Name",
          "documentation":"<p>The name of the component.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the component type.</p>"
        },
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The ID of the component type.</p>"
        },
        "status":{
          "shape":"Status",
          "documentation":"<p>The status of the component type.</p>"
        },
        "definedIn":{
          "shape":"String",
          "documentation":"<p>The name of the property definition set in the request.</p>"
        },
        "properties":{
          "shape":"PropertyResponses",
          "documentation":"<p>An object that maps strings to the properties to set in the component type. Each string in the mapping must be unique to this object.</p>"
        },
        "propertyGroups":{
          "shape":"ComponentPropertyGroupResponses",
          "documentation":"<p>The property groups.</p>"
        },
        "syncSource":{
          "shape":"SyncSource",
          "documentation":"<p>The syncSource of the sync job, if this entity was created by a sync job.</p>"
        },
        "areAllPropertiesReturned":{
          "shape":"Boolean",
          "documentation":"<p>This flag notes whether all properties of the component are returned in the API response. The maximum number of properties returned is 800.</p>"
        },
        "compositeComponents":{
          "shape":"CompositeComponentResponse",
          "documentation":"<p>This lists objects that contain information about the <code>compositeComponents</code>.</p>"
        },
        "areAllCompositeComponentsReturned":{
          "shape":"Boolean",
          "documentation":"<p>This flag notes whether all <code>compositeComponents</code> are returned in the API response.</p>"
        }
      },
      "documentation":"<p>An object that returns information about a component type create or update request.</p>"
    },
    "ComponentSummaries":{
      "type":"list",
      "member":{"shape":"ComponentSummary"}
    },
    "ComponentSummary":{
      "type":"structure",
      "required":[
        "componentName",
        "componentTypeId",
        "status"
      ],
      "members":{
        "componentName":{
          "shape":"Name",
          "documentation":"<p>The name of the component.</p>"
        },
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The ID of the component type.</p>"
        },
        "definedIn":{
          "shape":"String",
          "documentation":"<p>The name of the property definition set in the request.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the component request.</p>"
        },
        "propertyGroups":{
          "shape":"ComponentPropertyGroupResponses",
          "documentation":"<p>The property groups.</p>"
        },
        "status":{
          "shape":"Status",
          "documentation":"<p>The status of the component type.</p>"
        },
        "syncSource":{
          "shape":"SyncSource",
          "documentation":"<p>The <code>syncSource</code> of the sync job, if this entity was created by a sync job.</p>"
        },
        "componentPath":{
          "shape":"ComponentPath",
          "documentation":"<p>This string specifies the path to the composite component, starting from the top-level component.</p>"
        }
      },
      "documentation":"<p>An object that returns information about a component summary.</p>"
    },
    "ComponentTypeId":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[a-zA-Z_\\.\\-0-9:]+"
    },
    "ComponentTypeName":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":".*[^\\u0000-\\u001F\\u007F]*.*"
    },
    "ComponentTypeSummaries":{
      "type":"list",
      "member":{"shape":"ComponentTypeSummary"}
    },
    "ComponentTypeSummary":{
      "type":"structure",
      "required":[
        "arn",
        "componentTypeId",
        "creationDateTime",
        "updateDateTime"
      ],
      "members":{
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the component type.</p>"
        },
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The ID of the component type.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the component type was created.</p>"
        },
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the component type was last updated.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the component type.</p>"
        },
        "status":{
          "shape":"Status",
          "documentation":"<p>The current status of the component type.</p>"
        },
        "componentTypeName":{
          "shape":"ComponentTypeName",
          "documentation":"<p>The component type name.</p>"
        }
      },
      "documentation":"<p>An object that contains information about a component type.</p>"
    },
    "ComponentUpdateRequest":{
      "type":"structure",
      "members":{
        "updateType":{
          "shape":"ComponentUpdateType",
          "documentation":"<p>The update type of the component update request.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the component type.</p>"
        },
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The ID of the component type.</p>"
        },
        "propertyUpdates":{
          "shape":"PropertyRequests",
          "documentation":"<p>An object that maps strings to the properties to set in the component type update. Each string in the mapping must be unique to this object.</p>"
        },
        "propertyGroupUpdates":{
          "shape":"ComponentPropertyGroupRequests",
          "documentation":"<p>The property group updates.</p>"
        }
      },
      "documentation":"<p>The component update request.</p>"
    },
    "ComponentUpdateType":{
      "type":"string",
      "enum":[
        "CREATE",
        "UPDATE",
        "DELETE"
      ]
    },
    "ComponentUpdatesMapRequest":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"ComponentUpdateRequest"}
    },
    "ComponentsMap":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"ComponentResponse"}
    },
    "ComponentsMapRequest":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"ComponentRequest"}
    },
    "CompositeComponentRequest":{
      "type":"structure",
      "members":{
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the component type.</p>"
        },
        "properties":{
          "shape":"PropertyRequests",
          "documentation":"<p>This is an object that maps strings to the properties to set in the component type. Each string in the mapping must be unique to this object.</p>"
        },
        "propertyGroups":{
          "shape":"ComponentPropertyGroupRequests",
          "documentation":"<p>The property groups.</p>"
        }
      },
      "documentation":"<p>An object that sets information about the composite component update request.</p>"
    },
    "CompositeComponentResponse":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"ComponentSummary"}
    },
    "CompositeComponentTypeRequest":{
      "type":"structure",
      "members":{
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>This is the <code>componentTypeId</code> that the <code>compositeComponentType</code> refers to.</p>"
        }
      },
      "documentation":"<p>An object that sets information about the composite component types of a component type.</p>"
    },
    "CompositeComponentTypeResponse":{
      "type":"structure",
      "members":{
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>This is the <code>componentTypeId</code> that this <code>compositeComponentType</code> refers to.</p>"
        },
        "isInherited":{
          "shape":"Boolean",
          "documentation":"<p>This boolean indicates whether this <code>compositeComponentType</code> is inherited from its parent.</p>"
        }
      },
      "documentation":"<p>An object that returns information about the composite component types of a component type.</p>"
    },
    "CompositeComponentTypesRequest":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"CompositeComponentTypeRequest"}
    },
    "CompositeComponentTypesResponse":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"CompositeComponentTypeResponse"}
    },
    "CompositeComponentUpdateRequest":{
      "type":"structure",
      "members":{
        "updateType":{
          "shape":"ComponentUpdateType",
          "documentation":"<p>The update type of the component update request.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the component type.</p>"
        },
        "propertyUpdates":{
          "shape":"PropertyRequests",
          "documentation":"<p>An object that maps strings to the properties to set in the component type update. Each string in the mapping must be unique to this object.</p>"
        },
        "propertyGroupUpdates":{
          "shape":"ComponentPropertyGroupRequests",
          "documentation":"<p>The property group updates.</p>"
        }
      },
      "documentation":"<p>An object that sets information about the composite component update request.</p>"
    },
    "CompositeComponentUpdatesMapRequest":{
      "type":"map",
      "key":{"shape":"ComponentPath"},
      "value":{"shape":"CompositeComponentUpdateRequest"}
    },
    "CompositeComponentsMapRequest":{
      "type":"map",
      "key":{"shape":"ComponentPath"},
      "value":{"shape":"CompositeComponentRequest"}
    },
    "Configuration":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"Value"}
    },
    "ConflictException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>A conflict occurred.</p>",
      "error":{
        "httpStatusCode":409,
        "senderFault":true
      },
      "exception":true
    },
    "ConnectorFailureException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The connector failed.</p>",
      "error":{
        "httpStatusCode":424,
        "senderFault":true
      },
      "exception":true
    },
    "ConnectorTimeoutException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The connector timed out.</p>",
      "error":{
        "httpStatusCode":424,
        "senderFault":true
      },
      "exception":true
    },
    "CreateComponentTypeRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "componentTypeId"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the component type.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "isSingleton":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether an entity can have more than one component of this type.</p>"
        },
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The ID of the component type.</p>",
          "location":"uri",
          "locationName":"componentTypeId"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the component type.</p>"
        },
        "propertyDefinitions":{
          "shape":"PropertyDefinitionsRequest",
          "documentation":"<p>An object that maps strings to the property definitions in the component type. Each string in the mapping must be unique to this object.</p>"
        },
        "extendsFrom":{
          "shape":"ExtendsFrom",
          "documentation":"<p>Specifies the parent component type to extend.</p>"
        },
        "functions":{
          "shape":"FunctionsRequest",
          "documentation":"<p>An object that maps strings to the functions in the component type. Each string in the mapping must be unique to this object.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata that you can use to manage the component type.</p>"
        },
        "propertyGroups":{
          "shape":"PropertyGroupsRequest",
          "documentation":"<p/>"
        },
        "componentTypeName":{
          "shape":"ComponentTypeName",
          "documentation":"<p>A friendly name for the component type.</p>"
        },
        "compositeComponentTypes":{
          "shape":"CompositeComponentTypesRequest",
          "documentation":"<p>This is an object that maps strings to <code>compositeComponentTypes</code> of the <code>componentType</code>. <code>CompositeComponentType</code> is referenced by <code>componentTypeId</code>.</p>"
        }
      }
    },
    "CreateComponentTypeResponse":{
      "type":"structure",
      "required":[
        "arn",
        "creationDateTime",
        "state"
      ],
      "members":{
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the component type.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the entity was created.</p>"
        },
        "state":{
          "shape":"State",
          "documentation":"<p>The current state of the component type.</p>"
        }
      }
    },
    "CreateEntityRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "entityName"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the entity.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "entityId":{
          "shape":"EntityId",
          "documentation":"<p>The ID of the entity.</p>"
        },
        "entityName":{
          "shape":"EntityName",
          "documentation":"<p>The name of the entity.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the entity.</p>"
        },
        "components":{
          "shape":"ComponentsMapRequest",
          "documentation":"<p>An object that maps strings to the components in the entity. Each string in the mapping must be unique to this object.</p>"
        },
        "compositeComponents":{
          "shape":"CompositeComponentsMapRequest",
          "documentation":"<p>This is an object that maps strings to <code>compositeComponent</code> updates in the request. Each key of the map represents the <code>componentPath</code> of the <code>compositeComponent</code>.</p>"
        },
        "parentEntityId":{
          "shape":"ParentEntityId",
          "documentation":"<p>The ID of the entity's parent entity.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata that you can use to manage the entity.</p>"
        }
      }
    },
    "CreateEntityResponse":{
      "type":"structure",
      "required":[
        "entityId",
        "arn",
        "creationDateTime",
        "state"
      ],
      "members":{
        "entityId":{
          "shape":"EntityId",
          "documentation":"<p>The ID of the entity.</p>"
        },
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the entity.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the entity was created.</p>"
        },
        "state":{
          "shape":"State",
          "documentation":"<p>The current state of the entity.</p>"
        }
      }
    },
    "CreateMetadataTransferJobRequest":{
      "type":"structure",
      "required":[
        "sources",
        "destination"
      ],
      "members":{
        "metadataTransferJobId":{
          "shape":"Id",
          "documentation":"<p>The metadata transfer job Id.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The metadata transfer job description.</p>"
        },
        "sources":{
          "shape":"SourceConfigurations",
          "documentation":"<p>The metadata transfer job sources.</p>"
        },
        "destination":{
          "shape":"DestinationConfiguration",
          "documentation":"<p>The metadata transfer job destination.</p>"
        }
      }
    },
    "CreateMetadataTransferJobResponse":{
      "type":"structure",
      "required":[
        "metadataTransferJobId",
        "arn",
        "creationDateTime",
        "status"
      ],
      "members":{
        "metadataTransferJobId":{
          "shape":"Id",
          "documentation":"<p>The metadata transfer job Id.</p>"
        },
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The metadata transfer job ARN.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The The metadata transfer job creation DateTime property.</p>"
        },
        "status":{
          "shape":"MetadataTransferJobStatus",
          "documentation":"<p>The metadata transfer job response status.</p>"
        }
      }
    },
    "CreateSceneRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "sceneId",
        "contentLocation"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the scene.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "sceneId":{
          "shape":"Id",
          "documentation":"<p>The ID of the scene.</p>"
        },
        "contentLocation":{
          "shape":"S3Url",
          "documentation":"<p>The relative path that specifies the location of the content definition file.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description for this scene.</p>"
        },
        "capabilities":{
          "shape":"SceneCapabilities",
          "documentation":"<p>A list of capabilities that the scene uses to render itself.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata that you can use to manage the scene.</p>"
        },
        "sceneMetadata":{
          "shape":"SceneMetadataMap",
          "documentation":"<p>The request metadata.</p>"
        }
      }
    },
    "CreateSceneResponse":{
      "type":"structure",
      "required":[
        "arn",
        "creationDateTime"
      ],
      "members":{
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the scene.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the scene was created.</p>"
        }
      }
    },
    "CreateSyncJobRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "syncSource",
        "syncRole"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The workspace ID.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "syncSource":{
          "shape":"SyncSource",
          "documentation":"<p>The sync source.</p> <note> <p>Currently the only supported syncSoource is <code>SITEWISE </code>.</p> </note>",
          "location":"uri",
          "locationName":"syncSource"
        },
        "syncRole":{
          "shape":"RoleArn",
          "documentation":"<p>The SyncJob IAM role. This IAM role is used by the SyncJob to read from the syncSource, and create, update, or delete the corresponding resources.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>The SyncJob tags.</p>"
        }
      }
    },
    "CreateSyncJobResponse":{
      "type":"structure",
      "required":[
        "arn",
        "creationDateTime",
        "state"
      ],
      "members":{
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The SyncJob ARN.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time for the SyncJob creation.</p>"
        },
        "state":{
          "shape":"SyncJobState",
          "documentation":"<p>The SyncJob response state.</p>"
        }
      }
    },
    "CreateWorkspaceRequest":{
      "type":"structure",
      "required":["workspaceId"],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the workspace.</p>"
        },
        "s3Location":{
          "shape":"S3Location",
          "documentation":"<p>The ARN of the S3 bucket where resources associated with the workspace are stored.</p>"
        },
        "role":{
          "shape":"RoleArn",
          "documentation":"<p>The ARN of the execution role associated with the workspace.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata that you can use to manage the workspace</p>"
        }
      }
    },
    "CreateWorkspaceResponse":{
      "type":"structure",
      "required":[
        "arn",
        "creationDateTime"
      ],
      "members":{
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the workspace.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the workspace was created.</p>"
        }
      }
    },
    "DataConnector":{
      "type":"structure",
      "members":{
        "lambda":{
          "shape":"LambdaFunction",
          "documentation":"<p>The Lambda function associated with this data connector.</p>"
        },
        "isNative":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the data connector is native to IoT TwinMaker.</p>"
        }
      },
      "documentation":"<p>The data connector.</p>"
    },
    "DataType":{
      "type":"structure",
      "required":["type"],
      "members":{
        "type":{
          "shape":"Type",
          "documentation":"<p>The underlying type of the data type.</p>"
        },
        "nestedType":{
          "shape":"DataType",
          "documentation":"<p>The nested type in the data type.</p>"
        },
        "allowedValues":{
          "shape":"DataValueList",
          "documentation":"<p>The allowed values for this data type.</p>"
        },
        "unitOfMeasure":{
          "shape":"String",
          "documentation":"<p>The unit of measure used in this data type.</p>"
        },
        "relationship":{
          "shape":"Relationship",
          "documentation":"<p>A relationship that associates a component with another component.</p>"
        }
      },
      "documentation":"<p>An object that specifies the data type of a property.</p>"
    },
    "DataValue":{
      "type":"structure",
      "members":{
        "booleanValue":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value.</p>"
        },
        "doubleValue":{
          "shape":"Double",
          "documentation":"<p>A double value.</p>"
        },
        "integerValue":{
          "shape":"Integer",
          "documentation":"<p>An integer value.</p>"
        },
        "longValue":{
          "shape":"Long",
          "documentation":"<p>A long value.</p>"
        },
        "stringValue":{
          "shape":"String",
          "documentation":"<p>A string value.</p>"
        },
        "listValue":{
          "shape":"DataValueList",
          "documentation":"<p>A list of multiple values.</p>"
        },
        "mapValue":{
          "shape":"DataValueMap",
          "documentation":"<p>An object that maps strings to multiple <code>DataValue</code> objects.</p>"
        },
        "relationshipValue":{
          "shape":"RelationshipValue",
          "documentation":"<p>A value that relates a component to another component.</p>"
        },
        "expression":{
          "shape":"Expression",
          "documentation":"<p>An expression that produces the value.</p>"
        }
      },
      "documentation":"<p>An object that specifies a value for a property.</p>"
    },
    "DataValueList":{
      "type":"list",
      "member":{"shape":"DataValue"},
      "max":50,
      "min":0
    },
    "DataValueMap":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"DataValue"},
      "max":50,
      "min":0
    },
    "DeleteComponentTypeRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "componentTypeId"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the component type.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The ID of the component type to delete.</p>",
          "location":"uri",
          "locationName":"componentTypeId"
        }
      }
    },
    "DeleteComponentTypeResponse":{
      "type":"structure",
      "required":["state"],
      "members":{
        "state":{
          "shape":"State",
          "documentation":"<p>The current state of the component type to be deleted.</p>"
        }
      }
    },
    "DeleteEntityRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "entityId"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the entity to delete.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "entityId":{
          "shape":"EntityId",
          "documentation":"<p>The ID of the entity to delete.</p>",
          "location":"uri",
          "locationName":"entityId"
        },
        "isRecursive":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the operation deletes child entities.</p>",
          "location":"querystring",
          "locationName":"isRecursive"
        }
      }
    },
    "DeleteEntityResponse":{
      "type":"structure",
      "required":["state"],
      "members":{
        "state":{
          "shape":"State",
          "documentation":"<p>The current state of the deleted entity.</p>"
        }
      }
    },
    "DeleteSceneRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "sceneId"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "sceneId":{
          "shape":"Id",
          "documentation":"<p>The ID of the scene to delete.</p>",
          "location":"uri",
          "locationName":"sceneId"
        }
      }
    },
    "DeleteSceneResponse":{
      "type":"structure",
      "members":{
      }
    },
    "DeleteSyncJobRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "syncSource"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The workspace ID.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "syncSource":{
          "shape":"SyncSource",
          "documentation":"<p>The sync source.</p> <note> <p>Currently the only supported syncSource is <code>SITEWISE </code>.</p> </note>",
          "location":"uri",
          "locationName":"syncSource"
        }
      }
    },
    "DeleteSyncJobResponse":{
      "type":"structure",
      "required":["state"],
      "members":{
        "state":{
          "shape":"SyncJobState",
          "documentation":"<p>The SyncJob response state.</p>"
        }
      }
    },
    "DeleteWorkspaceRequest":{
      "type":"structure",
      "required":["workspaceId"],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace to delete.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        }
      }
    },
    "DeleteWorkspaceResponse":{
      "type":"structure",
      "members":{
        "message":{
          "shape":"WorkspaceDeleteMessage",
          "documentation":"<p>The string that specifies the delete result for the workspace.</p>"
        }
      }
    },
    "Description":{
      "type":"string",
      "max":2048,
      "min":0,
      "pattern":".*"
    },
    "DestinationConfiguration":{
      "type":"structure",
      "required":["type"],
      "members":{
        "type":{
          "shape":"DestinationType",
          "documentation":"<p>The destination type.</p>"
        },
        "s3Configuration":{
          "shape":"S3DestinationConfiguration",
          "documentation":"<p>The metadata transfer job S3 configuration. [need to add S3 entity]</p>"
        },
        "iotTwinMakerConfiguration":{
          "shape":"IotTwinMakerDestinationConfiguration",
          "documentation":"<p>The metadata transfer job Amazon Web Services IoT TwinMaker configuration.</p>"
        }
      },
      "documentation":"<p>The [link to action] metadata transfer job destination configuration.</p>"
    },
    "DestinationType":{
      "type":"string",
      "enum":[
        "s3",
        "iotsitewise",
        "iottwinmaker"
      ]
    },
    "Double":{
      "type":"double",
      "box":true
    },
    "EntityId":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|^[a-zA-Z0-9][a-zA-Z_\\-0-9.:]*[a-zA-Z0-9]+"
    },
    "EntityName":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[^\\u0000-\\u001F\\u007F]+"
    },
    "EntityPropertyReference":{
      "type":"structure",
      "required":["propertyName"],
      "members":{
        "componentName":{
          "shape":"Name",
          "documentation":"<p>The name of the component.</p>"
        },
        "componentPath":{
          "shape":"ComponentPath",
          "documentation":"<p>This string specifies the path to the composite component, starting from the top-level component.</p>"
        },
        "externalIdProperty":{
          "shape":"ExternalIdProperty",
          "documentation":"<p>A mapping of external IDs to property names. External IDs uniquely identify properties from external data stores.</p>"
        },
        "entityId":{
          "shape":"EntityId",
          "documentation":"<p>The ID of the entity.</p>"
        },
        "propertyName":{
          "shape":"Name",
          "documentation":"<p>The name of the property.</p>"
        }
      },
      "documentation":"<p>An object that uniquely identifies an entity property.</p>"
    },
    "EntitySummaries":{
      "type":"list",
      "member":{"shape":"EntitySummary"}
    },
    "EntitySummary":{
      "type":"structure",
      "required":[
        "entityId",
        "entityName",
        "arn",
        "status",
        "creationDateTime",
        "updateDateTime"
      ],
      "members":{
        "entityId":{
          "shape":"EntityId",
          "documentation":"<p>The ID of the entity.</p>"
        },
        "entityName":{
          "shape":"EntityName",
          "documentation":"<p>The name of the entity.</p>"
        },
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the entity.</p>"
        },
        "parentEntityId":{
          "shape":"ParentEntityId",
          "documentation":"<p>The ID of the parent entity.</p>"
        },
        "status":{
          "shape":"Status",
          "documentation":"<p>The current status of the entity.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the entity.</p>"
        },
        "hasChildEntities":{
          "shape":"Boolean",
          "documentation":"<p>An <b>eventual</b> Boolean value that specifies whether the entity has child entities or not.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the entity was created.</p>"
        },
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The last date and time when the entity was updated.</p>"
        }
      },
      "documentation":"<p>An object that contains information about an entity.</p>"
    },
    "Entries":{
      "type":"list",
      "member":{"shape":"PropertyValueEntry"},
      "max":10,
      "min":1
    },
    "ErrorCode":{
      "type":"string",
      "enum":[
        "VALIDATION_ERROR",
        "INTERNAL_FAILURE",
        "SYNC_INITIALIZING_ERROR",
        "SYNC_CREATING_ERROR",
        "SYNC_PROCESSING_ERROR",
        "SYNC_DELETING_ERROR",
        "PROCESSING_ERROR",
        "COMPOSITE_COMPONENT_FAILURE"
      ]
    },
    "ErrorDetails":{
      "type":"structure",
      "members":{
        "code":{
          "shape":"ErrorCode",
          "documentation":"<p>The error code.</p>"
        },
        "message":{
          "shape":"ErrorMessage",
          "documentation":"<p>The error message.</p>"
        }
      },
      "documentation":"<p>The error details.</p>"
    },
    "ErrorEntries":{
      "type":"list",
      "member":{"shape":"BatchPutPropertyErrorEntry"},
      "max":10,
      "min":1
    },
    "ErrorMessage":{
      "type":"string",
      "max":2048,
      "min":0
    },
    "Errors":{
      "type":"list",
      "member":{"shape":"BatchPutPropertyError"},
      "max":10,
      "min":1
    },
    "ExceptionMessage":{"type":"string"},
    "ExecuteQueryRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "queryStatement"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace.</p>"
        },
        "queryStatement":{
          "shape":"QueryStatement",
          "documentation":"<p>The query statement.</p>"
        },
        "maxResults":{
          "shape":"QueryServiceMaxResults",
          "documentation":"<p>The maximum number of results to return at one time. The default is 50.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "ExecuteQueryResponse":{
      "type":"structure",
      "members":{
        "columnDescriptions":{
          "shape":"ColumnDescriptions",
          "documentation":"<p>A list of ColumnDescription objects.</p>"
        },
        "rows":{
          "shape":"Rows",
          "documentation":"<p>Represents a single row in the query results.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "Expression":{
      "type":"string",
      "max":316,
      "min":1,
      "pattern":"(^\\$\\{Parameters\\.[a-zA-z]+([a-zA-z_0-9]*)}$)"
    },
    "ExtendsFrom":{
      "type":"list",
      "member":{"shape":"ComponentTypeId"}
    },
    "ExternalIdProperty":{
      "type":"map",
      "key":{"shape":"String"},
      "value":{"shape":"String"}
    },
    "FilterByAsset":{
      "type":"structure",
      "members":{
        "assetId":{
          "shape":"Uuid",
          "documentation":"<p>Filter by asset Id.</p>"
        },
        "assetExternalId":{
          "shape":"SiteWiseExternalId",
          "documentation":"<p>The external-Id property of an asset. </p>"
        },
        "includeOffspring":{
          "shape":"Boolean",
          "documentation":"<p>Includes sub-assets.[need description hekp for this]</p>"
        },
        "includeAssetModel":{
          "shape":"Boolean",
          "documentation":"<p>Boolean to include the asset model.</p>"
        }
      },
      "documentation":"<p>Filter by asset. [TwinMaker asset]</p>"
    },
    "FilterByAssetModel":{
      "type":"structure",
      "members":{
        "assetModelId":{
          "shape":"Uuid",
          "documentation":"<p>The asset model Id.</p>"
        },
        "assetModelExternalId":{
          "shape":"SiteWiseExternalId",
          "documentation":"<p>The external-Id property of an asset model.</p>"
        },
        "includeOffspring":{
          "shape":"Boolean",
          "documentation":"<p>Include asset offspring. [need desc.]</p>"
        },
        "includeAssets":{
          "shape":"Boolean",
          "documentation":"<p>Bolean to include assets.</p>"
        }
      },
      "documentation":"<p>Filter by asset model.</p>"
    },
    "FilterByComponentType":{
      "type":"structure",
      "required":["componentTypeId"],
      "members":{
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The component type Id.</p>"
        }
      },
      "documentation":"<p>Filter by component type.</p>"
    },
    "FilterByEntity":{
      "type":"structure",
      "required":["entityId"],
      "members":{
        "entityId":{
          "shape":"EntityId",
          "documentation":"<p>The entity Id.</p>"
        }
      },
      "documentation":"<p>Vilter by entity.</p>"
    },
    "FunctionRequest":{
      "type":"structure",
      "members":{
        "requiredProperties":{
          "shape":"RequiredProperties",
          "documentation":"<p>The required properties of the function.</p>"
        },
        "scope":{
          "shape":"Scope",
          "documentation":"<p>The scope of the function.</p>"
        },
        "implementedBy":{
          "shape":"DataConnector",
          "documentation":"<p>The data connector.</p>"
        }
      },
      "documentation":"<p>The function request body.</p>"
    },
    "FunctionResponse":{
      "type":"structure",
      "members":{
        "requiredProperties":{
          "shape":"RequiredProperties",
          "documentation":"<p>The required properties of the function.</p>"
        },
        "scope":{
          "shape":"Scope",
          "documentation":"<p>The scope of the function.</p>"
        },
        "implementedBy":{
          "shape":"DataConnector",
          "documentation":"<p>The data connector.</p>"
        },
        "isInherited":{
          "shape":"Boolean",
          "documentation":"<p>Indicates whether this function is inherited.</p>"
        }
      },
      "documentation":"<p>The function response.</p>"
    },
    "FunctionsRequest":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"FunctionRequest"}
    },
    "FunctionsResponse":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"FunctionResponse"}
    },
    "GeneratedSceneMetadataMap":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"SceneMetadataValue"},
      "max":50,
      "min":0
    },
    "GetComponentTypeRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "componentTypeId"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the component type.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The ID of the component type.</p>",
          "location":"uri",
          "locationName":"componentTypeId"
        }
      }
    },
    "GetComponentTypeResponse":{
      "type":"structure",
      "required":[
        "workspaceId",
        "componentTypeId",
        "creationDateTime",
        "updateDateTime",
        "arn"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the component type.</p>"
        },
        "isSingleton":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether an entity can have more than one component of this type.</p>"
        },
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The ID of the component type.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the component type.</p>"
        },
        "propertyDefinitions":{
          "shape":"PropertyDefinitionsResponse",
          "documentation":"<p>An object that maps strings to the property definitions in the component type. Each string in the mapping must be unique to this object.</p>"
        },
        "extendsFrom":{
          "shape":"ExtendsFrom",
          "documentation":"<p>The name of the parent component type that this component type extends.</p>"
        },
        "functions":{
          "shape":"FunctionsResponse",
          "documentation":"<p>An object that maps strings to the functions in the component type. Each string in the mapping must be unique to this object.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the component type was created.</p>"
        },
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the component was last updated.</p>"
        },
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the component type.</p>"
        },
        "isAbstract":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the component type is abstract.</p>"
        },
        "isSchemaInitialized":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the component type has a schema initializer and that the schema initializer has run.</p>"
        },
        "status":{
          "shape":"Status",
          "documentation":"<p>The current status of the component type.</p>"
        },
        "propertyGroups":{
          "shape":"PropertyGroupsResponse",
          "documentation":"<p>The maximum number of results to return at one time. The default is 25.</p> <p>Valid Range: Minimum value of 1. Maximum value of 250.</p>"
        },
        "syncSource":{
          "shape":"SyncSource",
          "documentation":"<p>The syncSource of the SyncJob, if this entity was created by a SyncJob.</p>"
        },
        "componentTypeName":{
          "shape":"ComponentTypeName",
          "documentation":"<p>The component type name.</p>"
        },
        "compositeComponentTypes":{
          "shape":"CompositeComponentTypesResponse",
          "documentation":"<p>This is an object that maps strings to <code>compositeComponentTypes</code> of the <code>componentType</code>. <code>CompositeComponentType</code> is referenced by <code>componentTypeId</code>.</p>"
        }
      }
    },
    "GetEntityRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "entityId"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "entityId":{
          "shape":"EntityId",
          "documentation":"<p>The ID of the entity.</p>",
          "location":"uri",
          "locationName":"entityId"
        }
      }
    },
    "GetEntityResponse":{
      "type":"structure",
      "required":[
        "entityId",
        "entityName",
        "arn",
        "status",
        "workspaceId",
        "parentEntityId",
        "hasChildEntities",
        "creationDateTime",
        "updateDateTime"
      ],
      "members":{
        "entityId":{
          "shape":"EntityId",
          "documentation":"<p>The ID of the entity.</p>"
        },
        "entityName":{
          "shape":"EntityName",
          "documentation":"<p>The name of the entity.</p>"
        },
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the entity.</p>"
        },
        "status":{
          "shape":"Status",
          "documentation":"<p>The current status of the entity.</p>"
        },
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the entity.</p>"
        },
        "components":{
          "shape":"ComponentsMap",
          "documentation":"<p>An object that maps strings to the components in the entity. Each string in the mapping must be unique to this object.</p>"
        },
        "parentEntityId":{
          "shape":"ParentEntityId",
          "documentation":"<p>The ID of the parent entity for this entity.</p>"
        },
        "hasChildEntities":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the entity has associated child entities.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the entity was created.</p>"
        },
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the entity was last updated.</p>"
        },
        "syncSource":{
          "shape":"SyncSource",
          "documentation":"<p>The syncSource of the sync job, if this entity was created by a sync job.</p>"
        },
        "areAllComponentsReturned":{
          "shape":"Boolean",
          "documentation":"<p>This flag notes whether all components are returned in the API response. The maximum number of components returned is 30.</p>"
        }
      }
    },
    "GetMetadataTransferJobRequest":{
      "type":"structure",
      "required":["metadataTransferJobId"],
      "members":{
        "metadataTransferJobId":{
          "shape":"Id",
          "documentation":"<p>The metadata transfer job Id.</p>",
          "location":"uri",
          "locationName":"metadataTransferJobId"
        }
      }
    },
    "GetMetadataTransferJobResponse":{
      "type":"structure",
      "required":[
        "metadataTransferJobId",
        "arn",
        "sources",
        "destination",
        "metadataTransferJobRole",
        "creationDateTime",
        "updateDateTime",
        "status"
      ],
      "members":{
        "metadataTransferJobId":{
          "shape":"Id",
          "documentation":"<p>The metadata transfer job Id.</p>"
        },
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The metadata transfer job ARN.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The metadata transfer job description.</p>"
        },
        "sources":{
          "shape":"SourceConfigurations",
          "documentation":"<p>The metadata transfer job's sources.</p>"
        },
        "destination":{
          "shape":"DestinationConfiguration",
          "documentation":"<p>The metadata transfer job's destination.</p>"
        },
        "metadataTransferJobRole":{
          "shape":"RoleArn",
          "documentation":"<p>The metadata transfer job's role.</p>"
        },
        "reportUrl":{
          "shape":"String",
          "documentation":"<p>The metadata transfer job's report URL.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The metadata transfer job's creation DateTime property.</p>"
        },
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The metadata transfer job's update DateTime property.</p>"
        },
        "status":{
          "shape":"MetadataTransferJobStatus",
          "documentation":"<p>The metadata transfer job's status.</p>"
        },
        "progress":{
          "shape":"MetadataTransferJobProgress",
          "documentation":"<p>The metadata transfer job's progress.</p>"
        }
      }
    },
    "GetPricingPlanRequest":{
      "type":"structure",
      "members":{
      }
    },
    "GetPricingPlanResponse":{
      "type":"structure",
      "required":["currentPricingPlan"],
      "members":{
        "currentPricingPlan":{
          "shape":"PricingPlan",
          "documentation":"<p>The chosen pricing plan for the current billing cycle.</p>"
        },
        "pendingPricingPlan":{
          "shape":"PricingPlan",
          "documentation":"<p>The pending pricing plan.</p>"
        }
      }
    },
    "GetPropertyValueHistoryRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "selectedProperties"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "entityId":{
          "shape":"EntityId",
          "documentation":"<p>The ID of the entity.</p>"
        },
        "componentName":{
          "shape":"Name",
          "documentation":"<p>The name of the component.</p>"
        },
        "componentPath":{
          "shape":"ComponentPath",
          "documentation":"<p>This string specifies the path to the composite component, starting from the top-level component.</p>"
        },
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The ID of the component type.</p>"
        },
        "selectedProperties":{
          "shape":"SelectedPropertyList",
          "documentation":"<p>A list of properties whose value histories the request retrieves.</p>"
        },
        "propertyFilters":{
          "shape":"PropertyFilters",
          "documentation":"<p>A list of objects that filter the property value history request.</p>"
        },
        "startDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time of the earliest property value to return.</p>",
          "deprecated":true,
          "deprecatedMessage":"This field is deprecated and will throw an error in the future. Use startTime instead."
        },
        "endDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time of the latest property value to return.</p>",
          "deprecated":true,
          "deprecatedMessage":"This field is deprecated and will throw an error in the future. Use endTime instead."
        },
        "interpolation":{
          "shape":"InterpolationParameters",
          "documentation":"<p>An object that specifies the interpolation type and the interval over which to interpolate data.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time. The default is 25.</p> <p>Valid Range: Minimum value of 1. Maximum value of 250.</p>"
        },
        "orderByTime":{
          "shape":"OrderByTime",
          "documentation":"<p>The time direction to use in the result order.</p>"
        },
        "startTime":{
          "shape":"Time",
          "documentation":"<p>The ISO8601 DateTime of the earliest property value to return.</p> <p>For more information about the ISO8601 DateTime format, see the data type <a href=\"https://docs.aws.amazon.com/iot-twinmaker/latest/apireference/API_PropertyValue.html\">PropertyValue</a>.</p>"
        },
        "endTime":{
          "shape":"Time",
          "documentation":"<p>The ISO8601 DateTime of the latest property value to return.</p> <p>For more information about the ISO8601 DateTime format, see the data type <a href=\"https://docs.aws.amazon.com/iot-twinmaker/latest/apireference/API_PropertyValue.html\">PropertyValue</a>.</p>"
        }
      }
    },
    "GetPropertyValueHistoryResponse":{
      "type":"structure",
      "required":["propertyValues"],
      "members":{
        "propertyValues":{
          "shape":"PropertyValueList",
          "documentation":"<p>An object that maps strings to the property definitions in the component type. Each string in the mapping must be unique to this object.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "GetPropertyValueRequest":{
      "type":"structure",
      "required":[
        "selectedProperties",
        "workspaceId"
      ],
      "members":{
        "componentName":{
          "shape":"Name",
          "documentation":"<p>The name of the component whose property values the operation returns.</p>"
        },
        "componentPath":{
          "shape":"ComponentPath",
          "documentation":"<p>This string specifies the path to the composite component, starting from the top-level component.</p>"
        },
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The ID of the component type whose property values the operation returns.</p>"
        },
        "entityId":{
          "shape":"EntityId",
          "documentation":"<p>The ID of the entity whose property values the operation returns.</p>"
        },
        "selectedProperties":{
          "shape":"SelectedPropertyList",
          "documentation":"<p>The properties whose values the operation returns.</p>"
        },
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace whose values the operation returns.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time. The default is 25.</p> <p>Valid Range: Minimum value of 1. Maximum value of 250.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        },
        "propertyGroupName":{
          "shape":"Name",
          "documentation":"<p>The property group name.</p>"
        },
        "tabularConditions":{
          "shape":"TabularConditions",
          "documentation":"<p>The tabular conditions.</p>"
        }
      }
    },
    "GetPropertyValueResponse":{
      "type":"structure",
      "members":{
        "propertyValues":{
          "shape":"PropertyLatestValueMap",
          "documentation":"<p>An object that maps strings to the properties and latest property values in the response. Each string in the mapping must be unique to this object.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        },
        "tabularPropertyValues":{
          "shape":"TabularPropertyValues",
          "documentation":"<p>A table of property values.</p>"
        }
      }
    },
    "GetSceneRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "sceneId"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the scene.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "sceneId":{
          "shape":"Id",
          "documentation":"<p>The ID of the scene.</p>",
          "location":"uri",
          "locationName":"sceneId"
        }
      }
    },
    "GetSceneResponse":{
      "type":"structure",
      "required":[
        "workspaceId",
        "sceneId",
        "contentLocation",
        "arn",
        "creationDateTime",
        "updateDateTime"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the scene.</p>"
        },
        "sceneId":{
          "shape":"Id",
          "documentation":"<p>The ID of the scene.</p>"
        },
        "contentLocation":{
          "shape":"S3Url",
          "documentation":"<p>The relative path that specifies the location of the content definition file.</p>"
        },
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the scene.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the scene was created.</p>"
        },
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the scene was last updated.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the scene.</p>"
        },
        "capabilities":{
          "shape":"SceneCapabilities",
          "documentation":"<p>A list of capabilities that the scene uses to render.</p>"
        },
        "sceneMetadata":{
          "shape":"SceneMetadataMap",
          "documentation":"<p>The response metadata.</p>"
        },
        "generatedSceneMetadata":{
          "shape":"GeneratedSceneMetadataMap",
          "documentation":"<p>The generated scene metadata.</p>"
        },
        "error":{
          "shape":"SceneError",
          "documentation":"<p>The SceneResponse error.</p>"
        }
      }
    },
    "GetSyncJobRequest":{
      "type":"structure",
      "required":["syncSource"],
      "members":{
        "syncSource":{
          "shape":"SyncSource",
          "documentation":"<p>The sync source.</p> <note> <p>Currently the only supported syncSource is <code>SITEWISE </code>.</p> </note>",
          "location":"uri",
          "locationName":"syncSource"
        },
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The workspace ID.</p>",
          "location":"querystring",
          "locationName":"workspace"
        }
      }
    },
    "GetSyncJobResponse":{
      "type":"structure",
      "required":[
        "arn",
        "workspaceId",
        "syncSource",
        "syncRole",
        "status",
        "creationDateTime",
        "updateDateTime"
      ],
      "members":{
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The sync job ARN.</p>"
        },
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the sync job.</p>"
        },
        "syncSource":{
          "shape":"SyncSource",
          "documentation":"<p>The sync soucre.</p> <note> <p>Currently the only supported syncSource is <code>SITEWISE </code>.</p> </note>"
        },
        "syncRole":{
          "shape":"RoleArn",
          "documentation":"<p>The sync IAM role.</p>"
        },
        "status":{
          "shape":"SyncJobStatus",
          "documentation":"<p>The SyncJob response status.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The creation date and time.</p>"
        },
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The update date and time.</p>"
        }
      }
    },
    "GetWorkspaceRequest":{
      "type":"structure",
      "required":["workspaceId"],
      "members":{
        "workspaceId":{
          "shape":"IdOrArn",
          "documentation":"<p>The ID of the workspace.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        }
      }
    },
    "GetWorkspaceResponse":{
      "type":"structure",
      "required":[
        "workspaceId",
        "arn",
        "creationDateTime",
        "updateDateTime"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace.</p>"
        },
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the workspace.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the workspace.</p>"
        },
        "linkedServices":{
          "shape":"LinkedServices",
          "documentation":"<p>A list of services that are linked to the workspace.</p>"
        },
        "s3Location":{
          "shape":"S3Location",
          "documentation":"<p>The ARN of the S3 bucket where resources associated with the workspace are stored.</p>"
        },
        "role":{
          "shape":"RoleArn",
          "documentation":"<p>The ARN of the execution role associated with the workspace.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the workspace was created.</p>"
        },
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the workspace was last updated.</p>"
        }
      }
    },
    "GroupType":{
      "type":"string",
      "enum":["TABULAR"]
    },
    "Id":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"[a-zA-Z_0-9][a-zA-Z_\\-0-9]*[a-zA-Z0-9]+"
    },
    "IdOrArn":{
      "type":"string",
      "max":2048,
      "min":1,
      "pattern":"[a-zA-Z_0-9][a-zA-Z_\\-0-9]*[a-zA-Z0-9]+$|^arn:((aws)|(aws-cn)|(aws-us-gov)):iottwinmaker:[a-z0-9-]+:[0-9]{12}:[\\/a-zA-Z0-9_-]+"
    },
    "Integer":{
      "type":"integer",
      "box":true
    },
    "InternalServerException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>An unexpected error has occurred.</p>",
      "error":{"httpStatusCode":500},
      "exception":true,
      "fault":true
    },
    "InterpolationParameters":{
      "type":"structure",
      "members":{
        "interpolationType":{
          "shape":"InterpolationType",
          "documentation":"<p>The interpolation type.</p>"
        },
        "intervalInSeconds":{
          "shape":"IntervalInSeconds",
          "documentation":"<p>The interpolation time interval in seconds.</p>"
        }
      },
      "documentation":"<p>An object that specifies how to interpolate data in a list.</p>"
    },
    "InterpolationType":{
      "type":"string",
      "enum":["LINEAR"]
    },
    "IntervalInSeconds":{
      "type":"long",
      "box":true
    },
    "IotSiteWiseSourceConfiguration":{
      "type":"structure",
      "members":{
        "filters":{
          "shape":"IotSiteWiseSourceConfigurationFilters",
          "documentation":"<p>The AWS IoT SiteWise soucre configuration filters.</p>"
        }
      },
      "documentation":"<p>The metadata transfer job AWS IoT SiteWise source configuration.</p>"
    },
    "IotSiteWiseSourceConfigurationFilter":{
      "type":"structure",
      "members":{
        "filterByAssetModel":{
          "shape":"FilterByAssetModel",
          "documentation":"<p>Filter by asset model.</p>"
        },
        "filterByAsset":{
          "shape":"FilterByAsset",
          "documentation":"<p>Filter by asset.</p>"
        }
      },
      "documentation":"<p>The AWS IoT SiteWise soucre configuration filter.[need held with desc here]</p>",
      "union":true
    },
    "IotSiteWiseSourceConfigurationFilters":{
      "type":"list",
      "member":{"shape":"IotSiteWiseSourceConfigurationFilter"}
    },
    "IotTwinMakerDestinationConfiguration":{
      "type":"structure",
      "required":["workspace"],
      "members":{
        "workspace":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The IoT TwinMaker workspace.</p>"
        }
      },
      "documentation":"<p>The metadata transfer job AWS IoT TwinMaker destination configuration.</p>"
    },
    "IotTwinMakerSourceConfiguration":{
      "type":"structure",
      "required":["workspace"],
      "members":{
        "workspace":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The IoT TwinMaker workspace.</p>"
        },
        "filters":{
          "shape":"IotTwinMakerSourceConfigurationFilters",
          "documentation":"<p>The metadata transfer job AWS IoT TwinMaker source configuration filters.</p>"
        }
      },
      "documentation":"<p>The metadata transfer job AWS IoT TwinMaker source configuration.</p>"
    },
    "IotTwinMakerSourceConfigurationFilter":{
      "type":"structure",
      "members":{
        "filterByComponentType":{
          "shape":"FilterByComponentType",
          "documentation":"<p>Filter by component type.</p>"
        },
        "filterByEntity":{
          "shape":"FilterByEntity",
          "documentation":"<p>Filter by entity.</p>"
        }
      },
      "documentation":"<p>The metadata transfer job AWS IoT TwinMaker source configuration filter.</p>",
      "union":true
    },
    "IotTwinMakerSourceConfigurationFilters":{
      "type":"list",
      "member":{"shape":"IotTwinMakerSourceConfigurationFilter"}
    },
    "LambdaArn":{
      "type":"string",
      "max":2048,
      "min":20,
      "pattern":"arn:((aws)|(aws-cn)|(aws-us-gov)):lambda:[a-z0-9-]+:[0-9]{12}:function:[\\/a-zA-Z0-9_-]+"
    },
    "LambdaFunction":{
      "type":"structure",
      "required":["arn"],
      "members":{
        "arn":{
          "shape":"LambdaArn",
          "documentation":"<p>The ARN of the Lambda function.</p>"
        }
      },
      "documentation":"<p>The Lambda function.</p>"
    },
    "LinkedService":{
      "type":"string",
      "pattern":"[a-zA-Z_0-9]+"
    },
    "LinkedServices":{
      "type":"list",
      "member":{"shape":"LinkedService"}
    },
    "ListComponentTypesFilter":{
      "type":"structure",
      "members":{
        "extendsFrom":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The component type that the component types in the list extend.</p>"
        },
        "namespace":{
          "shape":"String",
          "documentation":"<p>The namespace to which the component types in the list belong.</p>"
        },
        "isAbstract":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the component types in the list are abstract.</p>"
        }
      },
      "documentation":"<p>An object that filters items in a list of component types.</p> <note> <p>Only one object is accepted as a valid input.</p> </note>",
      "union":true
    },
    "ListComponentTypesFilters":{
      "type":"list",
      "member":{"shape":"ListComponentTypesFilter"}
    },
    "ListComponentTypesRequest":{
      "type":"structure",
      "required":["workspaceId"],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "filters":{
          "shape":"ListComponentTypesFilters",
          "documentation":"<p>A list of objects that filter the request.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time. The default is 25.</p> <p>Valid Range: Minimum value of 1. Maximum value of 250.</p>"
        }
      }
    },
    "ListComponentTypesResponse":{
      "type":"structure",
      "required":[
        "workspaceId",
        "componentTypeSummaries"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace.</p>"
        },
        "componentTypeSummaries":{
          "shape":"ComponentTypeSummaries",
          "documentation":"<p>A list of objects that contain information about the component types.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>Specifies the maximum number of results to display.</p>"
        }
      }
    },
    "ListComponentsRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "entityId"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The workspace ID.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "entityId":{
          "shape":"EntityId",
          "documentation":"<p>The ID for the entity whose metadata (component/properties) is returned by the operation.</p>",
          "location":"uri",
          "locationName":"entityId"
        },
        "componentPath":{
          "shape":"ComponentPath",
          "documentation":"<p>This string specifies the path to the composite component, starting from the top-level component.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results returned at one time. The default is 25.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "ListComponentsResponse":{
      "type":"structure",
      "required":["componentSummaries"],
      "members":{
        "componentSummaries":{
          "shape":"ComponentSummaries",
          "documentation":"<p>A list of objects that contain information about the components.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of component results.</p>"
        }
      }
    },
    "ListEntitiesFilter":{
      "type":"structure",
      "members":{
        "parentEntityId":{
          "shape":"ParentEntityId",
          "documentation":"<p>The parent of the entities in the list.</p>"
        },
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The ID of the component type in the entities in the list.</p>"
        },
        "externalId":{
          "shape":"String",
          "documentation":"<p>The external-Id property of a component. The external-Id property is the primary key of an external storage system.</p>"
        }
      },
      "documentation":"<p>An object that filters items in a list of entities.</p>",
      "union":true
    },
    "ListEntitiesFilters":{
      "type":"list",
      "member":{"shape":"ListEntitiesFilter"}
    },
    "ListEntitiesRequest":{
      "type":"structure",
      "required":["workspaceId"],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "filters":{
          "shape":"ListEntitiesFilters",
          "documentation":"<p>A list of objects that filter the request.</p> <note> <p>Only one object is accepted as a valid input.</p> </note>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time. The default is 25.</p> <p>Valid Range: Minimum value of 1. Maximum value of 250.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "ListEntitiesResponse":{
      "type":"structure",
      "members":{
        "entitySummaries":{
          "shape":"EntitySummaries",
          "documentation":"<p>A list of objects that contain information about the entities.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "ListMetadataTransferJobsFilter":{
      "type":"structure",
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The workspace Id.</p>"
        },
        "state":{
          "shape":"MetadataTransferJobState",
          "documentation":"<p>The filter state.</p>"
        }
      },
      "documentation":"<p>The ListMetadataTransferJobs filter.</p>",
      "union":true
    },
    "ListMetadataTransferJobsFilters":{
      "type":"list",
      "member":{"shape":"ListMetadataTransferJobsFilter"}
    },
    "ListMetadataTransferJobsRequest":{
      "type":"structure",
      "required":[
        "sourceType",
        "destinationType"
      ],
      "members":{
        "sourceType":{
          "shape":"SourceType",
          "documentation":"<p>The metadata transfer job's source type.</p>"
        },
        "destinationType":{
          "shape":"DestinationType",
          "documentation":"<p>The metadata transfer job's destination type.</p>"
        },
        "filters":{
          "shape":"ListMetadataTransferJobsFilters",
          "documentation":"<p>An object that filters metadata transfer jobs.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time.</p>"
        }
      }
    },
    "ListMetadataTransferJobsResponse":{
      "type":"structure",
      "required":["metadataTransferJobSummaries"],
      "members":{
        "metadataTransferJobSummaries":{
          "shape":"MetadataTransferJobSummaries",
          "documentation":"<p>The metadata transfer job summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "ListPropertiesRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "entityId"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The workspace ID.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "componentName":{
          "shape":"Name",
          "documentation":"<p>The name of the component whose properties are returned by the operation.</p>"
        },
        "componentPath":{
          "shape":"ComponentPath",
          "documentation":"<p>This string specifies the path to the composite component, starting from the top-level component.</p>"
        },
        "entityId":{
          "shape":"EntityId",
          "documentation":"<p>The ID for the entity whose metadata (component/properties) is returned by the operation.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results returned at one time. The default is 25.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "ListPropertiesResponse":{
      "type":"structure",
      "required":["propertySummaries"],
      "members":{
        "propertySummaries":{
          "shape":"PropertySummaries",
          "documentation":"<p>A list of objects that contain information about the properties.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of property results.</p>"
        }
      }
    },
    "ListScenesRequest":{
      "type":"structure",
      "required":["workspaceId"],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the scenes.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>Specifies the maximum number of results to display.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "ListScenesResponse":{
      "type":"structure",
      "members":{
        "sceneSummaries":{
          "shape":"SceneSummaries",
          "documentation":"<p>A list of objects that contain information about the scenes.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "ListSyncJobsRequest":{
      "type":"structure",
      "required":["workspaceId"],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the sync job.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time. The default is 50.</p> <p>Valid Range: Minimum value of 0. Maximum value of 200.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "ListSyncJobsResponse":{
      "type":"structure",
      "members":{
        "syncJobSummaries":{
          "shape":"SyncJobSummaries",
          "documentation":"<p>The listed SyncJob summaries.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "ListSyncResourcesRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "syncSource"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the sync job.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "syncSource":{
          "shape":"SyncSource",
          "documentation":"<p>The sync source.</p> <note> <p>Currently the only supported syncSource is <code>SITEWISE </code>.</p> </note>",
          "location":"uri",
          "locationName":"syncSource"
        },
        "filters":{
          "shape":"SyncResourceFilters",
          "documentation":"<p>A list of objects that filter the request.</p> <p>The following filter combinations are supported:</p> <ul> <li> <p>Filter with state</p> </li> <li> <p>Filter with ResourceType and ResourceId</p> </li> <li> <p>Filter with ResourceType and ExternalId</p> </li> </ul>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time. The default is 50.</p> <p>Valid Range: Minimum value of 0. Maximum value of 200.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "ListSyncResourcesResponse":{
      "type":"structure",
      "members":{
        "syncResources":{
          "shape":"SyncResourceSummaries",
          "documentation":"<p>The sync resources.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "ListTagsForResourceRequest":{
      "type":"structure",
      "required":["resourceARN"],
      "members":{
        "resourceARN":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the resource.</p>"
        },
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time. The default is 25.</p> <p>Valid Range: Minimum value of 1. Maximum value of 250.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "ListTagsForResourceResponse":{
      "type":"structure",
      "members":{
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata that you can use to manage a resource.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "ListWorkspacesRequest":{
      "type":"structure",
      "members":{
        "maxResults":{
          "shape":"MaxResults",
          "documentation":"<p>The maximum number of results to return at one time. The default is 25.</p> <p>Valid Range: Minimum value of 1. Maximum value of 250.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "ListWorkspacesResponse":{
      "type":"structure",
      "members":{
        "workspaceSummaries":{
          "shape":"WorkspaceSummaries",
          "documentation":"<p>A list of objects that contain information about the workspaces.</p>"
        },
        "nextToken":{
          "shape":"NextToken",
          "documentation":"<p>The string that specifies the next page of results.</p>"
        }
      }
    },
    "Long":{
      "type":"long",
      "box":true
    },
    "MaxResults":{
      "type":"integer",
      "box":true,
      "max":200,
      "min":0
    },
    "MetadataTransferJobProgress":{
      "type":"structure",
      "members":{
        "totalCount":{
          "shape":"Integer",
          "documentation":"<p>The total count. [of what]</p>"
        },
        "succeededCount":{
          "shape":"Integer",
          "documentation":"<p>The succeeded count.</p>"
        },
        "skippedCount":{
          "shape":"Integer",
          "documentation":"<p>The skipped count.</p>"
        },
        "failedCount":{
          "shape":"Integer",
          "documentation":"<p>The failed count.</p>"
        }
      },
      "documentation":"<p>The metadata transfer job's progress.</p>"
    },
    "MetadataTransferJobState":{
      "type":"string",
      "enum":[
        "VALIDATING",
        "PENDING",
        "RUNNING",
        "CANCELLING",
        "ERROR",
        "COMPLETED",
        "CANCELLED"
      ]
    },
    "MetadataTransferJobStatus":{
      "type":"structure",
      "members":{
        "state":{
          "shape":"MetadataTransferJobState",
          "documentation":"<p>The metadata transfer job state.</p>"
        },
        "error":{
          "shape":"ErrorDetails",
          "documentation":"<p>The metadata transfer job error.</p>"
        },
        "queuedPosition":{
          "shape":"Integer",
          "documentation":"<p>The queued position.</p>"
        }
      },
      "documentation":"<p>The metadata transfer job status.</p>"
    },
    "MetadataTransferJobSummaries":{
      "type":"list",
      "member":{"shape":"MetadataTransferJobSummary"}
    },
    "MetadataTransferJobSummary":{
      "type":"structure",
      "required":[
        "metadataTransferJobId",
        "arn",
        "creationDateTime",
        "updateDateTime",
        "status"
      ],
      "members":{
        "metadataTransferJobId":{
          "shape":"Id",
          "documentation":"<p>The metadata transfer job summary Id.</p>"
        },
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The metadata transfer job summary ARN.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The metadata transfer job summary creation DateTime object.</p>"
        },
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The metadata transfer job summary update DateTime object</p>"
        },
        "status":{
          "shape":"MetadataTransferJobStatus",
          "documentation":"<p>The metadata transfer job summary status.</p>"
        },
        "progress":{
          "shape":"MetadataTransferJobProgress",
          "documentation":"<p>The metadata transfer job summary progess.</p>"
        }
      },
      "documentation":"<p>The metadata transfer job summary.</p>"
    },
    "Name":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":"[a-zA-Z_\\-0-9]+"
    },
    "NextToken":{
      "type":"string",
      "max":17880,
      "min":0,
      "pattern":".*"
    },
    "Order":{
      "type":"string",
      "enum":[
        "ASCENDING",
        "DESCENDING"
      ]
    },
    "OrderBy":{
      "type":"structure",
      "required":["propertyName"],
      "members":{
        "order":{
          "shape":"Order",
          "documentation":"<p>The set order that filters results.</p>"
        },
        "propertyName":{
          "shape":"String",
          "documentation":"<p>The property name.</p>"
        }
      },
      "documentation":"<p>Filter criteria that orders the return output. It can be sorted in ascending or descending order.</p>"
    },
    "OrderByList":{
      "type":"list",
      "member":{"shape":"OrderBy"},
      "max":10,
      "min":1
    },
    "OrderByTime":{
      "type":"string",
      "enum":[
        "ASCENDING",
        "DESCENDING"
      ]
    },
    "ParentEntityId":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"\\$ROOT|^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|^[a-zA-Z0-9][a-zA-Z_\\-0-9.:]*[a-zA-Z0-9]+"
    },
    "ParentEntityUpdateRequest":{
      "type":"structure",
      "required":["updateType"],
      "members":{
        "updateType":{
          "shape":"ParentEntityUpdateType",
          "documentation":"<p>The type of the update.</p>"
        },
        "parentEntityId":{
          "shape":"ParentEntityId",
          "documentation":"<p>The ID of the parent entity.</p>"
        }
      },
      "documentation":"<p>The parent entity update request.</p>"
    },
    "ParentEntityUpdateType":{
      "type":"string",
      "enum":[
        "UPDATE",
        "DELETE"
      ]
    },
    "PricingBundles":{
      "type":"list",
      "member":{"shape":"BundleName"},
      "max":10,
      "min":1
    },
    "PricingMode":{
      "type":"string",
      "enum":[
        "BASIC",
        "STANDARD",
        "TIERED_BUNDLE"
      ]
    },
    "PricingPlan":{
      "type":"structure",
      "required":[
        "effectiveDateTime",
        "pricingMode",
        "updateDateTime",
        "updateReason"
      ],
      "members":{
        "billableEntityCount":{
          "shape":"Long",
          "documentation":"<p>The billable entity count.</p>"
        },
        "bundleInformation":{
          "shape":"BundleInformation",
          "documentation":"<p>The pricing plan's bundle information.</p>"
        },
        "effectiveDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The effective date and time of the pricing plan.</p>"
        },
        "pricingMode":{
          "shape":"PricingMode",
          "documentation":"<p>The pricing mode.</p>"
        },
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The set date and time for updating a pricing plan.</p>"
        },
        "updateReason":{
          "shape":"UpdateReason",
          "documentation":"<p>The update reason for changing a pricing plan.</p>"
        }
      },
      "documentation":"<p>The pricing plan.</p>"
    },
    "PricingTier":{
      "type":"string",
      "enum":[
        "TIER_1",
        "TIER_2",
        "TIER_3",
        "TIER_4"
      ]
    },
    "PropertyDefinitionRequest":{
      "type":"structure",
      "members":{
        "dataType":{
          "shape":"DataType",
          "documentation":"<p>An object that contains information about the data type.</p>"
        },
        "isRequiredInEntity":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the property is required.</p>"
        },
        "isExternalId":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the property ID comes from an external data store.</p>"
        },
        "isStoredExternally":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the property is stored externally.</p>"
        },
        "isTimeSeries":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the property consists of time series data.</p>"
        },
        "defaultValue":{
          "shape":"DataValue",
          "documentation":"<p>An object that contains the default value.</p>"
        },
        "configuration":{
          "shape":"Configuration",
          "documentation":"<p>A mapping that specifies configuration information about the property. Use this field to specify information that you read from and write to an external source.</p>"
        },
        "displayName":{
          "shape":"PropertyDisplayName",
          "documentation":"<p>A friendly name for the property.</p>"
        }
      },
      "documentation":"<p>An object that sets information about a property.</p>"
    },
    "PropertyDefinitionResponse":{
      "type":"structure",
      "required":[
        "dataType",
        "isTimeSeries",
        "isRequiredInEntity",
        "isExternalId",
        "isStoredExternally",
        "isImported",
        "isFinal",
        "isInherited"
      ],
      "members":{
        "dataType":{
          "shape":"DataType",
          "documentation":"<p>An object that contains information about the data type.</p>"
        },
        "isTimeSeries":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the property consists of time series data.</p>"
        },
        "isRequiredInEntity":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the property is required in an entity.</p>"
        },
        "isExternalId":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the property ID comes from an external data store.</p>"
        },
        "isStoredExternally":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the property is stored externally.</p>"
        },
        "isImported":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the property definition is imported from an external data store.</p>"
        },
        "isFinal":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the property definition can be updated.</p>"
        },
        "isInherited":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the property definition is inherited from a parent entity.</p>"
        },
        "defaultValue":{
          "shape":"DataValue",
          "documentation":"<p>An object that contains the default value.</p>"
        },
        "configuration":{
          "shape":"Configuration",
          "documentation":"<p>A mapping that specifies configuration information about the property.</p>"
        },
        "displayName":{
          "shape":"PropertyDisplayName",
          "documentation":"<p>A friendly name for the property.</p>"
        }
      },
      "documentation":"<p>An object that contains response data from a property definition request.</p>"
    },
    "PropertyDefinitionsRequest":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"PropertyDefinitionRequest"}
    },
    "PropertyDefinitionsResponse":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"PropertyDefinitionResponse"}
    },
    "PropertyDisplayName":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":".*[^\\u0000-\\u001F\\u007F]*.*"
    },
    "PropertyFilter":{
      "type":"structure",
      "members":{
        "propertyName":{
          "shape":"String",
          "documentation":"<p>The property name associated with this property filter.</p>"
        },
        "operator":{
          "shape":"String",
          "documentation":"<p>The operator associated with this property filter.</p>"
        },
        "value":{
          "shape":"DataValue",
          "documentation":"<p>The value associated with this property filter.</p>"
        }
      },
      "documentation":"<p>An object that filters items returned by a property request.</p>"
    },
    "PropertyFilters":{
      "type":"list",
      "member":{"shape":"PropertyFilter"},
      "max":10,
      "min":1
    },
    "PropertyGroupRequest":{
      "type":"structure",
      "members":{
        "groupType":{
          "shape":"GroupType",
          "documentation":"<p>The group type.</p>"
        },
        "propertyNames":{
          "shape":"PropertyNames",
          "documentation":"<p>The names of properties.</p>"
        }
      },
      "documentation":"<p/>"
    },
    "PropertyGroupResponse":{
      "type":"structure",
      "required":[
        "groupType",
        "propertyNames",
        "isInherited"
      ],
      "members":{
        "groupType":{
          "shape":"GroupType",
          "documentation":"<p>The group types.</p>"
        },
        "propertyNames":{
          "shape":"PropertyNames",
          "documentation":"<p>The names of properties.</p>"
        },
        "isInherited":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether the property group is inherited from a parent entity</p>"
        }
      },
      "documentation":"<p>The property group response</p>"
    },
    "PropertyGroupUpdateType":{
      "type":"string",
      "enum":[
        "UPDATE",
        "DELETE",
        "CREATE"
      ]
    },
    "PropertyGroupsRequest":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"PropertyGroupRequest"}
    },
    "PropertyGroupsResponse":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"PropertyGroupResponse"}
    },
    "PropertyLatestValue":{
      "type":"structure",
      "required":["propertyReference"],
      "members":{
        "propertyReference":{
          "shape":"EntityPropertyReference",
          "documentation":"<p>An object that specifies information about a property.</p>"
        },
        "propertyValue":{
          "shape":"DataValue",
          "documentation":"<p>The value of the property.</p>"
        }
      },
      "documentation":"<p>The latest value of the property.</p>"
    },
    "PropertyLatestValueMap":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"PropertyLatestValue"}
    },
    "PropertyNames":{
      "type":"list",
      "member":{"shape":"Name"}
    },
    "PropertyRequest":{
      "type":"structure",
      "members":{
        "definition":{
          "shape":"PropertyDefinitionRequest",
          "documentation":"<p>An object that specifies information about a property.</p>"
        },
        "value":{
          "shape":"DataValue",
          "documentation":"<p>The value of the property.</p>"
        },
        "updateType":{
          "shape":"PropertyUpdateType",
          "documentation":"<p>The update type of the update property request.</p>"
        }
      },
      "documentation":"<p>An object that sets information about a property.</p>"
    },
    "PropertyRequests":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"PropertyRequest"}
    },
    "PropertyResponse":{
      "type":"structure",
      "members":{
        "definition":{
          "shape":"PropertyDefinitionResponse",
          "documentation":"<p>An object that specifies information about a property.</p>"
        },
        "value":{
          "shape":"DataValue",
          "documentation":"<p>The value of the property.</p>"
        },
        "areAllPropertyValuesReturned":{
          "shape":"Boolean",
          "documentation":"<p>This flag notes whether all values of a list or map type property are returned in the API response. The maximum number of values per property returned is 50.</p>"
        }
      },
      "documentation":"<p>An object that contains information about a property response.</p>"
    },
    "PropertyResponses":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"PropertyResponse"}
    },
    "PropertySummaries":{
      "type":"list",
      "member":{"shape":"PropertySummary"}
    },
    "PropertySummary":{
      "type":"structure",
      "required":["propertyName"],
      "members":{
        "definition":{
          "shape":"PropertyDefinitionResponse",
          "documentation":"<p>This is the schema for the property.</p>"
        },
        "propertyName":{
          "shape":"Name",
          "documentation":"<p>This is the name of the property.</p>"
        },
        "value":{
          "shape":"DataValue",
          "documentation":"<p>This is the value for the property.</p>"
        },
        "areAllPropertyValuesReturned":{
          "shape":"Boolean",
          "documentation":"<p>This flag notes whether all values of a list or map type property are returned in the API response. The maximum number of values per property returned is 50.</p>"
        }
      },
      "documentation":"<p>This is an object that contains the information of a property.</p>"
    },
    "PropertyTableValue":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"DataValue"}
    },
    "PropertyUpdateType":{
      "type":"string",
      "enum":[
        "UPDATE",
        "DELETE",
        "CREATE"
      ]
    },
    "PropertyValue":{
      "type":"structure",
      "required":["value"],
      "members":{
        "timestamp":{
          "shape":"Timestamp",
          "documentation":"<p>The timestamp of a value for a time series property.</p>",
          "deprecated":true,
          "deprecatedMessage":"This field is deprecated and will throw an error in the future. Use time instead."
        },
        "value":{
          "shape":"DataValue",
          "documentation":"<p>An object that specifies a value for a time series property.</p>"
        },
        "time":{
          "shape":"Time",
          "documentation":"<p>ISO8601 DateTime of a value for a time series property.</p> <p>The time for when the property value was recorded in ISO 8601 format: <i>YYYY-MM-DDThh:mm:ss[.SSSSSSSSS][Z/±HH:mm]</i>.</p> <ul> <li> <p> <i>[YYYY]</i>: year</p> </li> <li> <p> <i>[MM]</i>: month</p> </li> <li> <p> <i>[DD]</i>: day</p> </li> <li> <p> <i>[hh]</i>: hour</p> </li> <li> <p> <i>[mm]</i>: minute</p> </li> <li> <p> <i>[ss]</i>: seconds</p> </li> <li> <p> <i>[.SSSSSSSSS]</i>: additional precision, where precedence is maintained. For example: [.573123] is equal to 573123000 nanoseconds.</p> </li> <li> <p> <i>Z</i>: default timezone UTC</p> </li> <li> <p> <i>± HH:mm</i>: time zone offset in Hours and Minutes.</p> </li> </ul> <p> <i>Required sub-fields</i>: YYYY-MM-DDThh:mm:ss and [Z/±HH:mm]</p>"
        }
      },
      "documentation":"<p>An object that contains information about a value for a time series property.</p>"
    },
    "PropertyValueEntry":{
      "type":"structure",
      "required":["entityPropertyReference"],
      "members":{
        "entityPropertyReference":{
          "shape":"EntityPropertyReference",
          "documentation":"<p>An object that contains information about the entity that has the property.</p>"
        },
        "propertyValues":{
          "shape":"PropertyValues",
          "documentation":"<p>A list of objects that specify time series property values.</p>"
        }
      },
      "documentation":"<p>An object that specifies information about time series property values. This object is used and consumed by the <a href=\"https://docs.aws.amazon.com/iot-twinmaker/latest/apireference/API_BatchPutPropertyValues.html\">BatchPutPropertyValues</a> action.</p>"
    },
    "PropertyValueHistory":{
      "type":"structure",
      "required":["entityPropertyReference"],
      "members":{
        "entityPropertyReference":{
          "shape":"EntityPropertyReference",
          "documentation":"<p>An object that uniquely identifies an entity property.</p>"
        },
        "values":{
          "shape":"Values",
          "documentation":"<p>A list of objects that contain information about the values in the history of a time series property.</p>"
        }
      },
      "documentation":"<p>The history of values for a time series property.</p>"
    },
    "PropertyValueList":{
      "type":"list",
      "member":{"shape":"PropertyValueHistory"}
    },
    "PropertyValues":{
      "type":"list",
      "member":{"shape":"PropertyValue"},
      "max":10,
      "min":1
    },
    "QueryResultValue":{
      "type":"structure",
      "members":{
      },
      "document":true
    },
    "QueryServiceMaxResults":{
      "type":"integer",
      "box":true,
      "max":100,
      "min":1
    },
    "QueryStatement":{
      "type":"string",
      "max":1000,
      "min":1,
      "pattern":"[\\s\\S]+"
    },
    "QueryTimeoutException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The query timeout exception.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true,
      "retryable":{"throttling":false}
    },
    "Relationship":{
      "type":"structure",
      "members":{
        "targetComponentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The ID of the target component type associated with this relationship.</p>"
        },
        "relationshipType":{
          "shape":"String",
          "documentation":"<p>The type of the relationship.</p>"
        }
      },
      "documentation":"<p>An object that specifies a relationship with another component type.</p>"
    },
    "RelationshipValue":{
      "type":"structure",
      "members":{
        "targetEntityId":{
          "shape":"EntityId",
          "documentation":"<p>The ID of the target entity associated with this relationship value.</p>"
        },
        "targetComponentName":{
          "shape":"Name",
          "documentation":"<p>The name of the target component associated with the relationship value.</p>"
        }
      },
      "documentation":"<p>A value that associates a component and an entity.</p>"
    },
    "RequiredProperties":{
      "type":"list",
      "member":{"shape":"Name"}
    },
    "ResourceNotFoundException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The resource wasn't found.</p>",
      "error":{
        "httpStatusCode":404,
        "senderFault":true
      },
      "exception":true
    },
    "RoleArn":{
      "type":"string",
      "max":2048,
      "min":20,
      "pattern":"arn:((aws)|(aws-cn)|(aws-us-gov)):iam::[0-9]{12}:role/.*"
    },
    "Row":{
      "type":"structure",
      "members":{
        "rowData":{
          "shape":"RowData",
          "documentation":"<p>The data in a row of query results.</p>"
        }
      },
      "documentation":"<p>Represents a single row in the query results.</p>"
    },
    "RowData":{
      "type":"list",
      "member":{"shape":"QueryResultValue"}
    },
    "Rows":{
      "type":"list",
      "member":{"shape":"Row"}
    },
    "S3DestinationConfiguration":{
      "type":"structure",
      "required":["location"],
      "members":{
        "location":{
          "shape":"S3DestinationLocation",
          "documentation":"<p>The S3 destination configuration location.</p>"
        }
      },
      "documentation":"<p>The S3 destination configuration.</p>"
    },
    "S3DestinationLocation":{
      "type":"string",
      "pattern":".*(^arn:((aws)|(aws-cn)|(aws-us-gov)):s3:::)([/a-zA-Z0-9_-]+$).*"
    },
    "S3Location":{
      "type":"string",
      "max":1024,
      "min":0,
      "pattern":".*(^arn:((aws)|(aws-cn)|(aws-us-gov)):s3:::)([a-zA-Z0-9_-]+$).*"
    },
    "S3SourceConfiguration":{
      "type":"structure",
      "required":["location"],
      "members":{
        "location":{
          "shape":"S3SourceLocation",
          "documentation":"<p>The S3 destination source configuration location.</p>"
        }
      },
      "documentation":"<p>The S3 destination source configuration.</p>"
    },
    "S3SourceLocation":{
      "type":"string",
      "pattern":".*(^arn:((aws)|(aws-cn)|(aws-us-gov)):s3:::)([a-zA-Z0-9_-]+)\\/([/.a-zA-Z0-9_-]+$).*"
    },
    "S3Url":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":"[sS]3://[A-Za-z0-9._/-]+"
    },
    "SceneCapabilities":{
      "type":"list",
      "member":{"shape":"SceneCapability"},
      "max":50,
      "min":0
    },
    "SceneCapability":{
      "type":"string",
      "max":256,
      "min":0,
      "pattern":".*"
    },
    "SceneError":{
      "type":"structure",
      "members":{
        "code":{
          "shape":"SceneErrorCode",
          "documentation":"<p>The SceneError code.</p>"
        },
        "message":{
          "shape":"ErrorMessage",
          "documentation":"<p>The SceneError message.</p>"
        }
      },
      "documentation":"<p>The scene error.</p>"
    },
    "SceneErrorCode":{
      "type":"string",
      "enum":["MATTERPORT_ERROR"]
    },
    "SceneMetadataMap":{
      "type":"map",
      "key":{"shape":"Name"},
      "value":{"shape":"SceneMetadataValue"},
      "max":50,
      "min":0
    },
    "SceneMetadataValue":{
      "type":"string",
      "max":2048,
      "min":0,
      "pattern":".*"
    },
    "SceneSummaries":{
      "type":"list",
      "member":{"shape":"SceneSummary"}
    },
    "SceneSummary":{
      "type":"structure",
      "required":[
        "sceneId",
        "contentLocation",
        "arn",
        "creationDateTime",
        "updateDateTime"
      ],
      "members":{
        "sceneId":{
          "shape":"Id",
          "documentation":"<p>The ID of the scene.</p>"
        },
        "contentLocation":{
          "shape":"S3Url",
          "documentation":"<p>The relative path that specifies the location of the content definition file.</p>"
        },
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the scene.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the scene was created.</p>"
        },
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the scene was last updated.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The scene description.</p>"
        }
      },
      "documentation":"<p>An object that contains information about a scene.</p>"
    },
    "Scope":{
      "type":"string",
      "enum":[
        "ENTITY",
        "WORKSPACE"
      ]
    },
    "SelectedPropertyList":{
      "type":"list",
      "member":{"shape":"String"},
      "max":10,
      "min":1
    },
    "ServiceQuotaExceededException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The service quota was exceeded.</p>",
      "error":{
        "httpStatusCode":402,
        "senderFault":true
      },
      "exception":true
    },
    "SiteWiseExternalId":{
      "type":"string",
      "max":128,
      "min":2,
      "pattern":".*[a-zA-Z0-9_][a-zA-Z_\\-0-9.:]*[a-zA-Z0-9_]+.*"
    },
    "SourceConfiguration":{
      "type":"structure",
      "required":["type"],
      "members":{
        "type":{
          "shape":"SourceType",
          "documentation":"<p>The source configuration type.</p>"
        },
        "s3Configuration":{
          "shape":"S3SourceConfiguration",
          "documentation":"<p>The source configuration S3 configuration.</p>"
        },
        "iotSiteWiseConfiguration":{
          "shape":"IotSiteWiseSourceConfiguration",
          "documentation":"<p>The source configuration IoT SiteWise configuration.</p>"
        },
        "iotTwinMakerConfiguration":{
          "shape":"IotTwinMakerSourceConfiguration",
          "documentation":"<p>The source configuration IoT TwinMaker configuration.</p>"
        }
      },
      "documentation":"<p>The source configuration.</p>"
    },
    "SourceConfigurations":{
      "type":"list",
      "member":{"shape":"SourceConfiguration"},
      "max":1,
      "min":1
    },
    "SourceType":{
      "type":"string",
      "enum":[
        "s3",
        "iotsitewise",
        "iottwinmaker"
      ]
    },
    "State":{
      "type":"string",
      "enum":[
        "CREATING",
        "UPDATING",
        "DELETING",
        "ACTIVE",
        "ERROR"
      ]
    },
    "Status":{
      "type":"structure",
      "members":{
        "state":{
          "shape":"State",
          "documentation":"<p>The current state of the entity, component, component type, or workspace.</p>"
        },
        "error":{
          "shape":"ErrorDetails",
          "documentation":"<p>The error message.</p>"
        }
      },
      "documentation":"<p>An object that represents the status of an entity, component, component type, or workspace.</p>"
    },
    "String":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":".*"
    },
    "SyncJobState":{
      "type":"string",
      "enum":[
        "CREATING",
        "INITIALIZING",
        "ACTIVE",
        "DELETING",
        "ERROR"
      ]
    },
    "SyncJobStatus":{
      "type":"structure",
      "members":{
        "state":{
          "shape":"SyncJobState",
          "documentation":"<p>The SyncJob status state.</p>"
        },
        "error":{
          "shape":"ErrorDetails",
          "documentation":"<p>The SyncJob error.</p>"
        }
      },
      "documentation":"<p>The SyncJob status.</p>"
    },
    "SyncJobSummaries":{
      "type":"list",
      "member":{"shape":"SyncJobSummary"}
    },
    "SyncJobSummary":{
      "type":"structure",
      "members":{
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The SyncJob summary ARN.</p>"
        },
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the sync job.</p>"
        },
        "syncSource":{
          "shape":"SyncSource",
          "documentation":"<p>The sync source.</p>"
        },
        "status":{
          "shape":"SyncJobStatus",
          "documentation":"<p>The SyncJob summaries status.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The creation date and time.</p>"
        },
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The update date and time.</p>"
        }
      },
      "documentation":"<p>The SyncJob summary.</p>"
    },
    "SyncResourceFilter":{
      "type":"structure",
      "members":{
        "state":{
          "shape":"SyncResourceState",
          "documentation":"<p>The sync resource filter's state.</p>"
        },
        "resourceType":{
          "shape":"SyncResourceType",
          "documentation":"<p>The sync resource filter resource type</p>"
        },
        "resourceId":{
          "shape":"Id",
          "documentation":"<p>The sync resource filter resource ID.</p>"
        },
        "externalId":{
          "shape":"Id",
          "documentation":"<p>The external ID.</p>"
        }
      },
      "documentation":"<p>The sync resource filter.</p>",
      "union":true
    },
    "SyncResourceFilters":{
      "type":"list",
      "member":{"shape":"SyncResourceFilter"}
    },
    "SyncResourceState":{
      "type":"string",
      "enum":[
        "INITIALIZING",
        "PROCESSING",
        "DELETED",
        "IN_SYNC",
        "ERROR"
      ]
    },
    "SyncResourceStatus":{
      "type":"structure",
      "members":{
        "state":{
          "shape":"SyncResourceState",
          "documentation":"<p>The sync resource status state.</p>"
        },
        "error":{
          "shape":"ErrorDetails",
          "documentation":"<p>The status error.</p>"
        }
      },
      "documentation":"<p>The sync resource status.</p>"
    },
    "SyncResourceSummaries":{
      "type":"list",
      "member":{"shape":"SyncResourceSummary"}
    },
    "SyncResourceSummary":{
      "type":"structure",
      "members":{
        "resourceType":{
          "shape":"SyncResourceType",
          "documentation":"<p>The resource type.</p>"
        },
        "externalId":{
          "shape":"Id",
          "documentation":"<p>The external ID.</p>"
        },
        "resourceId":{
          "shape":"Id",
          "documentation":"<p>The resource ID.</p>"
        },
        "status":{
          "shape":"SyncResourceStatus",
          "documentation":"<p>The sync resource summary status.</p>"
        },
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The update date and time.</p>"
        }
      },
      "documentation":"<p>The sync resource summary.</p>"
    },
    "SyncResourceType":{
      "type":"string",
      "enum":[
        "ENTITY",
        "COMPONENT_TYPE"
      ]
    },
    "SyncSource":{
      "type":"string",
      "pattern":"[a-zA-Z_0-9]+"
    },
    "TabularConditions":{
      "type":"structure",
      "members":{
        "orderBy":{
          "shape":"OrderByList",
          "documentation":"<p>Filter criteria that orders the output. It can be sorted in ascending or descending order.</p>"
        },
        "propertyFilters":{
          "shape":"PropertyFilters",
          "documentation":"<p>You can filter the request using various logical operators and a key-value format. For example:</p> <p> <code>{\"key\": \"serverType\", \"value\": \"webServer\"}</code> </p>"
        }
      },
      "documentation":"<p>The tabular conditions.</p>"
    },
    "TabularPropertyValue":{
      "type":"list",
      "member":{"shape":"PropertyTableValue"}
    },
    "TabularPropertyValues":{
      "type":"list",
      "member":{"shape":"TabularPropertyValue"}
    },
    "TagKey":{
      "type":"string",
      "max":128,
      "min":1,
      "pattern":"([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)"
    },
    "TagKeyList":{
      "type":"list",
      "member":{"shape":"TagKey"},
      "max":50,
      "min":0
    },
    "TagMap":{
      "type":"map",
      "key":{"shape":"TagKey"},
      "value":{"shape":"TagValue"},
      "max":50,
      "min":0
    },
    "TagResourceRequest":{
      "type":"structure",
      "required":[
        "resourceARN",
        "tags"
      ],
      "members":{
        "resourceARN":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the resource.</p>"
        },
        "tags":{
          "shape":"TagMap",
          "documentation":"<p>Metadata to add to this resource.</p>"
        }
      }
    },
    "TagResourceResponse":{
      "type":"structure",
      "members":{
      }
    },
    "TagValue":{
      "type":"string",
      "max":256,
      "min":1,
      "pattern":".*"
    },
    "ThrottlingException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>The rate exceeds the limit.</p>",
      "error":{
        "httpStatusCode":429,
        "senderFault":true
      },
      "exception":true
    },
    "Time":{
      "type":"string",
      "documentation":"<p>Timestamp represented in ISO 8601 format</p>",
      "max":35,
      "min":20
    },
    "Timestamp":{
      "type":"timestamp",
      "documentation":"<p>supports epoch seconds value</p>"
    },
    "TooManyTagsException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ExceptionMessage"}
      },
      "documentation":"<p>The number of tags exceeds the limit.</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "TwinMakerArn":{
      "type":"string",
      "max":2048,
      "min":20,
      "pattern":"arn:((aws)|(aws-cn)|(aws-us-gov)):iottwinmaker:[a-z0-9-]+:[0-9]{12}:[\\/a-zA-Z0-9_\\-\\.:]+"
    },
    "Type":{
      "type":"string",
      "enum":[
        "RELATIONSHIP",
        "STRING",
        "LONG",
        "BOOLEAN",
        "INTEGER",
        "DOUBLE",
        "LIST",
        "MAP"
      ]
    },
    "UntagResourceRequest":{
      "type":"structure",
      "required":[
        "resourceARN",
        "tagKeys"
      ],
      "members":{
        "resourceARN":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the resource.</p>",
          "location":"querystring",
          "locationName":"resourceARN"
        },
        "tagKeys":{
          "shape":"TagKeyList",
          "documentation":"<p>A list of tag key names to remove from the resource. You don't specify the value. Both the key and its associated value are removed.</p>",
          "location":"querystring",
          "locationName":"tagKeys"
        }
      }
    },
    "UntagResourceResponse":{
      "type":"structure",
      "members":{
      }
    },
    "UpdateComponentTypeRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "componentTypeId"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "isSingleton":{
          "shape":"Boolean",
          "documentation":"<p>A Boolean value that specifies whether an entity can have more than one component of this type.</p>"
        },
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The ID of the component type.</p>",
          "location":"uri",
          "locationName":"componentTypeId"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the component type.</p>"
        },
        "propertyDefinitions":{
          "shape":"PropertyDefinitionsRequest",
          "documentation":"<p>An object that maps strings to the property definitions in the component type. Each string in the mapping must be unique to this object.</p>"
        },
        "extendsFrom":{
          "shape":"ExtendsFrom",
          "documentation":"<p>Specifies the component type that this component type extends.</p>"
        },
        "functions":{
          "shape":"FunctionsRequest",
          "documentation":"<p>An object that maps strings to the functions in the component type. Each string in the mapping must be unique to this object.</p>"
        },
        "propertyGroups":{
          "shape":"PropertyGroupsRequest",
          "documentation":"<p>The property groups.</p>"
        },
        "componentTypeName":{
          "shape":"ComponentTypeName",
          "documentation":"<p>The component type name.</p>"
        },
        "compositeComponentTypes":{
          "shape":"CompositeComponentTypesRequest",
          "documentation":"<p>This is an object that maps strings to <code>compositeComponentTypes</code> of the <code>componentType</code>. <code>CompositeComponentType</code> is referenced by <code>componentTypeId</code>.</p>"
        }
      }
    },
    "UpdateComponentTypeResponse":{
      "type":"structure",
      "required":[
        "workspaceId",
        "arn",
        "componentTypeId",
        "state"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the component type.</p>"
        },
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the component type.</p>"
        },
        "componentTypeId":{
          "shape":"ComponentTypeId",
          "documentation":"<p>The ID of the component type.</p>"
        },
        "state":{
          "shape":"State",
          "documentation":"<p>The current state of the component type.</p>"
        }
      }
    },
    "UpdateEntityRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "entityId"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the entity.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "entityId":{
          "shape":"EntityId",
          "documentation":"<p>The ID of the entity.</p>",
          "location":"uri",
          "locationName":"entityId"
        },
        "entityName":{
          "shape":"EntityName",
          "documentation":"<p>The name of the entity.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the entity.</p>"
        },
        "componentUpdates":{
          "shape":"ComponentUpdatesMapRequest",
          "documentation":"<p>An object that maps strings to the component updates in the request. Each string in the mapping must be unique to this object.</p>"
        },
        "compositeComponentUpdates":{
          "shape":"CompositeComponentUpdatesMapRequest",
          "documentation":"<p>This is an object that maps strings to <code>compositeComponent</code> updates in the request. Each key of the map represents the <code>componentPath</code> of the <code>compositeComponent</code>.</p>"
        },
        "parentEntityUpdate":{
          "shape":"ParentEntityUpdateRequest",
          "documentation":"<p>An object that describes the update request for a parent entity.</p>"
        }
      }
    },
    "UpdateEntityResponse":{
      "type":"structure",
      "required":[
        "updateDateTime",
        "state"
      ],
      "members":{
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the entity was last updated.</p>"
        },
        "state":{
          "shape":"State",
          "documentation":"<p>The current state of the entity update.</p>"
        }
      }
    },
    "UpdatePricingPlanRequest":{
      "type":"structure",
      "required":["pricingMode"],
      "members":{
        "pricingMode":{
          "shape":"PricingMode",
          "documentation":"<p>The pricing mode.</p>"
        },
        "bundleNames":{
          "shape":"PricingBundles",
          "documentation":"<p>The bundle names.</p>"
        }
      }
    },
    "UpdatePricingPlanResponse":{
      "type":"structure",
      "required":["currentPricingPlan"],
      "members":{
        "currentPricingPlan":{
          "shape":"PricingPlan",
          "documentation":"<p>Update the current pricing plan.</p>"
        },
        "pendingPricingPlan":{
          "shape":"PricingPlan",
          "documentation":"<p>Update the pending pricing plan.</p>"
        }
      }
    },
    "UpdateReason":{
      "type":"string",
      "enum":[
        "DEFAULT",
        "PRICING_TIER_UPDATE",
        "ENTITY_COUNT_UPDATE",
        "PRICING_MODE_UPDATE",
        "OVERWRITTEN"
      ]
    },
    "UpdateSceneRequest":{
      "type":"structure",
      "required":[
        "workspaceId",
        "sceneId"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace that contains the scene.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "sceneId":{
          "shape":"Id",
          "documentation":"<p>The ID of the scene.</p>",
          "location":"uri",
          "locationName":"sceneId"
        },
        "contentLocation":{
          "shape":"S3Url",
          "documentation":"<p>The relative path that specifies the location of the content definition file.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of this scene.</p>"
        },
        "capabilities":{
          "shape":"SceneCapabilities",
          "documentation":"<p>A list of capabilities that the scene uses to render.</p>"
        },
        "sceneMetadata":{
          "shape":"SceneMetadataMap",
          "documentation":"<p>The scene metadata.</p>"
        }
      }
    },
    "UpdateSceneResponse":{
      "type":"structure",
      "required":["updateDateTime"],
      "members":{
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the scene was last updated.</p>"
        }
      }
    },
    "UpdateWorkspaceRequest":{
      "type":"structure",
      "required":["workspaceId"],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace.</p>",
          "location":"uri",
          "locationName":"workspaceId"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the workspace.</p>"
        },
        "role":{
          "shape":"RoleArn",
          "documentation":"<p>The ARN of the execution role associated with the workspace.</p>"
        },
        "s3Location":{
          "shape":"S3Location",
          "documentation":"<p>The ARN of the S3 bucket where resources associated with the workspace are stored.</p>"
        }
      }
    },
    "UpdateWorkspaceResponse":{
      "type":"structure",
      "required":["updateDateTime"],
      "members":{
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time of the current update.</p>"
        }
      }
    },
    "Uuid":{
      "type":"string",
      "max":36,
      "min":36,
      "pattern":"[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}"
    },
    "ValidationException":{
      "type":"structure",
      "members":{
        "message":{"shape":"ErrorMessage"}
      },
      "documentation":"<p>Failed</p>",
      "error":{
        "httpStatusCode":400,
        "senderFault":true
      },
      "exception":true
    },
    "Value":{
      "type":"string",
      "pattern":".*"
    },
    "Values":{
      "type":"list",
      "member":{"shape":"PropertyValue"}
    },
    "WorkspaceDeleteMessage":{
      "type":"string",
      "max":2048,
      "min":0,
      "pattern":".*"
    },
    "WorkspaceSummaries":{
      "type":"list",
      "member":{"shape":"WorkspaceSummary"}
    },
    "WorkspaceSummary":{
      "type":"structure",
      "required":[
        "workspaceId",
        "arn",
        "creationDateTime",
        "updateDateTime"
      ],
      "members":{
        "workspaceId":{
          "shape":"Id",
          "documentation":"<p>The ID of the workspace.</p>"
        },
        "arn":{
          "shape":"TwinMakerArn",
          "documentation":"<p>The ARN of the workspace.</p>"
        },
        "description":{
          "shape":"Description",
          "documentation":"<p>The description of the workspace.</p>"
        },
        "linkedServices":{
          "shape":"LinkedServices",
          "documentation":"<p>A list of services that are linked to the workspace.</p>"
        },
        "creationDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the workspace was created.</p>"
        },
        "updateDateTime":{
          "shape":"Timestamp",
          "documentation":"<p>The date and time when the workspace was last updated.</p>"
        }
      },
      "documentation":"<p>An object that contains information about a workspace.</p>"
    }
  },
  "documentation":"<p>IoT TwinMaker is a service with which you can build operational digital twins of physical systems. IoT TwinMaker overlays measurements and analysis from real-world sensors, cameras, and enterprise applications so you can create data visualizations to monitor your physical factory, building, or industrial plant. You can use this real-world data to monitor operations and diagnose and repair errors.</p>"
}
¿Qué es la limpieza dental de perros? - Clínica veterinaria


Es la eliminación del sarro y la placa adherida a la superficie de los dientes mediante un equipo de ultrasonidos que garantiza la integridad de las piezas dentales a la vez que elimina en profundidad cualquier resto de suciedad.

A continuación se procede al pulido de los dientes mediante una fresa especial que elimina la placa bacteriana y devuelve a los dientes el aspecto sano que deben tener.

Una vez terminado todo el proceso, se mantiene al perro en observación hasta que se despierta de la anestesia, bajo la atenta supervisión de un veterinario.

¿Cada cuánto tiempo tengo que hacerle una limpieza dental a mi perro?

A partir de cierta edad, los perros pueden necesitar una limpieza dental anual o bianual. Depende de cada caso. En líneas generales, puede decirse que los perros de razas pequeñas suelen acumular más sarro y suelen necesitar una atención mayor en cuanto a higiene dental.


Riesgos de una mala higiene


Los riesgos más evidentes de una mala higiene dental en los perros son los siguientes:

  • Cuando la acumulación de sarro no se trata, se puede producir una inflamación y retracción de las encías que puede descalzar el diente y provocar caídas.
  • Mal aliento (halitosis).
  • Sarro perros
  • Puede ir a más
  • Las bacterias de la placa pueden trasladarse a través del torrente circulatorio a órganos vitales como el corazón ocasionando problemas de endocarditis en las válvulas. Las bacterias pueden incluso acantonarse en huesos (La osteomielitis es la infección ósea, tanto cortical como medular) provocando mucho dolor y una artritis séptica).

¿Cómo se forma el sarro?

El sarro es la calcificación de la placa dental. Los restos de alimentos, junto con las bacterias presentes en la boca, van a formar la placa bacteriana o placa dental. Si la placa no se retira, al mezclarse con la saliva y los minerales presentes en ella, reaccionará formando una costra. La placa se calcifica y se forma el sarro.

El sarro, cuando se forma, es de color blanquecino pero a medida que pasa el tiempo se va poniendo amarillo y luego marrón.

Síntomas de una pobre higiene dental
La señal más obvia de una mala salud dental canina es el mal aliento.

Sin embargo, a veces no es tan fácil de detectar
Y hay perros que no se dejan abrir la boca por su dueño. Por ejemplo…

Recientemente nos trajeron a la clínica a un perro que parpadeaba de un ojo y decía su dueño que le picaba un lado de la cara. Tenía molestias y dificultad para comer, lo que había llevado a sus dueños a comprarle comida blanda (que suele ser un poco más cara y llevar más contenido en grasa) durante medio año. Después de una exploración oftalmológica, nos dimos cuenta de que el ojo tenía una úlcera en la córnea probablemente de rascarse . Además, el canto lateral del ojo estaba inflamado. Tenía lo que en humanos llamamos flemón pero como era un perro de pelo largo, no se le notaba a simple vista. Al abrirle la boca nos llamó la atención el ver una muela llena de sarro. Le realizamos una radiografía y encontramos una fístula que llegaba hasta la parte inferior del ojo.

Le tuvimos que extraer la muela. Tras esto, el ojo se curó completamente con unos colirios y una lentilla protectora de úlcera. Afortunadamente, la úlcera no profundizó y no perforó el ojo. Ahora el perro come perfectamente a pesar de haber perdido una muela.

¿Cómo mantener la higiene dental de tu perro?
Hay varias maneras de prevenir problemas derivados de la salud dental de tu perro.

Limpiezas de dientes en casa
Es recomendable limpiar los dientes de tu perro semanal o diariamente si se puede. Existe una gran variedad de productos que se pueden utilizar:

Pastas de dientes.
Cepillos de dientes o dedales para el dedo índice, que hacen más fácil la limpieza.
Colutorios para echar en agua de bebida o directamente sobre el diente en líquido o en spray.

En la Clínica Tus Veterinarios enseñamos a nuestros clientes a tomar el hábito de limpiar los dientes de sus perros desde que son cachorros. Esto responde a nuestro compromiso con la prevención de enfermedades caninas.

Hoy en día tenemos muchos clientes que limpian los dientes todos los días a su mascota, y como resultado, se ahorran el dinero de hacer limpiezas dentales profesionales y consiguen una mejor salud de su perro.


Limpiezas dentales profesionales de perros y gatos

Recomendamos hacer una limpieza dental especializada anualmente. La realizamos con un aparato de ultrasonidos que utiliza agua para quitar el sarro. Después, procedemos a pulir los dientes con un cepillo de alta velocidad y una pasta especial. Hacemos esto para proteger el esmalte.

La frecuencia de limpiezas dentales necesaria varía mucho entre razas. En general, las razas grandes tienen buena calidad de esmalte, por lo que no necesitan hacerlo tan a menudo e incluso pueden pasarse la vida sin requerir una limpieza. Sin embargo, razas pequeñas como el Yorkshire o el Maltés, deben hacérselas todos los años desde cachorros si se quiere conservar sus piezas dentales.

Otro factor fundamental es la calidad del pienso. Algunas marcas han diseñado croquetas que limpian la superficie del diente y de la muela al masticarse.

Ultrasonido para perros

¿Se necesita anestesia para las limpiezas dentales de perros y gatos?

La limpieza dental en perros no es una técnica que pueda practicarse sin anestesia general , aunque hay veces que los propietarios no quieren anestesiar y si tiene poco sarro y el perro es muy bueno se puede intentar…… , pero no se va a poder pulir ni acceder a todas la zona de la boca …. Además los limpiadores dentales van a irrigar agua y hay riesgo de aspiración a vías respiratorias si no se realiza una anestesia correcta con intubación traqueal . En resumen , sin anestesia no se va hacer una correcta limpieza dental.

Tampoco sirve la sedación ya que necesitamos que el animal esté totalmente quieto, y el veterinario tenga un acceso completo a todas sus piezas dentales y encías.

Alimentos para la limpieza dental

Hay que tener cierto cuidado a la hora de comprar determinados alimentos porque no todos son saludables. Algunos tienen demasiado contenido graso, que en exceso puede causar problemas cardiovasculares y obesidad.

Los mejores alimentos para los dientes son aquellos que están elaborados por empresas farmacéuticas y llevan componentes químicos con tratamientos específicos para el diente del perro. Esto implica no solo limpieza a través de la acción mecánica de morder sino también un tratamiento antibacteriano para prevenir el sarro.

Conclusión

Si eres como la mayoría de dueños, por falta de tiempo , es probable que no estés prestando la suficiente atención a la limpieza dental de tu perro. Por eso te animamos a que comiences a limpiar los dientes de tu perro y consideres atender a su higiene bucal con frecuencia.

Estas simples medidas pueden conllevar a que tu perro tenga una vida más larga y mucho más saludable.

Si te resulta imposible introducir un cepillo de dientes a tu perro en la boca, pásate con él por clínica Tus Veterinarios y te explicamos cómo hacerlo.

Necesitas hacer una limpieza dental profesional a tu mascota?
Llámanos al 622575274 o contacta con nosotros

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

¡Hola!