{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--mongodb-atlas-federatedsettingsorgrolemapping.json",
  "title": "MongoDBAtlasFederatedSettingsOrgRoleMappingProperties",
  "description": "Returns, adds, edits, and removes federation-related features such as role mappings and connected organization configurations.. Source:- <https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git>",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/mongodb-atlas-federatedsettingsorgrolemapping.json",
    "sourceSha256": "241b5bb2c2cedb4aeeebe243f042b978ea0c6c3529ac43923de0ece948125dff"
  },
  "type": "object",
  "properties": {
    "Profile": {
      "oneOf": [
        {
          "type": "string",
          "default": "default"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The profile is defined in AWS Secret manager. See [Secret Manager Profile setup](../../../examples/profile-secret.yaml)."
    },
    "ExternalGroupName": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 200,
          "minLength": 1
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Unique human-readable label that identifies the identity provider group to whichthis role mapping applies."
    },
    "FederationSettingsId": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 24,
          "minLength": 24,
          "pattern": "^([a-f0-9]{24})$"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Unique 24-hexadecimal digit string that identifies your federation."
    },
    "OrgId": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 24,
          "minLength": 24,
          "pattern": "^([a-f0-9]{24})$"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Unique 24-hexadecimal digit string that identifies the organization that contains your projects."
    },
    "RoleAssignments": {
      "type": "array",
      "insertionOrder": false,
      "description": "Atlas roles and the unique identifiers of the groups and organizations associated with each role.",
      "items": {
        "$ref": "#/$defs/RoleAssignment",
        "type": "object"
      }
    }
  },
  "typeName": "MongoDB::Atlas::FederatedSettingsOrgRoleMapping",
  "primaryIdentifier": [
    "/properties/Id",
    "/properties/FederationSettingsId",
    "/properties/OrgId",
    "/properties/Profile"
  ],
  "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
  "additionalProperties": false,
  "required": [
    "FederationSettingsId",
    "OrgId",
    "ExternalGroupName"
  ],
  "$defs": {
    "RoleAssignment": {
      "type": "object",
      "properties": {
        "ProjectId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "List that contains comma-separated key value pairs to map zones to geographic regions. These pairs map an ISO 3166-1a2 location code, with an ISO 3166-2 subdivision code when possible, to a unique 24-hexadecimal string that identifies the custom zone.\n\nThis parameter returns an empty object if no custom zones exist."
        },
        "OrgId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "List that contains comma-separated key value pairs to map zones to geographic regions. These pairs map an ISO 3166-1a2 location code, with an ISO 3166-2 subdivision code when possible, to a unique 24-hexadecimal string that identifies the custom zone.\n\nThis parameter returns an empty object if no custom zones exist."
        },
        "Role": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "title": "MongoDBAtlasFederatedSettingsOrgRoleMappingRoleAssignmentDefinition",
      "additionalProperties": false
    }
  },
  "createOnlyProperties": [
    "/properties/OrgId",
    "/properties/FederationSettingsId",
    "/properties/Profile"
  ],
  "readOnlyProperties": [
    "/properties/Id"
  ]
}
