Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding Network security perimeter common types [v5] #28958

Merged
merged 34 commits into from
May 15, 2024
Merged
Changes from 10 commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
84d1add
Start by copying networksecurityperimeter.json of BotService which lo…
TimLovellSmith May 2, 2024
04d23b5
Use types.json and ProxyResource instead of Resource (and inherit nam…
TimLovellSmith May 2, 2024
9d2f414
Overwrite from azure-rest-api-specs/specification/botservice/resource…
TimLovellSmith May 2, 2024
09f5e10
Add PublicNetworkAccess enum to networksecurityperimeter.json v5.
TimLovellSmith May 2, 2024
88b4ecf
Minor changes
TimLovellSmith May 2, 2024
ba1cc54
Refactor based on merging with proposed 'workspaces' NSP API.
TimLovellSmith May 2, 2024
71b76d2
Fix title
TimLovellSmith May 2, 2024
47d022d
Fixups based on consistency merge with proposed CosmosDB NSP APIs
TimLovellSmith May 2, 2024
591f4a0
prettier.io
TimLovellSmith May 2, 2024
dc1d536
Revert privatelinks.json
TimLovellSmith May 3, 2024
0bf12c4
Add empty paths element.
TimLovellSmith May 3, 2024
50a792d
Add 'values' to x-ms-enum for PublicNetworkAccess.
TimLovellSmith May 3, 2024
b17554c
Add more x-ms-enum values documentation
TimLovellSmith May 3, 2024
fd7fb23
Revise readOnly-ness and comments
TimLovellSmith May 3, 2024
9bfbf65
Fix values declaration
TimLovellSmith May 3, 2024
c2ee1ab
Fix closing braces
TimLovellSmith May 3, 2024
2355b53
Fix common-types link
TimLovellSmith May 3, 2024
5f7bf9e
Promote NetworkSecurityPerimeterConfigurationProvisioningState to top…
TimLovellSmith May 3, 2024
9253bdb
Promote ResourceAssociationAccessMode to top level definition
TimLovellSmith May 3, 2024
cea38e3
Promote AccessRuleDirection to top level
TimLovellSmith May 3, 2024
45cb7c7
Fix spelling errors and nextLink propery
TimLovellSmith May 3, 2024
2fad143
Fix spectral OpenAPI warnings
TimLovellSmith May 3, 2024
2cd713b
occurred is so hard to spell righ
TimLovellSmith May 3, 2024
94ffa33
Prettier retry
TimLovellSmith May 6, 2024
c02ec6b
Add the 'Updating' provisioning state, for sake of more consistency w…
TimLovellSmith May 6, 2024
61f76e1
Enhance the description.
TimLovellSmith May 6, 2024
e2eeb24
Merge branch 'main' into networkSecurityPerimeterCommonTypes
TimLovellSmith May 7, 2024
d9a2382
Merge branch 'main' into networkSecurityPerimeterCommonTypes
pjohari-ms May 8, 2024
65adf17
Address review feedback
TimLovellSmith May 13, 2024
e6d89a9
Zeroth day zeroth month is a thing?
TimLovellSmith May 14, 2024
3565f01
Adding x-ms-arm-id-details alllowedResources Microsoft.Network networ…
TimLovellSmith May 14, 2024
b8617f8
Fix syntax, note default scope = resource group
TimLovellSmith May 14, 2024
4d3d476
Removing the pattern constraint
TimLovellSmith May 14, 2024
cda181f
Merge branch 'main' into networkSecurityPerimeterCommonTypes
TimLovellSmith May 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,337 @@
{

Check failure on line 1 in specification/common-types/resource-management/v5/networksecurityperimeter.json

View check run for this annotation

Azure Pipelines / Swagger PrettierCheck

specification/common-types/resource-management/v5/networksecurityperimeter.json#L1

specification/common-types/resource-management/v5/networksecurityperimeter.json(1,1): error : Code style issues found, please run prettier. > npm install > npx prettier --write specification/common-types/resource-management/v5/networksecurityperimeter.json
"swagger": "2.0",
"info": {
"version": "2023-09-15-preview",
TimLovellSmith marked this conversation as resolved.
Show resolved Hide resolved
"title": "Common types for network security perimeters based on a common API specification"
},
TimLovellSmith marked this conversation as resolved.
Show resolved Hide resolved
"definitions": {
"PublicNetworkAccess": {
"type": "string",
"description": "Allow, disallow, or let Network Security Perimeter configuration to evaluate public network access to Storage Account. Value is optional but if passed in, must be 'Enabled', 'Disabled' or 'SecuredByPerimeter'.",
"enum": [
"Enabled",
"Disabled",
"SecuredByPerimeter"
],
"x-ms-enum": {
"name": "PublicNetworkAccess",
"modelAsString": true
}
TimLovellSmith marked this conversation as resolved.
Show resolved Hide resolved
},
"NetworkSecurityPerimeterConfigurationListResult": {
"description": "Result of a list NSP (network security perimeter) configurations request.",
"type": "object",
"properties": {
"value": {
"description": "Array of network security perimeter results.",
"readOnly": true,
TimLovellSmith marked this conversation as resolved.
Show resolved Hide resolved
"type": "array",
"items": {
"$ref": "#/definitions/NetworkSecurityPerimeterConfiguration"
TimLovellSmith marked this conversation as resolved.
Show resolved Hide resolved
},
"nextLink": {
"description": "The link used to get the next page of results.",
"type": "string",
"format": "uri",
"readOnly": true
}
}
},
"NetworkSecurityPerimeterConfiguration": {
"description": "Network security perimeter (NSP) configuration resource",
"type": "object",
"allOf": [
{
"$ref": "../../../../../common-types/resource-management/v5/types.json#/definitions/ProxyResource"
TimLovellSmith marked this conversation as resolved.
Show resolved Hide resolved
}
],
"properties": {
"properties": {
"$ref": "#/definitions/NetworkSecurityPerimeterConfigurationProperties",
"description": "Properties of the NSP Configuration"
}
}
},
"NetworkSecurityPerimeterConfigurationProperties": {
"description": "Network security configuration properties.",
"type": "object",
"properties": {
"provisioningState": {
"description": "Provisioning state of a network security perimeter configuration that is being created or updated.",
"enum": [
"Creating",
"Accepted",
"Succeeded",
"Failed",
"Deleting",
"Canceled"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
"name": "NetworkSecurityPerimeterConfigurationProvisioningState",
"modelAsString": true
}
},
"provisioningIssues": {
"description": "List of provisioning issues, if any",
"type": "array",
"readOnly": true,
"items": {
"$ref": "#/definitions/ProvisioningIssue"
},
"x-ms-identifiers": []
},
"networkSecurityPerimeter": {
"$ref": "#/definitions/NetworkSecurityPerimeter"
},
"resourceAssociation": {
"$ref": "#/definitions/ResourceAssociation"
},
"profile": {
"$ref": "#/definitions/NetworkSecurityProfile"
}
}
},
"ProvisioningIssue": {
"description": "Describes provisioning issue for a network security perimeter configuration",
"type": "object",
"readOnly": true,
"properties": {
"name": {
"description": "Name of the issue",
"type": "string"
},
"properties": {
"$ref": "#/definitions/ProvisioningIssueProperties"
}
}
},
"ProvisioningIssueProperties": {
"description": "Properties of provisioning issue",
"type": "object",
"readOnly": true,
"properties": {
"issueType": {
"description": "Type of issue",
"type": "string",
"readOnly": true,
"enum": [
"Unknown",
"ConfigurationPropagationFailure"
],
"x-ms-enum": {
"name": "IssueType",
"modelAsString": true
}
},
"severity": {
"description": "Severity of the issue.",
"enum": [
"Warning",
"Error"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
"name": "Severity",
"modelAsString": true
}
},
"description": {
"description": "Description of the issue",
"type": "string",
"readonly": true
TimLovellSmith marked this conversation as resolved.
Show resolved Hide resolved
},
"suggestedResourceIds": {
"description": "Fully qualified resource IDs of resources that can be associated to the same perimeter to remediate the issue.",
"type": "array",
"items": {
"description": "Fully qualified resource ID of the suggested resource",
"type": "string",
"format": "arm-id",
"readOnly": true
},
"readonly": true
},
"suggestedAccessRules": {
"description": "Access rules that can be added to the same profile to remediate the issue.",
"type": "array",
"items": {
"$ref": "#/definitions/AccessRule"
},
"x-ms-identifiers": []
}
}
},
"NetworkSecurityPerimeter": {
"description": "Information about a Network Security Perimeter (NSP)",
"type": "object",
"properties": {
"id": {
"description": "Fully qualified resource ID of the NSP resource",
"type": "string",
"format": "arm-id"
},
"perimeterGuid": {
"description": "UUID of the network security perimeter",
"type": "string",
"format": "uuid"
},
"location": {
"description": "Location of the Network Security Perimeter",
"type": "string",
"x-ms-mutability": [
"create",
"read"
]
}
}
},
"ResourceAssociation": {
"description": "Information about resource association",
"type": "object",
"properties": {
"name": {
"description": "Name of the resource association",
"type": "string"
},
"accessMode": {
"description": "Access mode of the resource association",
"enum": [
"Enforced",
"Learning",
"Audit"
],
"type": "string",
"x-ms-enum": {
"name": "ResourceAssociationAccessMode",
"modelAsString": true
}
}
}
},
"NetworkSecurityProfile": {
"description": "Network Security Perimeter configuration profile",
"type": "object",
"properties": {
"name": {
"description": "Name of the profile",
"type": "string"
},
"accessRulesVersion": {
"description": "Current access rules version",
"type": "integer",
"format": "int32"
},
"accessRules": {
"description": "List of Access Rules",
"type": "array",
"items": {
"$ref": "#/definitions/AccessRule"
},
"x-ms-identifiers": [ "name" ]
}
}
},
"AccessRule": {
"description": "Access rule in a network security perimeter configuration profile",
"type": "object",
"properties": {
"name": {
"description": "Name of the access rule",
"type": "string"
},
"properties": {
"$ref": "#/definitions/AccessRuleProperties"
}
}
},
"AccessRuleProperties": {
"description": "Properties of Access Rule",
"type": "object",
"properties": {
"direction": {
"description": "Direction of Access Rule",
"enum": [
"Inbound",
"Outbound"
],
"type": "string",
"x-ms-enum": {
"name": "NspAccessRuleDirection",
"modelAsString": true
}
},
"addressPrefixes": {
"description": "Address prefixes in the CIDR format for inbound rules",
"type": "array",
"items": {
"description": "An IP adress prefix (CIDR) for inbound rules",
TimLovellSmith marked this conversation as resolved.
Show resolved Hide resolved
"type": "string"
}
},
"subscriptions": {
"description": "Subscriptions for inbound rules",
"type": "array",
"items": {
"description": "Subscription identifiers",
"type": "object",
"properties": {
"id": {
"description": "The fully qualified resource ID of the subscription",
"type": "string"
}
}
}
},
"networkSecurityPerimeters": {
"description": "Network security perimeters for inbound rules",
"type": "array",
"items": {
"$ref": "#/definitions/NetworkSecurityPerimeter"
}
},
"fullyQualifiedDomainNames": {
"description": "Fully qualified domain names (FQDN) for outbound rules",
"type": "array",
"readOnly": true,
"items": {
"description": "Fully qualified domain name (FQDN)",
"type": "string"
}
},
"emailAddresses": {
"description": "Email addresses for outbound rules",
"type": "array",
"readOnly": true,
"items": {
"description": "An email address",
"type": "string"
}
},
"phoneNumbers": {
"description": "Phone numbers for outbound rules",
"type": "array",
"readOnly": true,
"items": {
"description": "A phone number",
"type": "string"
}
}
}
}
}
TimLovellSmith marked this conversation as resolved.
Show resolved Hide resolved
},
"parameters": {
"NetworkSecurityPerimeterConfigurationNameParameter": {
"name": "networkSecurityPerimeterConfigurationName",
"in": "path",
"required": true,
"type": "string",
"pattern": "^.*$",
TimLovellSmith marked this conversation as resolved.
Show resolved Hide resolved
"x-ms-parameter-location": "method",
"description": "The name for a network security perimeter configuration"
}
}
}
Loading