Amazon Organizations · JSON Structure

Amazon Organizations Structure

Schema defining the structure of an AWS Organization resource, including accounts, organizational units, policies, and the organization hierarchy.

Type: object Properties: 11
Account ManagementConsolidated BillingGovernanceMulti-AccountOrganizationsPolicies

AWS Organizations Definition is a JSON Structure definition published by Amazon Organizations, describing 11 properties. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.

Properties

Id Arn FeatureSet MasterAccountArn MasterAccountId MasterAccountEmail AvailablePolicyTypes Accounts OrganizationalUnits Policies Roots

Meta-schema: https://json-structure.org/meta/core/v0/#

JSON Structure

Raw ↑
{
  "$schema": "https://json-structure.org/meta/core/v0/#",
  "$id": "https://schemas.apievangelist.com/amazon-organizations/organization-definition",
  "name": "AWS Organizations Definition",
  "description": "Schema defining the structure of an AWS Organization resource, including accounts, organizational units, policies, and the organization hierarchy.",
  "type": "object",
  "properties": {
    "Id": {
      "type": "string",
      "description": "The unique identifier of the organization.",
      "pattern": "^o-[a-z0-9]{10,32}$"
    },
    "Arn": {
      "type": "string",
      "description": "The Amazon Resource Name of the organization."
    },
    "FeatureSet": {
      "type": "string",
      "enum": [
        "ALL",
        "CONSOLIDATED_BILLING"
      ],
      "description": "Specifies the functionality available to the organization."
    },
    "MasterAccountArn": {
      "type": "string",
      "description": "The ARN of the management account."
    },
    "MasterAccountId": {
      "type": "string",
      "description": "The unique identifier of the management account.",
      "pattern": "^\\d{12}$"
    },
    "MasterAccountEmail": {
      "type": "string",
      "format": "email",
      "description": "The email address associated with the management account."
    },
    "AvailablePolicyTypes": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/PolicyTypeSummary"
      },
      "description": "A list of policy types enabled for the organization."
    },
    "Accounts": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Account"
      },
      "description": "The member accounts in the organization."
    },
    "OrganizationalUnits": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/OrganizationalUnit"
      },
      "description": "The organizational units in the organization."
    },
    "Policies": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Policy"
      },
      "description": "The policies attached in the organization."
    },
    "Roots": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Root"
      },
      "description": "The root containers in the organization."
    }
  },
  "definitions": {
    "Account": {
      "type": "object",
      "description": "An AWS account that is a member of the organization.",
      "properties": {
        "Id": {
          "type": "string",
          "description": "The unique identifier of the account.",
          "pattern": "^\\d{12}$"
        },
        "Arn": {
          "type": "string",
          "description": "The ARN of the account."
        },
        "Email": {
          "type": "string",
          "format": "email",
          "description": "The email address associated with the account."
        },
        "Name": {
          "type": "string",
          "description": "The friendly name of the account.",
          "minLength": 1,
          "maxLength": 50
        },
        "Status": {
          "type": "string",
          "enum": [
            "ACTIVE",
            "SUSPENDED",
            "PENDING_CLOSURE"
          ],
          "description": "The status of the account."
        },
        "JoinedMethod": {
          "type": "string",
          "enum": [
            "INVITED",
            "CREATED"
          ],
          "description": "The method by which the account joined the organization."
        },
        "JoinedTimestamp": {
          "type": "datetime",
          "description": "The date the account became a part of the organization."
        }
      },
      "name": "Account"
    },
    "OrganizationalUnit": {
      "type": "object",
      "description": "A container for accounts within a root that enables grouping and policy application.",
      "properties": {
        "Id": {
          "type": "string",
          "description": "The unique identifier of the organizational unit.",
          "pattern": "^ou-[a-z0-9]{4,32}-[a-z0-9]{8,32}$"
        },
        "Arn": {
          "type": "string",
          "description": "The ARN of the organizational unit."
        },
        "Name": {
          "type": "string",
          "description": "The friendly name of the organizational unit.",
          "minLength": 1,
          "maxLength": 128
        }
      },
      "name": "OrganizationalUnit"
    },
    "Policy": {
      "type": "object",
      "description": "A policy that defines controls for your organization.",
      "properties": {
        "PolicySummary": {
          "type": "object",
          "properties": {
            "Id": {
              "type": "string",
              "description": "The unique identifier of the policy."
            },
            "Arn": {
              "type": "string",
              "description": "The ARN of the policy."
            },
            "Name": {
              "type": "string",
              "description": "The friendly name of the policy.",
              "minLength": 1,
              "maxLength": 128
            },
            "Description": {
              "type": "string",
              "description": "The description of the policy.",
              "maxLength": 512
            },
            "Type": {
              "type": "string",
              "enum": [
                "SERVICE_CONTROL_POLICY",
                "TAG_POLICY",
                "BACKUP_POLICY",
                "AISERVICES_OPT_OUT_POLICY"
              ],
              "description": "The type of policy."
            },
            "AwsManaged": {
              "type": "boolean",
              "description": "Whether the policy is an AWS-managed policy."
            }
          }
        },
        "Content": {
          "type": "string",
          "description": "The text content of the policy."
        }
      },
      "name": "Policy"
    },
    "Root": {
      "type": "object",
      "description": "The top-level container in the hierarchy of organizational units.",
      "properties": {
        "Id": {
          "type": "string",
          "description": "The unique identifier of the root.",
          "pattern": "^r-[a-z0-9]{4,32}$"
        },
        "Arn": {
          "type": "string",
          "description": "The ARN of the root."
        },
        "Name": {
          "type": "string",
          "description": "The friendly name of the root."
        },
        "PolicyTypes": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/PolicyTypeSummary"
          }
        }
      },
      "name": "Root"
    },
    "PolicyTypeSummary": {
      "type": "object",
      "properties": {
        "Type": {
          "type": "string",
          "enum": [
            "SERVICE_CONTROL_POLICY",
            "TAG_POLICY",
            "BACKUP_POLICY",
            "AISERVICES_OPT_OUT_POLICY"
          ]
        },
        "Status": {
          "type": "string",
          "enum": [
            "ENABLED",
            "PENDING_ENABLE",
            "PENDING_DISABLE"
          ]
        }
      },
      "name": "PolicyTypeSummary"
    }
  }
}