{
  "version": "2.0",
  "metadata": {
    "apiVersion": "2018-08-20",
    "endpointPrefix": "s3-control",
    "protocol": "rest-xml",
    "serviceFullName": "AWS S3 Control",
    "serviceId": "S3 Control",
    "signatureVersion": "s3v4",
    "signingName": "s3",
    "uid": "s3control-2018-08-20"
  },
  "operations": {
    "DeletePublicAccessBlock": {
      "http": {
        "method": "DELETE",
        "requestUri": "/v20180820/configuration/publicAccessBlock"
      },
      "input": {
        "type": "structure",
        "required": [
          "AccountId"
        ],
        "members": {
          "AccountId": {
            "location": "header",
            "locationName": "x-amz-account-id"
          }
        }
      }
    },
    "GetPublicAccessBlock": {
      "http": {
        "method": "GET",
        "requestUri": "/v20180820/configuration/publicAccessBlock"
      },
      "input": {
        "type": "structure",
        "required": [
          "AccountId"
        ],
        "members": {
          "AccountId": {
            "location": "header",
            "locationName": "x-amz-account-id"
          }
        }
      },
      "output": {
        "type": "structure",
        "members": {
          "PublicAccessBlockConfiguration": {
            "shape": "S5"
          }
        },
        "payload": "PublicAccessBlockConfiguration"
      }
    },
    "PutPublicAccessBlock": {
      "http": {
        "method": "PUT",
        "requestUri": "/v20180820/configuration/publicAccessBlock"
      },
      "input": {
        "type": "structure",
        "required": [
          "PublicAccessBlockConfiguration",
          "AccountId"
        ],
        "members": {
          "PublicAccessBlockConfiguration": {
            "shape": "S5",
            "locationName": "PublicAccessBlockConfiguration",
            "xmlNamespace": {
              "uri": "http://awss3control.amazonaws.com/doc/2018-08-20/"
            }
          },
          "AccountId": {
            "location": "header",
            "locationName": "x-amz-account-id"
          }
        },
        "payload": "PublicAccessBlockConfiguration"
      }
    }
  },
  "shapes": {
    "S5": {
      "type": "structure",
      "members": {
        "BlockPublicAcls": {
          "locationName": "BlockPublicAcls",
          "type": "boolean"
        },
        "IgnorePublicAcls": {
          "locationName": "IgnorePublicAcls",
          "type": "boolean"
        },
        "BlockPublicPolicy": {
          "locationName": "BlockPublicPolicy",
          "type": "boolean"
        },
        "RestrictPublicBuckets": {
          "locationName": "RestrictPublicBuckets",
          "type": "boolean"
        }
      }
    }
  }
}