{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--mongodb-atlas-teams.json",
  "title": "MongoDBAtlasTeamsProperties",
  "description": "Adds one team to the specified project. All members of the team share the same project access. To use this resource, the requesting API Key must have the Project User Admin role. This resource doesn't require the API Key to have an Access List.. Source:- No source definition found, add manually please",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/mongodb-atlas-teams.json",
    "sourceSha256": "f95c636361cb253381eb3f1eb868829506bd58b92887c00092ccf2fc20a15b09"
  },
  "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)."
    },
    "RoleNames": {
      "type": "array",
      "insertionOrder": false,
      "description": "One or more organization- or project-level roles to assign to the MongoDB Cloud user.",
      "items": {
        "type": "string",
        "enum": [
          "GROUP_CLUSTER_MANAGER",
          "GROUP_DATA_ACCESS_ADMIN",
          "GROUP_DATA_ACCESS_READ_ONLY",
          "GROUP_DATA_ACCESS_READ_WRITE",
          "GROUP_OWNER",
          "GROUP_READ_ONLY"
        ]
      }
    },
    "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 character string that identifies the team."
    },
    "ProjectId": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Unique 24-hexadecimal character string that identifies the project."
    },
    "Name": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Unique 24-hexadecimal character string that identifies the team."
    },
    "Usernames": {
      "insertionOrder": false,
      "type": "array",
      "description": "One or more organization- or project-level roles to assign to the MongoDB Cloud user.",
      "items": {
        "type": "string"
      }
    }
  },
  "$defs": {
    "AtlasUser": {
      "type": "object",
      "properties": {
        "Country": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "^([A-Z]{2})$"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Two alphabet characters that identifies MongoDB Cloud user's geographic location. This parameter uses the ISO 3166-1a2 code format."
        },
        "EmailAddress": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Email address that belongs to the MongoDB Cloud user."
        },
        "FirstName": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "First or given name that belongs to the MongoDB Cloud user."
        },
        "Id": {
          "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 MongoDB Cloud user."
        },
        "LastName": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Last name, family name, or surname that belongs to the MongoDB Cloud user."
        },
        "Links": {
          "type": "array",
          "insertionOrder": false,
          "description": "List of one or more Uniform Resource Locators (URLs) that point to API sub-resources, related API resources, or both. RFC 5988 outlines these relationships.",
          "items": {
            "$ref": "#/$defs/Link",
            "type": "object"
          }
        },
        "MobileNumber": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "(?:(?:\\\\+?1\\\\s*(?:[.-]\\\\s*)?)?(?:(\\\\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\\\\s*)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\\\\s*(?:[.-]\\\\s*)?)([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\\\\s*(?:[.-]\\\\s*)?([0-9]{4})$"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Mobile phone number that belongs to the MongoDB Cloud user."
        },
        "Password": {
          "oneOf": [
            {
              "type": "string",
              "minLength": 8
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Password applied with the username to log in to MongoDB Cloud. MongoDB Cloud does not return this parameter except in response to creating a new MongoDB Cloud user. Only the MongoDB Cloud user can update their password after it has been set from the MongoDB Cloud console."
        },
        "Roles": {
          "type": "array",
          "insertionOrder": false,
          "description": "List of objects that display the MongoDB Cloud user's roles and the corresponding organization or project to which that role applies. A role can apply to one organization or one project but not both.",
          "items": {
            "$ref": "#/$defs/AtlasRole",
            "type": "object"
          }
        },
        "TeamIds": {
          "type": "array",
          "insertionOrder": false,
          "description": "List of unique 24-hexadecimal digit strings that identifies the teams to which this MongoDB Cloud user belongs.",
          "items": {
            "type": "string"
          }
        },
        "Username": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\\\\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Email address that represents the username of the MongoDB Cloud user."
        }
      },
      "title": "MongoDBAtlasTeamsAtlasUserDefinition",
      "additionalProperties": false
    },
    "AtlasRole": {
      "type": "object",
      "properties": {
        "ProjectId": {
          "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 project to which this role belongs. You can set a value for this parameter or **orgId** but not both in the same request."
        },
        "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 to which this role belongs. You can set a value for this parameter or **groupId** but not both in the same request"
        },
        "RoleName": {
          "oneOf": [
            {
              "type": "string",
              "insertionOrder": false,
              "enum": [
                "ORG_OWNER",
                "ORG_MEMBER",
                "ORG_GROUP_CREATOR",
                "ORG_BILLING_ADMIN",
                "ORG_READ_ONLY",
                "GROUP_CLUSTER_MANAGER",
                "GROUP_DATA_ACCESS_ADMIN",
                "GROUP_DATA_ACCESS_READ_ONLY",
                "GROUP_DATA_ACCESS_READ_WRITE",
                "GROUP_OWNER",
                "GROUP_READ_ONLY"
              ]
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Human-readable label that identifies the collection of privileges that MongoDB Cloud grants a specific API key, MongoDB Cloud user, or MongoDB Cloud team. These roles include organization- and project-level roles.\n\nOrganization Roles\n\n* ORG_OWNER\n* ORG_MEMBER\n* ORG_GROUP_CREATOR\n* ORG_BILLING_ADMIN\n* ORG_READ_ONLY\n\nProject Roles\n\n* GROUP_CLUSTER_MANAGER\n* GROUP_DATA_ACCESS_ADMIN\n* GROUP_DATA_ACCESS_READ_ONLY\n* GROUP_DATA_ACCESS_READ_WRITE\n* GROUP_OWNER\n* GROUP_READ_ONLY\n\n"
        }
      },
      "title": "MongoDBAtlasTeamsAtlasRoleDefinition",
      "additionalProperties": false
    },
    "Link": {
      "description": "One or more links to sub-resources and/or related resources.",
      "type": "object",
      "properties": {
        "Rel": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Href": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "title": "MongoDBAtlasTeamsLinkDefinition",
      "additionalProperties": false
    }
  },
  "additionalProperties": false,
  "typeName": "MongoDB::Atlas::Teams",
  "createOnlyProperties": [
    "/properties/Profile"
  ],
  "readOnlyProperties": [
    "/properties/TeamId",
    "/properties/Users"
  ],
  "primaryIdentifier": [
    "/properties/TeamId",
    "/properties/Profile",
    "/properties/OrgId"
  ]
}
