Files
hunfabric/modules/vpc-sc/schemas/egress-policy.schema.json

100 lines
2.1 KiB
JSON

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "VPC-SC egress policy",
"type": "object",
"required": [
"from",
"to"
],
"additionalProperties": false,
"properties": {
"title": {
"type": "string"
},
"from": {
"type": "object",
"additionalProperties": false,
"properties": {
"access_levels": {
"type": "array",
"items": {
"type": "string"
}
},
"identity_type": {
"type": "string",
"enum": [
"IDENTITY_TYPE_UNSPECIFIED",
"ANY_IDENTITY",
"ANY_USER_ACCOUNT",
"ANY_SERVICE_ACCOUNT",
""
]
},
"identities": {
"type": "array",
"items": {
"type": "string"
}
},
"resources": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"to": {
"type": "object",
"additionalProperties": false,
"properties": {
"external_resources": {
"type": "array",
"items": {
"type": "string"
}
},
"operations": {
"type": "array",
"items": {
"type": "object",
"required": [
"service_name"
],
"additionalProperties": false,
"properties": {
"method_selectors": {
"type": "array",
"items": {
"type": "string"
}
},
"permission_selectors": {
"type": "array",
"items": {
"type": "string"
}
},
"service_name": {
"type": "string"
}
}
}
},
"resources": {
"type": "array",
"items": {
"type": "string"
}
},
"roles": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}