{
 "additionalIdentifiers": [
  [
   "/properties/DomainIdentifier",
   "/properties/EnvironmentBlueprintIdentifier"
  ]
 ],
 "additionalProperties": false,
 "createOnlyProperties": [
  "/properties/DomainIdentifier",
  "/properties/EnvironmentBlueprintIdentifier"
 ],
 "definitions": {
  "LakeFormationConfiguration": {
   "additionalProperties": false,
   "properties": {
    "LocationRegistrationExcludeS3Locations": {
     "items": {
      "maxLength": 1024,
      "minLength": 1,
      "pattern": "^s3://.+$",
      "type": "string"
     },
     "maxItems": 20,
     "minItems": 0,
     "type": "array"
    },
    "LocationRegistrationRole": {
     "pattern": "^arn:aws[^:]*:iam::\\d{12}:role(/[a-zA-Z0-9+=,.@_-]+)*/[a-zA-Z0-9+=,.@_-]+$",
     "type": "string"
    }
   },
   "type": "object"
  },
  "Parameter": {
   "additionalProperties": false,
   "patternProperties": {
    ".+": {
     "type": "string"
    }
   },
   "type": "object"
  },
  "ProvisioningConfiguration": {
   "oneOf": [
    {
     "additionalProperties": false,
     "properties": {
      "LakeFormationConfiguration": {
       "$ref": "#/definitions/LakeFormationConfiguration"
      }
     },
     "required": [
      "LakeFormationConfiguration"
     ],
     "title": "LakeFormationConfiguration",
     "type": "object"
    }
   ]
  },
  "RegionalParameter": {
   "additionalProperties": false,
   "properties": {
    "Parameters": {
     "$ref": "#/definitions/Parameter"
    },
    "Region": {
     "pattern": "^[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]$",
     "type": "string"
    }
   },
   "type": "object"
  }
 },
 "primaryIdentifier": [
  "/properties/DomainId",
  "/properties/EnvironmentBlueprintId"
 ],
 "properties": {
  "CreatedAt": {
   "format": "date-time",
   "type": "string"
  },
  "DomainId": {
   "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$",
   "type": "string"
  },
  "DomainIdentifier": {
   "pattern": "^dzd[-_][a-zA-Z0-9_-]{1,36}$",
   "type": "string"
  },
  "EnabledRegions": {
   "insertionOrder": false,
   "items": {
    "maxLength": 16,
    "minLength": 4,
    "pattern": "^[a-z]{2}-?(iso|gov)?-{1}[a-z]*-{1}[0-9]$",
    "type": "string"
   },
   "minItems": 0,
   "type": "array"
  },
  "EnvironmentBlueprintId": {
   "pattern": "^[a-zA-Z0-9_-]{1,36}$",
   "type": "string"
  },
  "EnvironmentBlueprintIdentifier": {
   "pattern": "^[a-zA-Z0-9_-]{1,36}$",
   "type": "string"
  },
  "EnvironmentRolePermissionBoundary": {
   "pattern": "^arn:aws[^:]*:iam::(aws|\\d{12}):policy/[\\w+=,.@-]*$",
   "type": "string"
  },
  "GlobalParameters": {
   "additionalProperties": false,
   "patternProperties": {
    ".+": {
     "type": "string"
    }
   },
   "type": "object"
  },
  "ManageAccessRoleArn": {
   "format": "AWS::IAM::Role.Arn",
   "pattern": "^arn:aws[^:]*:iam::\\d{12}:role(/[a-zA-Z0-9+=,.@_-]+)*/[a-zA-Z0-9+=,.@_-]+$",
   "type": "string"
  },
  "ProvisioningConfigurations": {
   "items": {
    "$ref": "#/definitions/ProvisioningConfiguration"
   },
   "type": "array"
  },
  "ProvisioningRoleArn": {
   "format": "AWS::IAM::Role.Arn",
   "pattern": "^arn:aws[^:]*:iam::\\d{12}:role(/[a-zA-Z0-9+=,.@_-]+)*/[a-zA-Z0-9+=,.@_-]+$",
   "type": "string"
  },
  "RegionalParameters": {
   "insertionOrder": false,
   "items": {
    "$ref": "#/definitions/RegionalParameter"
   },
   "type": "array",
   "uniqueItems": true
  },
  "UpdatedAt": {
   "format": "date-time",
   "type": "string"
  }
 },
 "readOnlyProperties": [
  "/properties/CreatedAt",
  "/properties/DomainId",
  "/properties/EnvironmentBlueprintId",
  "/properties/UpdatedAt"
 ],
 "required": [
  "DomainIdentifier",
  "EnvironmentBlueprintIdentifier",
  "EnabledRegions"
 ],
 "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-datazone",
 "tagging": {
  "taggable": false
 },
 "typeName": "AWS::DataZone::EnvironmentBlueprintConfiguration",
 "writeOnlyProperties": [
  "/properties/DomainIdentifier",
  "/properties/EnvironmentBlueprintIdentifier",
  "/properties/EnvironmentRolePermissionBoundary",
  "/properties/GlobalParameters",
  "/properties/ProvisioningConfigurations"
 ]
}
