{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--mongodb-atlas-projectipaccesslist.json",
  "title": "MongoDBAtlasProjectIpAccessListProperties",
  "description": "Returns, adds, edits, and removes network access limits to database deployments in Atlas.. 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-projectipaccesslist.json",
    "sourceSha256": "6bf5aacb5524c939ad676b2f46979ca678174b9e9e83c24cec8157c3230bcee5"
  },
  "type": "object",
  "properties": {
    "AccessList": {
      "items": {
        "$ref": "#/$defs/accessListDefinition"
      },
      "type": "array",
      "insertionOrder": false
    },
    "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 digit string that identifies your project."
    },
    "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": "Profile used to provide credentials information, (a secret with the cfn/atlas/profile/{Profile}, is required), if not provided default is used"
    },
    "ListOptions": {
      "$ref": "#/$defs/listOptions"
    }
  },
  "typeName": "MongoDB::Atlas::ProjectIpAccessList",
  "required": [
    "ProjectId",
    "AccessList"
  ],
  "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
  "$defs": {
    "accessListDefinition": {
      "title": "MongoDBAtlasProjectIpAccessListaccessListDefinition",
      "properties": {
        "DeleteAfterDate": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Date and time after which MongoDB Cloud deletes the temporary access list entry. This parameter expresses its value in the ISO 8601 timestamp format in UTC and can include the time zone designation. The date must be later than the current date but no later than one week after you submit this request. The resource returns this parameter if you specified an expiration date when creating this IP access list entry."
        },
        "AwsSecurityGroup": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Unique string of the Amazon Web Services (AWS) security group that you want to add to the project's IP access list. Your IP access list entry can be one awsSecurityGroup, one cidrBlock, or one ipAddress. You must configure Virtual Private Connection (VPC) peering for your project before you can add an AWS security group to an IP access list. You cannot set AWS security groups as temporary access list entries. Don't set this parameter if you set cidrBlock or ipAddress."
        },
        "CIDRBlock": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Range of IP addresses in Classless Inter-Domain Routing (CIDR) notation that you want to add to the project's IP access list. Your IP access list entry can be one awsSecurityGroup, one cidrBlock, or one ipAddress. Don't set this parameter if you set awsSecurityGroup or ipAddress"
        },
        "Comment": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "Remark that explains the purpose or scope of this IP access list entry."
        },
        "IPAddress": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ],
          "description": "IP address that you want to add to the project's IP access list. Your IP access list entry can be one awsSecurityGroup, one cidrBlock, or one ipAddress. Don't set this parameter if you set awsSecurityGroup or cidrBlock."
        },
        "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 digit string that identifies your project."
        }
      },
      "type": "object",
      "additionalProperties": false
    },
    "listOptions": {
      "title": "MongoDBAtlasProjectIpAccessListlistOptionsDefinition",
      "properties": {
        "PageNum": {
          "type": "integer",
          "description": "Number of the page that displays the current set of the total objects that the response returns."
        },
        "ItemsPerPage": {
          "type": "integer",
          "description": "Number of items that the response returns per page."
        },
        "IncludeCount": {
          "type": "boolean",
          "description": "Flag that indicates whether the response returns the total number of items (totalCount) in the response."
        }
      },
      "additionalProperties": false,
      "type": "object"
    }
  },
  "additionalProperties": false,
  "createOnlyProperties": [
    "/properties/ProjectId",
    "/properties/Profile"
  ],
  "primaryIdentifier": [
    "/properties/ProjectId",
    "/properties/Profile"
  ],
  "readOnlyProperties": [
    "/properties/TotalCount"
  ]
}
