{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2018-11-15",
    "endpointPrefix": "backup",
    "jsonVersion": "1.1",
    "protocol": "rest-json",
    "serviceFullName": "AWS Backup",
    "serviceId": "Backup",
    "signatureVersion": "v4",
    "uid": "backup-2018-11-15"
  },
  "operations": {
    "CreateBackupPlan": {
      "http": {
        "method": "PUT",
        "requestUri": "/backup/plans/"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupPlan"
        ],
        "members": {
          "BackupPlan": {
            "shape": "S2"
          },
          "BackupPlanTags": {
            "shape": "Sc"
          },
          "CreatorRequestId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupPlanId": {},
          "BackupPlanArn": {},
          "CreationDate": {
            "type": "timestamp"
          },
          "VersionId": {}
        }
      },
      "idempotent": true
    },
    "CreateBackupSelection": {
      "http": {
        "method": "PUT",
        "requestUri": "/backup/plans/{backupPlanId}/selections/"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupPlanId",
          "BackupSelection"
        ],
        "members": {
          "BackupPlanId": {
            "location": "uri",
            "locationName": "backupPlanId"
          },
          "BackupSelection": {
            "shape": "Sk"
          },
          "CreatorRequestId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "SelectionId": {},
          "BackupPlanId": {},
          "CreationDate": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "CreateBackupVault": {
      "http": {
        "method": "PUT",
        "requestUri": "/backup-vaults/{backupVaultName}"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupVaultName"
        ],
        "members": {
          "BackupVaultName": {
            "location": "uri",
            "locationName": "backupVaultName"
          },
          "BackupVaultTags": {
            "shape": "Sc"
          },
          "EncryptionKeyArn": {},
          "CreatorRequestId": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupVaultName": {},
          "BackupVaultArn": {},
          "CreationDate": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "DeleteBackupPlan": {
      "http": {
        "method": "DELETE",
        "requestUri": "/backup/plans/{backupPlanId}"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupPlanId"
        ],
        "members": {
          "BackupPlanId": {
            "location": "uri",
            "locationName": "backupPlanId"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupPlanId": {},
          "BackupPlanArn": {},
          "DeletionDate": {
            "type": "timestamp"
          },
          "VersionId": {}
        }
      }
    },
    "DeleteBackupSelection": {
      "http": {
        "method": "DELETE",
        "requestUri": "/backup/plans/{backupPlanId}/selections/{selectionId}"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupPlanId",
          "SelectionId"
        ],
        "members": {
          "BackupPlanId": {
            "location": "uri",
            "locationName": "backupPlanId"
          },
          "SelectionId": {
            "location": "uri",
            "locationName": "selectionId"
          }
        }
      }
    },
    "DeleteBackupVault": {
      "http": {
        "method": "DELETE",
        "requestUri": "/backup-vaults/{backupVaultName}"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupVaultName"
        ],
        "members": {
          "BackupVaultName": {
            "location": "uri",
            "locationName": "backupVaultName"
          }
        }
      }
    },
    "DeleteBackupVaultAccessPolicy": {
      "http": {
        "method": "DELETE",
        "requestUri": "/backup-vaults/{backupVaultName}/access-policy"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupVaultName"
        ],
        "members": {
          "BackupVaultName": {
            "location": "uri",
            "locationName": "backupVaultName"
          }
        }
      },
      "idempotent": true
    },
    "DeleteBackupVaultNotifications": {
      "http": {
        "method": "DELETE",
        "requestUri": "/backup-vaults/{backupVaultName}/notification-configuration"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupVaultName"
        ],
        "members": {
          "BackupVaultName": {
            "location": "uri",
            "locationName": "backupVaultName"
          }
        }
      },
      "idempotent": true
    },
    "DeleteRecoveryPoint": {
      "http": {
        "method": "DELETE",
        "requestUri": "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupVaultName",
          "RecoveryPointArn"
        ],
        "members": {
          "BackupVaultName": {
            "location": "uri",
            "locationName": "backupVaultName"
          },
          "RecoveryPointArn": {
            "location": "uri",
            "locationName": "recoveryPointArn"
          }
        }
      },
      "idempotent": true
    },
    "DescribeBackupJob": {
      "http": {
        "method": "GET",
        "requestUri": "/backup-jobs/{backupJobId}"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupJobId"
        ],
        "members": {
          "BackupJobId": {
            "location": "uri",
            "locationName": "backupJobId"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupJobId": {},
          "BackupVaultName": {},
          "BackupVaultArn": {},
          "RecoveryPointArn": {},
          "ResourceArn": {},
          "CreationDate": {
            "type": "timestamp"
          },
          "CompletionDate": {
            "type": "timestamp"
          },
          "State": {},
          "StatusMessage": {},
          "PercentDone": {},
          "BackupSizeInBytes": {
            "type": "long"
          },
          "IamRoleArn": {},
          "CreatedBy": {
            "shape": "S16"
          },
          "ResourceType": {},
          "BytesTransferred": {
            "type": "long"
          },
          "ExpectedCompletionDate": {
            "type": "timestamp"
          },
          "StartBy": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "DescribeBackupVault": {
      "http": {
        "method": "GET",
        "requestUri": "/backup-vaults/{backupVaultName}"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupVaultName"
        ],
        "members": {
          "BackupVaultName": {
            "location": "uri",
            "locationName": "backupVaultName"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupVaultName": {},
          "BackupVaultArn": {},
          "EncryptionKeyArn": {},
          "CreationDate": {
            "type": "timestamp"
          },
          "CreatorRequestId": {},
          "NumberOfRecoveryPoints": {
            "type": "long"
          }
        }
      },
      "idempotent": true
    },
    "DescribeProtectedResource": {
      "http": {
        "method": "GET",
        "requestUri": "/resources/{resourceArn}"
      },
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn"
        ],
        "members": {
          "ResourceArn": {
            "location": "uri",
            "locationName": "resourceArn"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "ResourceArn": {},
          "ResourceType": {},
          "LastBackupTime": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "DescribeRecoveryPoint": {
      "http": {
        "method": "GET",
        "requestUri": "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupVaultName",
          "RecoveryPointArn"
        ],
        "members": {
          "BackupVaultName": {
            "location": "uri",
            "locationName": "backupVaultName"
          },
          "RecoveryPointArn": {
            "location": "uri",
            "locationName": "recoveryPointArn"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "RecoveryPointArn": {},
          "BackupVaultName": {},
          "BackupVaultArn": {},
          "ResourceArn": {},
          "ResourceType": {},
          "CreatedBy": {
            "shape": "S16"
          },
          "IamRoleArn": {},
          "Status": {},
          "CreationDate": {
            "type": "timestamp"
          },
          "CompletionDate": {
            "type": "timestamp"
          },
          "BackupSizeInBytes": {
            "type": "long"
          },
          "CalculatedLifecycle": {
            "shape": "S1g"
          },
          "Lifecycle": {
            "shape": "Sa"
          },
          "EncryptionKeyArn": {},
          "IsEncrypted": {
            "type": "boolean"
          },
          "StorageClass": {},
          "LastRestoreTime": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "DescribeRestoreJob": {
      "http": {
        "method": "GET",
        "requestUri": "/restore-jobs/{restoreJobId}"
      },
      "input": {
        "type": "structure",
        "required": [
          "RestoreJobId"
        ],
        "members": {
          "RestoreJobId": {
            "location": "uri",
            "locationName": "restoreJobId"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "RestoreJobId": {},
          "RecoveryPointArn": {},
          "CreationDate": {
            "type": "timestamp"
          },
          "CompletionDate": {
            "type": "timestamp"
          },
          "Status": {},
          "StatusMessage": {},
          "PercentDone": {},
          "BackupSizeInBytes": {
            "type": "long"
          },
          "IamRoleArn": {},
          "ExpectedCompletionTimeMinutes": {
            "type": "long"
          },
          "CreatedResourceArn": {}
        }
      },
      "idempotent": true
    },
    "ExportBackupPlanTemplate": {
      "http": {
        "method": "GET",
        "requestUri": "/backup/plans/{backupPlanId}/toTemplate/"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupPlanId"
        ],
        "members": {
          "BackupPlanId": {
            "location": "uri",
            "locationName": "backupPlanId"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupPlanTemplateJson": {}
        }
      }
    },
    "GetBackupPlan": {
      "http": {
        "method": "GET",
        "requestUri": "/backup/plans/{backupPlanId}/"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupPlanId"
        ],
        "members": {
          "BackupPlanId": {
            "location": "uri",
            "locationName": "backupPlanId"
          },
          "VersionId": {
            "location": "querystring",
            "locationName": "versionId"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupPlan": {
            "shape": "S1r"
          },
          "BackupPlanId": {},
          "BackupPlanArn": {},
          "VersionId": {},
          "CreatorRequestId": {},
          "CreationDate": {
            "type": "timestamp"
          },
          "DeletionDate": {
            "type": "timestamp"
          },
          "LastExecutionDate": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "GetBackupPlanFromJSON": {
      "http": {
        "requestUri": "/backup/template/json/toPlan"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupPlanTemplateJson"
        ],
        "members": {
          "BackupPlanTemplateJson": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupPlan": {
            "shape": "S1r"
          }
        }
      }
    },
    "GetBackupPlanFromTemplate": {
      "http": {
        "method": "GET",
        "requestUri": "/backup/template/plans/{templateId}/toPlan"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupPlanTemplateId"
        ],
        "members": {
          "BackupPlanTemplateId": {
            "location": "uri",
            "locationName": "templateId"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupPlanDocument": {
            "shape": "S1r"
          }
        }
      }
    },
    "GetBackupSelection": {
      "http": {
        "method": "GET",
        "requestUri": "/backup/plans/{backupPlanId}/selections/{selectionId}"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupPlanId",
          "SelectionId"
        ],
        "members": {
          "BackupPlanId": {
            "location": "uri",
            "locationName": "backupPlanId"
          },
          "SelectionId": {
            "location": "uri",
            "locationName": "selectionId"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupSelection": {
            "shape": "Sk"
          },
          "SelectionId": {},
          "BackupPlanId": {},
          "CreationDate": {
            "type": "timestamp"
          },
          "CreatorRequestId": {}
        }
      },
      "idempotent": true
    },
    "GetBackupVaultAccessPolicy": {
      "http": {
        "method": "GET",
        "requestUri": "/backup-vaults/{backupVaultName}/access-policy"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupVaultName"
        ],
        "members": {
          "BackupVaultName": {
            "location": "uri",
            "locationName": "backupVaultName"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupVaultName": {},
          "BackupVaultArn": {},
          "Policy": {}
        }
      },
      "idempotent": true
    },
    "GetBackupVaultNotifications": {
      "http": {
        "method": "GET",
        "requestUri": "/backup-vaults/{backupVaultName}/notification-configuration"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupVaultName"
        ],
        "members": {
          "BackupVaultName": {
            "location": "uri",
            "locationName": "backupVaultName"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupVaultName": {},
          "BackupVaultArn": {},
          "SNSTopicArn": {},
          "BackupVaultEvents": {
            "shape": "S25"
          }
        }
      },
      "idempotent": true
    },
    "GetRecoveryPointRestoreMetadata": {
      "http": {
        "method": "GET",
        "requestUri": "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}/restore-metadata"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupVaultName",
          "RecoveryPointArn"
        ],
        "members": {
          "BackupVaultName": {
            "location": "uri",
            "locationName": "backupVaultName"
          },
          "RecoveryPointArn": {
            "location": "uri",
            "locationName": "recoveryPointArn"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupVaultArn": {},
          "RecoveryPointArn": {},
          "RestoreMetadata": {
            "shape": "S29"
          }
        }
      },
      "idempotent": true
    },
    "GetSupportedResourceTypes": {
      "http": {
        "method": "GET",
        "requestUri": "/supported-resource-types"
      },
      "output": {
        "type": "structure",
        "members": {
          "ResourceTypes": {
            "type": "list",
            "member": {}
          }
        }
      }
    },
    "ListBackupJobs": {
      "http": {
        "method": "GET",
        "requestUri": "/backup-jobs/"
      },
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          },
          "ByResourceArn": {
            "location": "querystring",
            "locationName": "resourceArn"
          },
          "ByState": {
            "location": "querystring",
            "locationName": "state"
          },
          "ByBackupVaultName": {
            "location": "querystring",
            "locationName": "backupVaultName"
          },
          "ByCreatedBefore": {
            "location": "querystring",
            "locationName": "createdBefore",
            "type": "timestamp"
          },
          "ByCreatedAfter": {
            "location": "querystring",
            "locationName": "createdAfter",
            "type": "timestamp"
          },
          "ByResourceType": {
            "location": "querystring",
            "locationName": "resourceType"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupJobs": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "BackupJobId": {},
                "BackupVaultName": {},
                "BackupVaultArn": {},
                "RecoveryPointArn": {},
                "ResourceArn": {},
                "CreationDate": {
                  "type": "timestamp"
                },
                "CompletionDate": {
                  "type": "timestamp"
                },
                "State": {},
                "StatusMessage": {},
                "PercentDone": {},
                "BackupSizeInBytes": {
                  "type": "long"
                },
                "IamRoleArn": {},
                "CreatedBy": {
                  "shape": "S16"
                },
                "ExpectedCompletionDate": {
                  "type": "timestamp"
                },
                "StartBy": {
                  "type": "timestamp"
                },
                "ResourceType": {},
                "BytesTransferred": {
                  "type": "long"
                }
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListBackupPlanTemplates": {
      "http": {
        "method": "GET",
        "requestUri": "/backup/template/plans"
      },
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "BackupPlanTemplatesList": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "BackupPlanTemplateId": {},
                "BackupPlanTemplateName": {}
              }
            }
          }
        }
      }
    },
    "ListBackupPlanVersions": {
      "http": {
        "method": "GET",
        "requestUri": "/backup/plans/{backupPlanId}/versions/"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupPlanId"
        ],
        "members": {
          "BackupPlanId": {
            "location": "uri",
            "locationName": "backupPlanId"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "BackupPlanVersionsList": {
            "type": "list",
            "member": {
              "shape": "S2q"
            }
          }
        }
      },
      "idempotent": true
    },
    "ListBackupPlans": {
      "http": {
        "method": "GET",
        "requestUri": "/backup/plans/"
      },
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          },
          "IncludeDeleted": {
            "location": "querystring",
            "locationName": "includeDeleted",
            "type": "boolean"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "BackupPlansList": {
            "type": "list",
            "member": {
              "shape": "S2q"
            }
          }
        }
      },
      "idempotent": true
    },
    "ListBackupSelections": {
      "http": {
        "method": "GET",
        "requestUri": "/backup/plans/{backupPlanId}/selections/"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupPlanId"
        ],
        "members": {
          "BackupPlanId": {
            "location": "uri",
            "locationName": "backupPlanId"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "BackupSelectionsList": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "SelectionId": {},
                "SelectionName": {},
                "BackupPlanId": {},
                "CreationDate": {
                  "type": "timestamp"
                },
                "CreatorRequestId": {},
                "IamRoleArn": {}
              }
            }
          }
        }
      },
      "idempotent": true
    },
    "ListBackupVaults": {
      "http": {
        "method": "GET",
        "requestUri": "/backup-vaults/"
      },
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupVaultList": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "BackupVaultName": {},
                "BackupVaultArn": {},
                "CreationDate": {
                  "type": "timestamp"
                },
                "EncryptionKeyArn": {},
                "CreatorRequestId": {},
                "NumberOfRecoveryPoints": {
                  "type": "long"
                }
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListProtectedResources": {
      "http": {
        "method": "GET",
        "requestUri": "/resources/"
      },
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "Results": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "ResourceArn": {},
                "ResourceType": {},
                "LastBackupTime": {
                  "type": "timestamp"
                }
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListRecoveryPointsByBackupVault": {
      "http": {
        "method": "GET",
        "requestUri": "/backup-vaults/{backupVaultName}/recovery-points/"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupVaultName"
        ],
        "members": {
          "BackupVaultName": {
            "location": "uri",
            "locationName": "backupVaultName"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          },
          "ByResourceArn": {
            "location": "querystring",
            "locationName": "resourceArn"
          },
          "ByResourceType": {
            "location": "querystring",
            "locationName": "resourceType"
          },
          "ByBackupPlanId": {
            "location": "querystring",
            "locationName": "backupPlanId"
          },
          "ByCreatedBefore": {
            "location": "querystring",
            "locationName": "createdBefore",
            "type": "timestamp"
          },
          "ByCreatedAfter": {
            "location": "querystring",
            "locationName": "createdAfter",
            "type": "timestamp"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "RecoveryPoints": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "RecoveryPointArn": {},
                "BackupVaultName": {},
                "BackupVaultArn": {},
                "ResourceArn": {},
                "ResourceType": {},
                "CreatedBy": {
                  "shape": "S16"
                },
                "IamRoleArn": {},
                "Status": {},
                "CreationDate": {
                  "type": "timestamp"
                },
                "CompletionDate": {
                  "type": "timestamp"
                },
                "BackupSizeInBytes": {
                  "type": "long"
                },
                "CalculatedLifecycle": {
                  "shape": "S1g"
                },
                "Lifecycle": {
                  "shape": "Sa"
                },
                "EncryptionKeyArn": {},
                "IsEncrypted": {
                  "type": "boolean"
                },
                "LastRestoreTime": {
                  "type": "timestamp"
                }
              }
            }
          }
        }
      },
      "idempotent": true
    },
    "ListRecoveryPointsByResource": {
      "http": {
        "method": "GET",
        "requestUri": "/resources/{resourceArn}/recovery-points/"
      },
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn"
        ],
        "members": {
          "ResourceArn": {
            "location": "uri",
            "locationName": "resourceArn"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "RecoveryPoints": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "RecoveryPointArn": {},
                "CreationDate": {
                  "type": "timestamp"
                },
                "Status": {},
                "EncryptionKeyArn": {},
                "BackupSizeBytes": {
                  "type": "long"
                },
                "BackupVaultName": {}
              }
            }
          }
        }
      },
      "idempotent": true
    },
    "ListRestoreJobs": {
      "http": {
        "method": "GET",
        "requestUri": "/restore-jobs/"
      },
      "input": {
        "type": "structure",
        "members": {
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "RestoreJobs": {
            "type": "list",
            "member": {
              "type": "structure",
              "members": {
                "RestoreJobId": {},
                "RecoveryPointArn": {},
                "CreationDate": {
                  "type": "timestamp"
                },
                "CompletionDate": {
                  "type": "timestamp"
                },
                "Status": {},
                "StatusMessage": {},
                "PercentDone": {},
                "BackupSizeInBytes": {
                  "type": "long"
                },
                "IamRoleArn": {},
                "ExpectedCompletionTimeMinutes": {
                  "type": "long"
                },
                "CreatedResourceArn": {}
              }
            }
          },
          "NextToken": {}
        }
      },
      "idempotent": true
    },
    "ListTags": {
      "http": {
        "method": "GET",
        "requestUri": "/tags/{resourceArn}/"
      },
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn"
        ],
        "members": {
          "ResourceArn": {
            "location": "uri",
            "locationName": "resourceArn"
          },
          "NextToken": {
            "location": "querystring",
            "locationName": "nextToken"
          },
          "MaxResults": {
            "location": "querystring",
            "locationName": "maxResults",
            "type": "integer"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "NextToken": {},
          "Tags": {
            "shape": "Sc"
          }
        }
      },
      "idempotent": true
    },
    "PutBackupVaultAccessPolicy": {
      "http": {
        "method": "PUT",
        "requestUri": "/backup-vaults/{backupVaultName}/access-policy"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupVaultName"
        ],
        "members": {
          "BackupVaultName": {
            "location": "uri",
            "locationName": "backupVaultName"
          },
          "Policy": {}
        }
      },
      "idempotent": true
    },
    "PutBackupVaultNotifications": {
      "http": {
        "method": "PUT",
        "requestUri": "/backup-vaults/{backupVaultName}/notification-configuration"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupVaultName",
          "SNSTopicArn",
          "BackupVaultEvents"
        ],
        "members": {
          "BackupVaultName": {
            "location": "uri",
            "locationName": "backupVaultName"
          },
          "SNSTopicArn": {},
          "BackupVaultEvents": {
            "shape": "S25"
          }
        }
      },
      "idempotent": true
    },
    "StartBackupJob": {
      "http": {
        "method": "PUT",
        "requestUri": "/backup-jobs"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupVaultName",
          "ResourceArn",
          "IamRoleArn"
        ],
        "members": {
          "BackupVaultName": {},
          "ResourceArn": {},
          "IamRoleArn": {},
          "IdempotencyToken": {},
          "StartWindowMinutes": {
            "type": "long"
          },
          "CompleteWindowMinutes": {
            "type": "long"
          },
          "Lifecycle": {
            "shape": "Sa"
          },
          "RecoveryPointTags": {
            "shape": "Sc"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupJobId": {},
          "RecoveryPointArn": {},
          "CreationDate": {
            "type": "timestamp"
          }
        }
      },
      "idempotent": true
    },
    "StartRestoreJob": {
      "http": {
        "method": "PUT",
        "requestUri": "/restore-jobs"
      },
      "input": {
        "type": "structure",
        "required": [
          "RecoveryPointArn",
          "Metadata",
          "IamRoleArn"
        ],
        "members": {
          "RecoveryPointArn": {},
          "Metadata": {
            "shape": "S29"
          },
          "IamRoleArn": {},
          "IdempotencyToken": {},
          "ResourceType": {}
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "RestoreJobId": {}
        }
      },
      "idempotent": true
    },
    "StopBackupJob": {
      "http": {
        "requestUri": "/backup-jobs/{backupJobId}"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupJobId"
        ],
        "members": {
          "BackupJobId": {
            "location": "uri",
            "locationName": "backupJobId"
          }
        }
      }
    },
    "TagResource": {
      "http": {
        "requestUri": "/tags/{resourceArn}"
      },
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn",
          "Tags"
        ],
        "members": {
          "ResourceArn": {
            "location": "uri",
            "locationName": "resourceArn"
          },
          "Tags": {
            "shape": "Sc"
          }
        }
      },
      "idempotent": true
    },
    "UntagResource": {
      "http": {
        "requestUri": "/untag/{resourceArn}"
      },
      "input": {
        "type": "structure",
        "required": [
          "ResourceArn",
          "TagKeyList"
        ],
        "members": {
          "ResourceArn": {
            "location": "uri",
            "locationName": "resourceArn"
          },
          "TagKeyList": {
            "type": "list",
            "member": {},
            "sensitive": true
          }
        }
      },
      "idempotent": true
    },
    "UpdateBackupPlan": {
      "http": {
        "requestUri": "/backup/plans/{backupPlanId}"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupPlanId",
          "BackupPlan"
        ],
        "members": {
          "BackupPlanId": {
            "location": "uri",
            "locationName": "backupPlanId"
          },
          "BackupPlan": {
            "shape": "S2"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupPlanId": {},
          "BackupPlanArn": {},
          "CreationDate": {
            "type": "timestamp"
          },
          "VersionId": {}
        }
      },
      "idempotent": true
    },
    "UpdateRecoveryPointLifecycle": {
      "http": {
        "requestUri": "/backup-vaults/{backupVaultName}/recovery-points/{recoveryPointArn}"
      },
      "input": {
        "type": "structure",
        "required": [
          "BackupVaultName",
          "RecoveryPointArn"
        ],
        "members": {
          "BackupVaultName": {
            "location": "uri",
            "locationName": "backupVaultName"
          },
          "RecoveryPointArn": {
            "location": "uri",
            "locationName": "recoveryPointArn"
          },
          "Lifecycle": {
            "shape": "Sa"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "BackupVaultArn": {},
          "RecoveryPointArn": {},
          "Lifecycle": {
            "shape": "Sa"
          },
          "CalculatedLifecycle": {
            "shape": "S1g"
          }
        }
      },
      "idempotent": true
    }
  },
  "shapes": {
    "S2": {
      "type": "structure",
      "required": [
        "BackupPlanName",
        "Rules"
      ],
      "members": {
        "BackupPlanName": {},
        "Rules": {
          "type": "list",
          "member": {
            "type": "structure",
            "required": [
              "RuleName",
              "TargetBackupVaultName"
            ],
            "members": {
              "RuleName": {},
              "TargetBackupVaultName": {},
              "ScheduleExpression": {},
              "StartWindowMinutes": {
                "type": "long"
              },
              "CompletionWindowMinutes": {
                "type": "long"
              },
              "Lifecycle": {
                "shape": "Sa"
              },
              "RecoveryPointTags": {
                "shape": "Sc"
              }
            }
          }
        }
      }
    },
    "Sa": {
      "type": "structure",
      "members": {
        "MoveToColdStorageAfterDays": {
          "type": "long"
        },
        "DeleteAfterDays": {
          "type": "long"
        }
      }
    },
    "Sc": {
      "type": "map",
      "key": {},
      "value": {},
      "sensitive": true
    },
    "Sk": {
      "type": "structure",
      "required": [
        "SelectionName",
        "IamRoleArn"
      ],
      "members": {
        "SelectionName": {},
        "IamRoleArn": {},
        "Resources": {
          "type": "list",
          "member": {}
        },
        "ListOfTags": {
          "type": "list",
          "member": {
            "type": "structure",
            "required": [
              "ConditionType",
              "ConditionKey",
              "ConditionValue"
            ],
            "members": {
              "ConditionType": {},
              "ConditionKey": {},
              "ConditionValue": {}
            }
          }
        }
      }
    },
    "S16": {
      "type": "structure",
      "members": {
        "BackupPlanId": {},
        "BackupPlanArn": {},
        "BackupPlanVersion": {},
        "BackupRuleId": {}
      }
    },
    "S1g": {
      "type": "structure",
      "members": {
        "MoveToColdStorageAt": {
          "type": "timestamp"
        },
        "DeleteAt": {
          "type": "timestamp"
        }
      }
    },
    "S1r": {
      "type": "structure",
      "required": [
        "BackupPlanName",
        "Rules"
      ],
      "members": {
        "BackupPlanName": {},
        "Rules": {
          "type": "list",
          "member": {
            "type": "structure",
            "required": [
              "RuleName",
              "TargetBackupVaultName"
            ],
            "members": {
              "RuleName": {},
              "TargetBackupVaultName": {},
              "ScheduleExpression": {},
              "StartWindowMinutes": {
                "type": "long"
              },
              "CompletionWindowMinutes": {
                "type": "long"
              },
              "Lifecycle": {
                "shape": "Sa"
              },
              "RecoveryPointTags": {
                "shape": "Sc"
              },
              "RuleId": {}
            }
          }
        }
      }
    },
    "S25": {
      "type": "list",
      "member": {}
    },
    "S29": {
      "type": "map",
      "key": {},
      "value": {}
    },
    "S2q": {
      "type": "structure",
      "members": {
        "BackupPlanArn": {},
        "BackupPlanId": {},
        "CreationDate": {
          "type": "timestamp"
        },
        "DeletionDate": {
          "type": "timestamp"
        },
        "VersionId": {},
        "BackupPlanName": {},
        "CreatorRequestId": {},
        "LastExecutionDate": {
          "type": "timestamp"
        }
      }
    }
  }
}