diff --git a/openapi-specs/scm/config/cloudngfw/setup/config-setup.yaml b/openapi-specs/scm/config/cloudngfw/setup/config-setup.yaml deleted file mode 100644 index 706c0b675..000000000 --- a/openapi-specs/scm/config/cloudngfw/setup/config-setup.yaml +++ /dev/null @@ -1,1489 +0,0 @@ -openapi: 3.0.0 -info: - version: 2.0.0 - title: Configuration Setup - description: These APIs are used to define how Strata Cloud Manager configurations are implemented. - termsOfService: 'https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/legal/palo-alto-networks-end-user-license-agreement-eula.pdf' - contact: - email: support@paloaltonetworks.com - name: Palo Alto Networks Technical Support - url: 'https://support.paloaltonetworks.com' - license: - name: MIT - url: https://opensource.org/license/mit -servers: - - url: 'https://api.strata.paloaltonetworks.com/config/setup/v1' - description: Current -tags: - - name: Devices - description: NGFW devices - - name: Folders - description: Configuration folders - - name: Labels - description: Configuration labels - - name: Snippets - description: Configuration snippets - - name: Variables - description: Configuration variables -paths: - /labels: - get: - summary: List labels - description: | - Retrieve a list of labels. - tags: - - Labels - operationId: ListLabels - parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' - responses: - '200': - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/labels' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - post: - summary: Create a label - description: | - Create a new label. - tags: - - Labels - operationId: CreateLabel - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/labels' - description: The `label` resource definition. - responses: - '201': - $ref: '#/components/responses/http_created' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /labels/{id}: - get: - summary: Get a label - description: | - Retrieve an existing label. - tags: - - Labels - operationId: GetLabelByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/labels' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - put: - summary: Update a label - description: | - Update an existing label. - tags: - - Labels - operationId: UpdateLabelByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/labels' - description: The `label` resource definition. - responses: - '200': - $ref: '#/components/responses/http_ok' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - delete: - summary: Delete a label - description: | - Delete an existing label. - tags: - - Labels - operationId: DeleteLabelByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/labels' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /variables: - get: - summary: List variables - description: | - Retrieve a list of variables. - tags: - - Variables - operationId: ListVariables - parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' - - $ref: '#/components/parameters/folder' - - $ref: '#/components/parameters/snippet' - - $ref: '#/components/parameters/device' - responses: - '200': - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/variables' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - post: - summary: Create a variable - description: | - Create a new variable. - tags: - - Variables - operationId: CreateVariable - parameters: - - $ref: '#/components/parameters/folder' - - $ref: '#/components/parameters/snippet' - - $ref: '#/components/parameters/device' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/variables' - description: The `variable` resource definition. - responses: - '201': - $ref: '#/components/responses/http_created' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /variables/{id}: - get: - summary: Get a variables - description: | - Retrieve an existing variable. - tags: - - Variables - operationId: GetVariableByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/variables' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - put: - summary: Update a variable - description: | - Update an existing variable. - tags: - - Variables - operationId: UpdateVariableByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/variables' - description: The `variable` resource definition. - responses: - '200': - $ref: '#/components/responses/http_ok' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - delete: - summary: Delete a variable - description: | - Delete an existing variable. - tags: - - Variables - operationId: DeleteVariableByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/variables' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /snippets: - get: - summary: List snippets - description: | - Retrieve a list of snippets. - tags: - - Snippets - operationId: ListSnippets - parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' - responses: - '200': - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/snippets' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - post: - summary: Create a snippet - description: | - Create a new snippet. - tags: - - Snippets - operationId: CreateSnippet - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/snippets' - description: The `snippet` resource definition. - responses: - '201': - $ref: '#/components/responses/http_created' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /snippets/{id}: - get: - summary: Get a snippet - description: | - Retrieve an existing snippet. - tags: - - Snippets - parameters: - - $ref: '#/components/parameters/uuid' - operationId: GetSnippetByID - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/snippets' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - put: - summary: Update a snippet - description: | - Update an existing snippet. - tags: - - Snippets - operationId: UpdateSnippetByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/snippets' - description: The `snippet` resource definition. - responses: - '200': - $ref: '#/components/responses/http_ok' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - delete: - summary: Delete a snippet - description: | - Delete an existing snippet. - tags: - - Snippets - operationId: DeleteSnippetByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/snippets' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /folders: - get: - summary: List folders - description: | - Retrieve a list of folders. - tags: - - Folders - operationId: ListFolders - parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' - responses: - '200': - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/folders' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - post: - summary: Create a folder - description: | - Create a new folder. - tags: - - Folders - operationId: CreateFolder - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/folders' - description: The `folder` resource definition - responses: - '201': - $ref: '#/components/responses/http_created' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /folders/{id}: - get: - summary: Get a folder - description: | - Retrieve an existing folder. - tags: - - Folders - operationId: GetFolderByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/folders' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - put: - summary: Update a folder - description: | - Update an existing folder. - tags: - - Folders - operationId: UpdateFolderByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/folders' - description: The `folder` resource definition. - responses: - '200': - $ref: '#/components/responses/http_ok' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - delete: - summary: Delete a folder - description: | - Delete an existing folder. - tags: - - Folders - operationId: DeleteFolderByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/folders' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /devices: - get: - summary: List devices - description: | - Retrieve a list of devices. - tags: - - Devices - operationId: ListDevices - parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' - responses: - '200': - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/devices' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - /devices/{id}: - get: - summary: Get a device - description: | - Retrieve an existing device. - tags: - - Devices - operationId: GetDeviceByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/devices' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - put: - summary: Update a device - description: | - Update an existing device. - tags: - - Devices - operationId: UpdateDeviceByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/devices' - description: The `device` resource definition. - responses: - '200': - $ref: '#/components/responses/http_ok' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' -components: - securitySchemes: - scmOAuth: - type: oauth2 - description: | - Strata Cloud Manager APIs authenticate client requests using the - OAuth 2.0 Client Credentials flow. Please use the `client_id`, - `client_secret` values associated with an IAM service account along - with a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the - Tenant Service Group (TSG) ID. The resulting JWT access token should - be attached to all API calls as a `Bearer` token in the `Authorization` - header (ex. `Authorization: Bearer tokenstring`). - flows: - clientCredentials: - tokenUrl: https://auth.apps.paloaltonetworks.com/oauth2/access_token - scopes: {} - scmToken: - type: http - description: | - Strata Cloud Manager APIs authenticate client requests using the - OAuth 2.0 Client Credentials flow. Please use the `client_id`, - `client_secret` values associated with an IAM service account along - with a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the - Tenant Service Group (TSG) ID. The resulting JWT access token should - be attached to all API calls as a `Bearer` token in the `Authorization` - header (ex. `Authorization: Bearer tokenstring`). - scheme: bearer - bearerFormat: JWT - parameters: - uuid: - name: id - in: path - required: true - schema: - type: string - description: The UUID of the resource - name-optional: - name: name - in: query - required: false - schema: - type: string - description: The name of the resource - limit-optional: - name: limit - in: query - required: false - schema: - type: number - description: The maximum number of resources to return - offset-optional: - name: offset - in: query - required: false - schema: - type: number - description: The offset into the list of resources returned - folder: - name: folder - in: query - required: false - schema: - type: string - description: | - The folder in which the resource is defined - snippet: - name: snippet - in: query - required: false - schema: - type: string - description: | - The snippet in which the resource is defined - device: - name: device - in: query - required: false - schema: - type: string - description: | - The device in which the resource is defined - responses: - http_ok: - description: OK - http_created: - description: Created - auth_errors: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - auth_not_authenticated: - $ref: '#/components/examples/json_401_panui_auth_not_authenticated' - invalid_credential: - $ref: '#/components/examples/json_401_panui_auth_invalid_credential' - key_too_long: - $ref: '#/components/examples/json_401_panui_auth_key_too_long' - key_expired: - $ref: '#/components/examples/json_401_panui_auth_key_expired' - need_password_change: - $ref: '#/components/examples/json_401_panui_auth_need_password_change' - access_errors: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - auth_unauthorized: - $ref: '#/components/examples/json_403_panui_auth_unauthorized' - bad_request_errors_basic: - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - input_format_mismatch: - $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' - output_format_mismatch: - $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' - missing_query_parameter: - $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' - invalid_query_parameter: - $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' - bad_request_errors_basic_with_body: - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - input_format_mismatch: - $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' - output_format_mismatch: - $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' - missing_query_parameter: - $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' - invalid_query_parameter: - $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' - missing_body: - $ref: '#/components/examples/json_400_panui_restapi_missing_body' - invalid_object: - $ref: '#/components/examples/json_400_panui_mgmt_invalid_object' - not_found: - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - object_not_present: - $ref: '#/components/examples/json_404_panui_mgmt_object_not_present' - conflict_errors: - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - object_not_unique: - $ref: '#/components/examples/json_409_panui_mgmt_object_not_unique' - name_not_unique: - $ref: '#/components/examples/json_409_panui_mgmt_name_not_unique' - reference_not_zero: - $ref: '#/components/examples/json_409_panui_mgmt_reference_not_zero' - default_errors: - description: General Errors - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - version_not_supported: - $ref: '#/components/examples/json_501_panui_restapi_version_not_supported' - method_not_allowed: - $ref: '#/components/examples/json_501_panui_restapi_method_not_supported' - action_not_supported: - $ref: '#/components/examples/json_405_panui_restapi_action_not_supported' - bad_xpath: - $ref: '#/components/examples/json_400_panui_mgmt_bad_xpath' - invalid_command: - $ref: '#/components/examples/json_400_panui_mgmt_invalid_command' - malformed_command: - $ref: '#/components/examples/json_400_panui_mgmt_malformed_command' - session_timeout: - $ref: '#/components/examples/json_504_panui_mgmt_session_timeout' - examples: - json_401_panui_auth_not_authenticated: - summary: Not Authenticated - value: - _errors: - - code: "E016" - message: Not Authenticated - details: {} - _request_id: "abcd-1234" - json_401_panui_auth_invalid_credential: - summary: Invalid Credential - value: - _errors: - - code: "E016" - message: Invalid Credential - details: {} - _request_id: "abcd-1234" - json_401_panui_auth_key_too_long: - summary: Key Too Long - value: - _errors: - - code: "E016" - message: Key Too Long - details: {} - _request_id: "abcd-1234" - json_401_panui_auth_key_expired: - summary: Key Expired - value: - _errors: - - code: "E016" - message: Key Expired - details: {} - _request_id: "abcd-1234" - json_401_panui_auth_need_password_change: - summary: Need Password Change - value: - _errors: - - code: "E016" - message: The password needs to be changed. - details: {} - _request_id: "abcd-1234" - json_403_panui_auth_unauthorized: - summary: Unauthorized - value: - _errors: - - code: "E007" - message: Unauthorized - details: {} - _request_id: "abcd-1234" - json_501_panui_restapi_version_not_supported: - summary: Version Not Supported - value: - _errors: - - code: "E012" - message: Version Not Supported - details: {} - _request_id: "abcd-1234" - json_501_panui_restapi_method_not_supported: - summary: Method Not Supported - value: - _errors: - - code: "E012" - message: Method Not Supported - details: {} - _request_id: "abcd-1234" - json_400_panui_restapi_input_format_mismatch: - summary: Input Format Mismatch - value: - _errors: - - code: "E003" - message: 'Input Format Mismatch: input-format=json' - details: {} - _request_id: "abcd-1234" - json_400_panui_restapi_output_format_mismatch: - summary: Output Format Mismatch - value: - _errors: - - code: "E003" - message: 'Output Format Mismatch: output-format=json Accept=xml' - details: {} - _request_id: "abcd-1234" - json_400_panui_restapi_missing_query_parameter: - summary: Missing Query Parameter - value: - _errors: - - code: "E003" - message: 'Missing Query Parameter: name' - details: {} - _request_id: "abcd-1234" - json_400_panui_restapi_invalid_query_parameter: - summary: Invalid Query Parameter - value: - _errors: - - code: "E003" - message: 'Invalid Query Parameter: location=invalid' - details: {} - _request_id: "abcd-1234" - json_400_panui_restapi_missing_body: - summary: Missing Body - value: - _errors: - - code: "E003" - message: Missing Body - details: {} - _request_id: "abcd-1234" - json_405_panui_restapi_action_not_supported: - summary: Action Not Supported - value: - _errors: - - code: "E012" - message: 'Action Not Supported: move' - details: {} - _request_id: "abcd-1234" - json_400_panui_mgmt_bad_xpath: - summary: Bad XPath - value: - _errors: - - code: "E013" - message: Bad XPath - details: {} - _request_id: "abcd-1234" - json_404_panui_mgmt_object_not_present: - summary: Object Not Present - value: - _errors: - - code: "E005" - message: Object Not Present - details: {} - _request_id: "abcd-1234" - json_409_panui_mgmt_object_not_unique: - summary: Object Not Unique - value: - _errors: - - code: "E016" - message: Object Not Unique - details: {} - _request_id: "abcd-1234" - json_409_panui_mgmt_name_not_unique: - summary: Name Not Unique - value: - _errors: - - code: "E006" - message: Name Not Unique - details: {} - _request_id: "abcd-1234" - json_409_panui_mgmt_reference_not_zero: - summary: Reference Not Zero - value: - _errors: - - code: "E009" - message: Reference Not Zero - details: {} - _request_id: "abcd-1234" - json_400_panui_mgmt_invalid_object: - summary: Invalid Object - value: - _errors: - - code: "E003" - message: Invalid Object - details: {} - _request_id: "abcd-1234" - json_400_panui_mgmt_invalid_command: - summary: Invalid Command - value: - _errors: - - code: "E003" - message: Invalid Command - details: {} - _request_id: "abcd-1234" - json_400_panui_mgmt_malformed_command: - summary: Malformed Command - value: - _errors: - - code: "E003" - message: Malformed Command - details: {} - _request_id: "abcd-1234" - json_504_panui_mgmt_session_timeout: - summary: Session Timeout - value: - _errors: - - code: '4' - message: Session Timeout - details: {} - _request_id: "abcd-1234" - schemas: - generic_error: - type: object - properties: - _errors: - $ref: '#/components/schemas/error_detail_cause_infos' - _request_id: - type: string - error_detail_cause_infos: - type: array - items: - $ref: '#/components/schemas/error_detail_cause_info' - error_detail_cause_info: - title: Cause Info - type: object - properties: - 'code': - type: string - message: - type: string - details: - type: object - help: - type: string - variables: - type: object - required: - - 'name' - - 'id' - - 'type' - - 'value' - properties: - id: - type: string - description: UUID of the variable - readOnly: true - example: 123e4567-e89b-12d3-a456-426655440000 - name: - type: string - description: The name of the variable - maxLength: 63 - type: - type: string - enum: - - percent - - count - - ip-netmask - - zone - - ip-range - - ip-wildcard - - device-priority - - device-id - - egress-max - - as-number - - fqdn - - port - - link-tag - - group-id - - rate - - router-id - - qos-profile - - timer - description: The variable type - value: - type: string - additionalProperties: - oneOf: - - type: string - - type: integer - description: The value of the variable - default: None - overridden: - type: boolean - readOnly: true - description: Is the variable overridden? - description: - type: string - description: The description of the variable - oneOf: - - type: object - title: folder - properties: - folder: - type: string - pattern: ^[a-zA-Z\d-_\. ]+$ - maxLength: 64 - description: The folder in which the resource is defined - example: My Folder - required: - - folder - - type: object - title: snippet - properties: - snippet: - type: string - pattern: ^[a-zA-Z\d-_\. ]+$ - maxLength: 64 - description: The snippet in which the resource is defined - example: My Snippet - required: - - snippet - - type: object - title: device - properties: - device: - type: string - pattern: ^[a-zA-Z\d-_\. ]+$ - maxLength: 64 - description: The device in which the resource is defined - example: My Device - required: - - device - folders: - type: object - required: - - "name" - - "id" - - "parent" - properties: - "name": - type: string - description: The name of the folder - "id": - type: string - readOnly: true - description: The UUID of the folder - "parent": - type: string - description: The parent folder - "description": - type: string - description: The description of the folder - "labels": - type: array - items: - type: string - description: Labels assigned to the folder - "snippets": - type: array - items: - type: string - description: Snippets associated with the folder - snippets: - type: object - required: - - "name" - - "id" - properties: - "name": - type: string - description: The name of the snippet - "description": - type: string - description: The description of the snippet - "id": - type: string - description: The UUID of the snippet - readOnly: true - "type": - type: string - readOnly: true - enum: - - predefined - - custom - description: The snippet type - "labels": - type: array - items: - type: string - description: Labels applied to the snippet - labels: - type: object - required: - - "name" - - "id" - properties: - "name": - type: string - description: The name of the label - "id": - type: string - readOnly: true - description: The UUID of the label - "description": - type: string - description: The description of the label - devices: - type: object - required: - - name - - id - - folder - properties: - "id": - type: string - readOnly: true - description: The UUID of the device - "name": - type: string - description: The name of the device - "folder": - type: string - description: The folder containing the device - "description": - type: string - description: The description of the device - "hostname": - type: string - readOnly: true - description: The hostname of the device - "ip_address": - type: string - readOnly: true - description: The IPv4 address of the device - "ipV6_address": - type: string - readOnly: true - description: The IPv6 address of the device - "mac_address": - type: string - readOnly: true - description: The MAC address of the device - "family": - type: string - readOnly: true - description: The product family of the device - "model": - type: string - readOnly: true - description: The model of the device - "labels": - type: array - items: - type: string - description: Labels assigned to the device - "snippets": - type: array - items: - type: string - description: Snippets associated with the device - "app_version": - type: string - readOnly: true - "threat_version": - type: string - readOnly: true - "anti_virus_version": - type: string - readOnly: true - "wf_ver": - type: string - readOnly: true - "iot_version": - type: string - readOnly: true - "url_db_type": - type: string - readOnly: true - "url_db_ver": - type: string - readOnly: true - "software_version": - type: string - readOnly: true - "vm_state": - type: string - readOnly: true - "gp_client_verion": - type: string - readOnly: true - "gp_data_version": - type: string - readOnly: true - "log_db_version": - type: string - readOnly: true - "uptime": - type: string - readOnly: true - "dev_cert_detail": - type: string - readOnly: true - "dev_cert_expiry_date": - type: string - readOnly: true - "ha_state": - type: string - readOnly: true - "ha_peer_serial": - type: string - readOnly: true - "ha_peer_state": - type: string - readOnly: true - "is_connected": - type: boolean - readOnly: true - "connected_since": - type: string - format: date-time - readOnly: true - "app_release_date": - type: string - readOnly: true - "threat_release_date": - type: string - readOnly: true - "av_release_date": - type: string - readOnly: true - "wf_release_date": - type: string - readOnly: true - "iot_release_date": - type: string - readOnly: true - "license_match": - type: boolean - readOnly: true - "available_licensess": - type: array - items: - type: object - properties: - "issued": - type: string - format: date - readOnly: true - "expires": - type: string - format: date - readOnly: true - "feature": - type: string - readOnly: true - "authcode": - type: string - readOnly: true - readOnly: true - "installed_licenses": - type: array - items: - type: object - properties: - "issued": - type: string - format: date - readOnly: true - "expired": - type: string - readOnly: true - "expires": - type: string - readOnly: true - "feature": - type: string - readOnly: true - "authcode": - type: string - readOnly: true - readOnly: true -security: - - scmToken: [] -x-internal: false \ No newline at end of file diff --git a/openapi-specs/scm/config/cloudngfw/setup/paloaltonetworks-snippet-sharing.yaml b/openapi-specs/scm/config/cloudngfw/setup/paloaltonetworks-snippet-sharing.yaml new file mode 100644 index 000000000..561a1cadc --- /dev/null +++ b/openapi-specs/scm/config/cloudngfw/setup/paloaltonetworks-snippet-sharing.yaml @@ -0,0 +1,2740 @@ +components: + examples: + json_400_panui_mgmt_bad_xpath: + summary: Bad XPath + value: + _errors: + - code: E013 + details: {} + message: Bad XPath + _request_id: abcd-1234 + json_400_panui_mgmt_invalid_command: + summary: Invalid Command + value: + _errors: + - code: E003 + details: {} + message: Invalid Command + _request_id: abcd-1234 + json_400_panui_mgmt_invalid_object: + summary: Invalid Object + value: + _errors: + - code: E003 + details: {} + message: Invalid Object + _request_id: abcd-1234 + json_400_panui_mgmt_malformed_command: + summary: Malformed Command + value: + _errors: + - code: E003 + details: {} + message: Malformed Command + _request_id: abcd-1234 + json_400_panui_restapi_input_format_mismatch: + summary: Input Format Mismatch + value: + _errors: + - code: E003 + details: {} + message: 'Input Format Mismatch: input-format=json' + _request_id: abcd-1234 + json_400_panui_restapi_invalid_query_parameter: + summary: Invalid Query Parameter + value: + _errors: + - code: E003 + details: {} + message: 'Invalid Query Parameter: location=invalid' + _request_id: abcd-1234 + json_400_panui_restapi_missing_body: + summary: Missing Body + value: + _errors: + - code: E003 + details: {} + message: Missing Body + _request_id: abcd-1234 + json_400_panui_restapi_missing_query_parameter: + summary: Missing Query Parameter + value: + _errors: + - code: E003 + details: {} + message: 'Missing Query Parameter: name' + _request_id: abcd-1234 + json_400_panui_restapi_output_format_mismatch: + summary: Output Format Mismatch + value: + _errors: + - code: E003 + details: {} + message: 'Output Format Mismatch: output-format=json Accept=xml' + _request_id: abcd-1234 + json_401_panui_auth_invalid_credential: + summary: Invalid Credential + value: + _errors: + - code: E016 + details: {} + message: Invalid Credential + _request_id: abcd-1234 + json_401_panui_auth_key_expired: + summary: Key Expired + value: + _errors: + - code: E016 + details: {} + message: Key Expired + _request_id: abcd-1234 + json_401_panui_auth_key_too_long: + summary: Key Too Long + value: + _errors: + - code: E016 + details: {} + message: Key Too Long + _request_id: abcd-1234 + json_401_panui_auth_need_password_change: + summary: Need Password Change + value: + _errors: + - code: E016 + details: {} + message: The password needs to be changed. + _request_id: abcd-1234 + json_401_panui_auth_not_authenticated: + summary: Not Authenticated + value: + _errors: + - code: E016 + details: {} + message: Not Authenticated + _request_id: abcd-1234 + json_403_panui_auth_unauthorized: + summary: Unauthorized + value: + _errors: + - code: E007 + details: {} + message: Unauthorized + _request_id: abcd-1234 + json_404_panui_mgmt_object_not_present: + summary: Object Not Present + value: + _errors: + - code: E005 + details: {} + message: Object Not Present + _request_id: abcd-1234 + json_405_panui_restapi_action_not_supported: + summary: Action Not Supported + value: + _errors: + - code: E012 + details: {} + message: 'Action Not Supported: move' + _request_id: abcd-1234 + json_409_panui_mgmt_name_not_unique: + summary: Name Not Unique + value: + _errors: + - code: E006 + details: {} + message: Name Not Unique + _request_id: abcd-1234 + json_409_panui_mgmt_object_not_unique: + summary: Object Not Unique + value: + _errors: + - code: E016 + details: {} + message: Object Not Unique + _request_id: abcd-1234 + json_409_panui_mgmt_reference_not_zero: + summary: Reference Not Zero + value: + _errors: + - code: E009 + details: {} + message: Reference Not Zero + _request_id: abcd-1234 + json_501_panui_restapi_method_not_supported: + summary: Method Not Supported + value: + _errors: + - code: E012 + details: {} + message: Method Not Supported + _request_id: abcd-1234 + json_501_panui_restapi_version_not_supported: + summary: Version Not Supported + value: + _errors: + - code: E012 + details: {} + message: Version Not Supported + _request_id: abcd-1234 + json_504_panui_mgmt_session_timeout: + summary: Session Timeout + value: + _errors: + - code: '4' + details: {} + message: Session Timeout + _request_id: abcd-1234 + parameters: + device: + description: 'Specifies the device where the resource is located. + + ' + in: query + name: device + required: false + schema: + type: string + folder: + description: 'Specifies the folder where the resource is located. + + ' + in: query + name: folder + required: false + schema: + type: string + limit-optional: + description: The maximum number of resources to return. + in: query + name: limit + required: false + schema: + type: number + name-optional: + description: The resource name. + in: query + name: name + required: false + schema: + type: string + offset-optional: + description: Specifies the starting point in the list of returned resources. + in: query + name: offset + required: false + schema: + type: number + recipient-tsgs: + description: 'A list of recipient TSG IDs separated by commas. + + ' + in: query + name: tsgs + required: true + schema: + type: string + snippet: + description: 'Specifies the snippet where the resource is defined. + + ' + in: query + name: snippet + required: false + schema: + type: string + snippet-id: + description: 'The unique identifier of the snippet. + + ' + in: query + name: snippet_id + required: true + schema: + type: string + trust-ids: + description: 'A list of trust IDs separated by commas. + + ' + in: query + name: trust_ids + required: true + schema: + type: string + trusted-tenant-type: + description: 'Specifies the type of the tenant that is trusted, either ''subscriber'' + or ''publisher''. + + ' + in: query + name: type + required: true + schema: + enum: + - subscriber + - publisher + type: string + uuid: + description: The resource UUID. + in: path + name: ID + required: true + schema: + type: string + responses: + access_errors: + content: + application/json: + examples: + auth_unauthorized: + $ref: '#/components/examples/json_403_panui_auth_unauthorized' + schema: + $ref: '#/components/schemas/generic_error' + description: Forbidden + auth_errors: + content: + application/json: + examples: + auth_not_authenticated: + $ref: '#/components/examples/json_401_panui_auth_not_authenticated' + invalid_credential: + $ref: '#/components/examples/json_401_panui_auth_invalid_credential' + key_expired: + $ref: '#/components/examples/json_401_panui_auth_key_expired' + key_too_long: + $ref: '#/components/examples/json_401_panui_auth_key_too_long' + need_password_change: + $ref: '#/components/examples/json_401_panui_auth_need_password_change' + schema: + $ref: '#/components/schemas/generic_error' + description: Unauthorized + bad_request_errors_basic: + content: + application/json: + examples: + input_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' + invalid_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' + missing_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' + output_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' + schema: + $ref: '#/components/schemas/generic_error' + description: Bad Request + bad_request_errors_basic_with_body: + content: + application/json: + examples: + input_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' + invalid_object: + $ref: '#/components/examples/json_400_panui_mgmt_invalid_object' + invalid_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' + missing_body: + $ref: '#/components/examples/json_400_panui_restapi_missing_body' + missing_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' + output_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' + schema: + $ref: '#/components/schemas/generic_error' + description: Bad Request + conflict_errors: + content: + application/json: + examples: + name_not_unique: + $ref: '#/components/examples/json_409_panui_mgmt_name_not_unique' + object_not_unique: + $ref: '#/components/examples/json_409_panui_mgmt_object_not_unique' + reference_not_zero: + $ref: '#/components/examples/json_409_panui_mgmt_reference_not_zero' + schema: + $ref: '#/components/schemas/generic_error' + description: Conflict + default_errors: + content: + application/json: + examples: + action_not_supported: + $ref: '#/components/examples/json_405_panui_restapi_action_not_supported' + bad_xpath: + $ref: '#/components/examples/json_400_panui_mgmt_bad_xpath' + invalid_command: + $ref: '#/components/examples/json_400_panui_mgmt_invalid_command' + malformed_command: + $ref: '#/components/examples/json_400_panui_mgmt_malformed_command' + method_not_allowed: + $ref: '#/components/examples/json_501_panui_restapi_method_not_supported' + session_timeout: + $ref: '#/components/examples/json_504_panui_mgmt_session_timeout' + version_not_supported: + $ref: '#/components/examples/json_501_panui_restapi_version_not_supported' + schema: + $ref: '#/components/schemas/generic_error' + description: General Errors + http_created: + description: Created + http_ok: + description: OK + not_found: + content: + application/json: + examples: + object_not_present: + $ref: '#/components/examples/json_404_panui_mgmt_object_not_present' + schema: + $ref: '#/components/schemas/generic_error' + description: Not Found + schemas: + add_subscriber_request_payload: + items: + properties: + snippet_id: + type: string + snippet_name: + type: string + tsg_id: + type: string + required: + - tsg_id + - snippet_id + - snippet_name + type: object + type: array + compare_snippet_snapshot_config_payload: + properties: + comparing_version: + type: integer + id: + type: string + version: + type: integer + required: + - id + - version + - comparing_version + type: object + deleted_subscriber: + properties: + details: + type: string + info: + $ref: '#/components/schemas/snippet_share_info' + status: + type: string + type: object + devices: + properties: + anti_virus_version: + readOnly: true + type: string + app_release_date: + readOnly: true + type: string + app_version: + readOnly: true + type: string + av_release_date: + readOnly: true + type: string + available_licensess: + items: + properties: + authcode: + readOnly: true + type: string + expires: + format: date + readOnly: true + type: string + feature: + readOnly: true + type: string + issued: + format: date + readOnly: true + type: string + type: object + readOnly: true + type: array + connected_since: + format: date-time + readOnly: true + type: string + description: + description: The description of the device + type: string + dev_cert_detail: + readOnly: true + type: string + dev_cert_expiry_date: + readOnly: true + type: string + family: + description: The product family of the device + readOnly: true + type: string + folder: + description: The folder containing the device + type: string + gp_client_verion: + readOnly: true + type: string + gp_data_version: + readOnly: true + type: string + ha_peer_serial: + readOnly: true + type: string + ha_peer_state: + readOnly: true + type: string + ha_state: + readOnly: true + type: string + hostname: + description: The hostname of the device + readOnly: true + type: string + id: + description: The UUID of the device + readOnly: true + type: string + installed_licenses: + items: + properties: + authcode: + readOnly: true + type: string + expired: + readOnly: true + type: string + expires: + readOnly: true + type: string + feature: + readOnly: true + type: string + issued: + format: date + readOnly: true + type: string + type: object + readOnly: true + type: array + iot_release_date: + readOnly: true + type: string + iot_version: + readOnly: true + type: string + ipV6_address: + description: The IPv6 address of the device + readOnly: true + type: string + ip_address: + description: The IPv4 address of the device + readOnly: true + type: string + is_connected: + readOnly: true + type: boolean + labels: + description: Labels assigned to the device + items: + type: string + type: array + license_match: + readOnly: true + type: boolean + log_db_version: + readOnly: true + type: string + mac_address: + description: The MAC address of the device + readOnly: true + type: string + model: + description: The model of the device + readOnly: true + type: string + name: + description: The name of the device + type: string + snippets: + description: Snippets associated with the device + items: + type: string + type: array + software_version: + readOnly: true + type: string + threat_release_date: + readOnly: true + type: string + threat_version: + readOnly: true + type: string + uptime: + readOnly: true + type: string + url_db_type: + readOnly: true + type: string + url_db_ver: + readOnly: true + type: string + vm_state: + readOnly: true + type: string + wf_release_date: + readOnly: true + type: string + wf_ver: + readOnly: true + type: string + required: + - name + - id + - folder + type: object + dynamic_entry: + additionalProperties: true + readOnly: true + type: object + error_detail_cause_info: + properties: + code: + type: string + details: + type: object + help: + type: string + message: + type: string + title: Cause Info + type: object + error_detail_cause_infos: + items: + $ref: '#/components/schemas/error_detail_cause_info' + type: array + folders: + properties: + description: + description: The description of the folder + type: string + id: + description: The UUID of the folder + readOnly: true + type: string + labels: + description: Labels assigned to the folder + items: + type: string + type: array + name: + description: The name of the folder + type: string + parent: + description: The parent folder + type: string + snippets: + description: Snippets associated with the folder + items: + type: string + type: array + required: + - name + - id + - parent + type: object + generic_error: + properties: + _errors: + $ref: '#/components/schemas/error_detail_cause_infos' + _request_id: + type: string + type: object + labels: + properties: + description: + description: The description of the label + type: string + id: + description: The UUID of the label + readOnly: true + type: string + name: + description: The name of the label + type: string + required: + - name + - id + type: object + property_item: + properties: + id: + type: integer + name: + type: string + value: + type: string + type: object + save_snippet_snapshot_config_response: + properties: + result: + properties: + version: + type: string + readOnly: true + type: object + status: + readOnly: true + type: string + readOnly: true + type: object + save_snippet_snapshot_payload: + properties: + description: + type: string + id: + type: string + required: + - id + - description + type: object + snippet_audit_history: + properties: + action: + readOnly: true + type: string + created: + format: date-time + readOnly: true + type: string + deleted: + readOnly: true + type: integer + details: + readOnly: true + type: string + display: + readOnly: true + type: integer + donor_created: + readOnly: true + type: integer + donor_tenant_name: + readOnly: true + type: string + donor_tsg: + readOnly: true + type: string + id: + format: uint + readOnly: true + type: integer + recipient_tenant_name: + readOnly: true + type: string + recipient_tsg: + readOnly: true + type: string + snippet_uuid: + readOnly: true + type: string + user: + readOnly: true + type: string + version: + readOnly: true + type: string + type: object + snippet_share_info: + properties: + created: + format: date-time + readOnly: true + type: string + donor_created: + readOnly: true + type: integer + donor_snippet_file_id: + readOnly: true + type: integer + donor_snippet_version: + readOnly: true + type: integer + donor_tenant_id: + readOnly: true + type: string + donor_tenant_name: + readOnly: true + type: string + donor_tsg: + readOnly: true + type: string + error: + readOnly: true + type: string + id: + format: uint + readOnly: true + type: integer + last_updated: + format: date-time + readOnly: true + type: string + msg_uuid: + readOnly: true + type: string + properties: + items: + $ref: '#/components/schemas/snippet_share_property' + type: array + recipient_paused_update: + readOnly: true + type: boolean + recipient_snippet_file_id: + readOnly: true + type: integer + recipient_snippet_version: + readOnly: true + type: integer + recipient_tenant_id: + readOnly: true + type: string + recipient_tenant_name: + readOnly: true + type: string + recipient_tsg: + readOnly: true + type: string + recipient_validate_before_update: + readOnly: true + type: boolean + snippet_name: + readOnly: true + type: string + snippet_uuid: + readOnly: true + type: string + status: + readOnly: true + type: string + type: object + snippet_share_property: + properties: + created: + format: date-time + readOnly: true + type: string + created_by: + readOnly: true + type: string + donor_tenant: + readOnly: true + type: string + donor_tsg: + readOnly: true + type: string + error: + readOnly: true + type: string + id: + readOnly: true + type: integer + msg_uuid: + readOnly: true + type: string + property_name: + readOnly: true + type: string + property_value: + readOnly: true + type: string + recipient_tenant: + readOnly: true + type: string + recipient_tsg: + readOnly: true + type: string + snippet_name: + readOnly: true + type: string + snippet_uuid: + readOnly: true + type: string + status: + readOnly: true + type: string + updated: + format: date-time + readOnly: true + type: string + updated_by: + readOnly: true + type: string + type: object + snippet_snapshot_compare_entry: + properties: + admin: + format: email + readOnly: true + type: string + id: + readOnly: true + type: string + loc: + type: string + loctype: + type: string + objectname: + type: string + objecttype: + type: string + operations: + enum: + - edit + - create + type: string + timestamp: + format: date-time + type: string + readOnly: true + type: object + snippet_snapshot_compare_response: + items: + $ref: '#/components/schemas/snippet_snapshot_compare_entry' + readOnly: true + type: array + snippet_snapshot_load_snippet_payload: + properties: + id: + type: string + version: + type: string + required: + - id + - version + type: object + snippet_snapshot_load_snippet_response: + properties: + status: + type: string + readOnly: true + type: object + snippet_snapshot_publish_request: + properties: + id: + type: string + name: + type: string + tsgs: + items: + type: string + type: array + validation: + type: boolean + version: + type: integer + type: object + snippet_snapshot_publish_response: + properties: + file_id: + nullable: true + readOnly: true + type: integer + id: + readOnly: true + type: string + job_id: + readOnly: true + type: integer + tsgs: + items: + type: string + readOnly: true + type: array + version: + nullable: true + readOnly: true + type: integer + readOnly: true + type: object + snippet_snapshot_subscriber_compare_payload: + properties: + id: + type: string + tenant_id: + description: Publisher Tenant ID + type: string + required: + - id + - tenant_id + type: object + snippet_snapshot_subscriber_compare_response: + properties: + publisher: + properties: + entry: + items: + $ref: '#/components/schemas/dynamic_entry' + type: array + readOnly: true + type: object + subscriber: + properties: + entry: + items: + $ref: '#/components/schemas/dynamic_entry' + type: array + readOnly: true + type: object + type: object + snippets: + properties: + description: + description: The description of the snippet + type: string + id: + description: The UUID of the snippet + readOnly: true + type: string + labels: + description: Labels applied to the snippet + items: + type: string + type: array + name: + description: The name of the snippet + type: string + type: + description: The snippet type + enum: + - predefined + - custom + readOnly: true + type: string + required: + - name + - id + type: object + subscriber_property_payload: + properties: + property: + items: + $ref: '#/components/schemas/property_item' + type: array + snippet_id: + type: string + snippet_name: + type: string + tsg_id: + type: string + required: + - tsg_id + - snippet_id + - snippet_name + type: object + tenant_trust_info: + properties: + created: + format: date-time + readOnly: true + type: string + created_by: + readOnly: true + type: string + current_status: + readOnly: true + type: string + donor_cluster: + readOnly: true + type: string + donor_msg_uuid: + readOnly: true + type: string + donor_project: + readOnly: true + type: string + donor_region: + readOnly: true + type: string + donor_tenant_id: + type: string + donor_tenant_name: + type: string + donor_trust_info_id: + readOnly: true + type: integer + donor_tsg: + readOnly: true + type: string + error_details: + readOnly: true + type: string + last_updated: + format: date-time + readOnly: true + type: string + psk: + type: string + recipient_cluster: + readOnly: true + type: string + recipient_msg_uuid: + readOnly: true + type: string + recipient_project: + readOnly: true + type: string + recipient_region: + readOnly: true + type: string + recipient_tenant_id: + readOnly: true + type: string + recipient_tenant_name: + type: string + recipient_trust_info_id: + readOnly: true + type: integer + recipient_tsg: + readOnly: true + type: string + trust_id: + type: integer + updated_by: + readOnly: true + type: string + type: object + trust_info_with_shared_snippets: + properties: + created: + format: date-time + readOnly: true + type: string + donor_created: + readOnly: true + type: integer + donor_snippet_file_id: + readOnly: true + type: integer + donor_snippet_version: + readOnly: true + type: integer + donor_tsg: + readOnly: true + type: string + error: + readOnly: true + type: string + id: + readOnly: true + type: integer + last_updated: + format: date-time + readOnly: true + type: string + msg_uuid: + readOnly: true + type: string + recipient_paused_update: + readOnly: true + type: integer + recipient_snippet_file_id: + readOnly: true + type: integer + recipient_snippet_version: + readOnly: true + type: integer + recipient_tsg: + readOnly: true + type: string + recipient_validate_before_update: + readOnly: true + type: integer + shared_snippets: + items: + $ref: '#/components/schemas/snippet_share_info' + type: array + snippet_name: + readOnly: true + type: string + snippet_uuid: + readOnly: true + type: string + status: + readOnly: true + type: string + updated_by: + readOnly: true + type: string + type: object + trust_validation_info: + properties: + created: + format: date-time + readOnly: true + type: string + created_by: + readOnly: true + type: string + current_status: + readOnly: true + type: string + donor_cluster: + readOnly: true + type: string + donor_msg_uuid: + readOnly: true + type: string + donor_project: + readOnly: true + type: string + donor_region: + readOnly: true + type: string + donor_tenant_id: + type: string + donor_tenant_name: + type: string + donor_tsg: + readOnly: true + type: string + last_updated: + format: date-time + readOnly: true + type: string + psk: + type: string + recipient_cluster: + readOnly: true + type: string + recipient_msg_uuid: + readOnly: true + type: string + recipient_region: + readOnly: true + type: string + recipient_tenant_id: + readOnly: true + type: string + recipient_tenant_name: + type: string + recipient_tsg: + readOnly: true + type: string + trust_id: + type: integer + updated_by: + readOnly: true + type: string + type: object + trusted_tenant_overview: + properties: + publisher: + properties: + pending: + readOnly: true + type: integer + total: + readOnly: true + type: integer + type: object + subscriber: + properties: + pending: + readOnly: true + type: integer + total: + readOnly: true + type: integer + type: object + type: object + trusts: + properties: + donor_tenant_name: + type: string + psk: + type: string + recipient_tenant_name: + type: string + trust_id: + nullable: true + type: integer + tsg: + type: string + type: object + trusts_validation_payload: + properties: + donor_tenant_name: + type: string + psk: + type: string + recipient_tenant_name: + type: string + trust_id: + nullable: true + type: integer + tsg: + type: string + required: + - tsg + - donor_tenant_name + - recipient_tenant_name + - trust_id + - psk + type: object + variables: + oneOf: + - properties: + folder: + description: The folder in which the resource is defined + example: My Folder + maxLength: 64 + pattern: ^[a-zA-Z\d-_\. ]+$ + type: string + required: + - folder + title: folder + type: object + - properties: + snippet: + description: The snippet in which the resource is defined + example: My Snippet + maxLength: 64 + pattern: ^[a-zA-Z\d-_\. ]+$ + type: string + required: + - snippet + title: snippet + type: object + - properties: + device: + description: The device in which the resource is defined + example: My Device + maxLength: 64 + pattern: ^[a-zA-Z\d-_\. ]+$ + type: string + required: + - device + title: device + type: object + properties: + description: + description: The description of the variable + type: string + id: + description: UUID of the variable + example: 123e4567-e89b-12d3-a456-426655440000 + readOnly: true + type: string + name: + description: The name of the variable + maxLength: 63 + type: string + overridden: + description: Is the variable overridden? + readOnly: true + type: boolean + type: + description: The variable type + enum: + - percent + - count + - ip-netmask + - zone + - ip-range + - ip-wildcard + - device-priority + - device-id + - egress-max + - as-number + - fqdn + - port + - link-tag + - group-id + - rate + - router-id + - qos-profile + - timer + type: string + value: + additionalProperties: + oneOf: + - type: string + - type: integer + default: None + description: The value of the variable + type: string + required: + - name + - id + - type + - value + type: object + securitySchemes: + Bearer: + scheme: bearer + type: http +info: + contact: + email: support@paloaltonetworks.com + description: "Managing configurations across multiple tenants can be a challenging\ + \ and error-prone task. \nThe Snippet Sharing API simplifies this process by enabling\ + \ administrators to efficiently share and synchronize configuration snippets between\ + \ different tenants. \nThis API ensures consistency, reduces manual errors, and\ + \ provides a secure and reliable way to manage configurations.\n\nThese APIs use\ + \ the common Strata Cloud Manager authentication mechanism and base URL. See the\n\ + [Strata Cloud Manager Authentication Service](https://pan.dev/scm/api/auth/auth-api/)\ + \ guide for more information.\n\nThis Open API spec file was created on May 28,\ + \ 2025. To check for a more recent version of this file, see\n[Snippet Sharing\ + \ APIs on pan.dev](https://pan.dev/scm/api/config/snippet-sharing/).\n\n\xA9 2025\ + \ Palo Alto Networks, Inc. Palo Alto Networks is a registered trademark of Palo\n\ + Alto Networks. A list of our trademarks can be found at\n\n[https://www.paloaltonetworks.com/company/trademarks.html](https://www.paloaltonetworks.com/company/trademarks.html)\n\ + \nAll other marks mentioned herein may be trademarks of their respective companies.\n" + license: + name: MIT + url: https://opensource.org/license/mit + termsOfService: https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/legal/palo-alto-networks-end-user-license-agreement-eula.pdf + title: PaloAlto Networks Snippet Sharing APIs + version: '1.0' +openapi: 3.0.0 +paths: + /devices: + get: + description: 'Retrieve a list of devices. + + ' + operationId: get-devices + parameters: + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' + responses: + '200': + content: + application/json: + schema: + properties: + data: + allOf: + - items: + $ref: '#/components/schemas/devices' + type: array + limit: + default: 200 + type: number + offset: + default: 0 + type: number + total: + type: number + type: object + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: List devices + tags: + - Devices + /devices/{id}: + get: + description: 'Retrieve an existing device. + + ' + operationId: get-devices-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/devices' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get a device + tags: + - Devices + put: + description: 'Update an existing device. + + ' + operationId: put-devices-id + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/devices' + description: The `device` resource definition. + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update a device + tags: + - Devices + /folders: + get: + description: 'Retrieve a list of folders. + + ' + operationId: get-folders + parameters: + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' + responses: + '200': + content: + application/json: + schema: + properties: + data: + allOf: + - items: + $ref: '#/components/schemas/folders' + type: array + limit: + default: 200 + type: number + offset: + default: 0 + type: number + total: + type: number + type: object + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: List folders + tags: + - Folders + post: + description: 'Create a new folder. + + ' + operationId: post-folders + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/folders' + description: The `folder` resource definition + responses: + '201': + $ref: '#/components/responses/http_created' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Create a folder + tags: + - Folders + /folders/{id}: + delete: + description: 'Delete an existing folder. + + ' + operationId: delete-folders-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/folders' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete a folder + tags: + - Folders + get: + description: 'Retrieve an existing folder. + + ' + operationId: get-folders-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/folders' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get a folder + tags: + - Folders + put: + description: 'Update an existing folder. + + ' + operationId: put-folders-id + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/folders' + description: The `folder` resource definition. + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update a folder + tags: + - Folders + /labels: + get: + description: 'Retrieve a list of labels. + + ' + operationId: get-labels + parameters: + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' + responses: + '200': + content: + application/json: + schema: + properties: + data: + allOf: + - items: + $ref: '#/components/schemas/labels' + type: array + limit: + default: 200 + type: number + offset: + default: 0 + type: number + total: + type: number + type: object + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Label list + tags: + - Labels + post: + description: 'Create a label. + + ' + operationId: post-labels + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/labels' + description: The `label` resource definition. + responses: + '201': + $ref: '#/components/responses/http_created' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: New label + tags: + - Labels + /labels/{id}: + delete: + description: 'Delete an existing label. + + ' + operationId: delete-labels-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/labels' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete label + tags: + - Labels + get: + description: 'Retrieve an existing label. + + ' + operationId: get-labels-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/labels' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get label + tags: + - Labels + put: + description: 'Update an existing label. + + ' + operationId: put-labels-id + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/labels' + description: The `label` resource definition. + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update label + tags: + - Labels + /snippet-audit-logs/{id}: + get: + description: 'Retrieve an existing snippet audit logs by UUID. + + ' + operationId: get-snippet-audit-logs-id + parameters: + - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/trusted-tenant-type' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_audit_history' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get a snippet audit logs + tags: + - Snippet Audit Logs + /snippet-snapshots: + post: + description: "Save Snippet Snapshots. \n" + operationId: post-snippet-snapshots + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/save_snippet_snapshot_payload' + description: The `Save Snippet Snapshots` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/save_snippet_snapshot_config_response' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Save Snippet Snapshots + tags: + - Snippet Snapshots + /snippet-snapshots:compare: + post: + description: 'Compare Snippet Snapshots. + + ' + operationId: post-snippet-snapshots:compare + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/compare_snippet_snapshot_config_payload' + description: The `Snippet Snapshots To Compare` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_compare_response' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Compare Snippet Snapshots + tags: + - Snippet Snapshots + /snippet-snapshots:load: + post: + description: 'Load Snippet Snapshots. Discards current candidate and loads specific + version of the snippet snapshot as a candidate. + + ' + operationId: post-snippet-snapshots:load + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_load_snippet_payload' + description: The `Snippet Snapshots To Load` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_load_snippet_response' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Load Snippet Snapshots + tags: + - Snippet Snapshots + /snippet-snapshots:publish: + post: + description: 'Publish Snippet Snapshots. + + ' + operationId: post-snippet-snapshots:publish + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_publish_request' + description: The `Snippet Snapshots To Publish` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_publish_response' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Publish Snippet Snapshots + tags: + - Snippet Snapshots + /snippet-snapshots:updates: + post: + description: 'Update Snippet Snapshots. + + ' + operationId: post-snippet-snapshots:updates + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_subscriber_compare_payload' + description: The `Snippet Snapshots To Update` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_subscriber_compare_response' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update Snippet Snapshots + tags: + - Snippet Snapshots + /snippets: + get: + description: 'Retrieve a list of snippets. + + ' + operationId: get-snippets + parameters: + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' + responses: + '200': + content: + application/json: + schema: + properties: + data: + allOf: + - items: + $ref: '#/components/schemas/snippets' + type: array + limit: + default: 200 + type: number + offset: + default: 0 + type: number + total: + type: number + type: object + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Snippet list + tags: + - Snippets + post: + description: 'Create a snippet. + + ' + operationId: post-snippets + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippets' + description: The `snippet` resource definition. + responses: + '201': + $ref: '#/components/responses/http_created' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: New snippet + tags: + - Snippets + /snippets/{id}: + delete: + description: 'Delete an existing snippet. + + ' + operationId: delete-snippets-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippets' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete a snippet + tags: + - Snippets + get: + description: 'Retrieve an existing snippet. + + ' + operationId: get-snippets-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippets' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get a snippet + tags: + - Snippets + put: + description: 'Update a snippet. + + ' + operationId: put-snippets-id + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippets' + description: The `snippet` resource definition. + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update snippet + tags: + - Snippets + /subscribed-tenants: + delete: + description: 'Delete an existing subscribed tenant. + + ' + operationId: delete-subscribed-tenants + parameters: + - $ref: '#/components/parameters/snippet-id' + - $ref: '#/components/parameters/recipient-tsgs' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/deleted_subscriber' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete a subscribed tenant + tags: + - Subscribed Tenants + post: + description: 'Create Subscribed Tenant. + + ' + operationId: post-subscribed-tenants + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/add_subscriber_request_payload' + description: The `Subscribed Tenant` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/tenant_trust_info' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Create Subscribed Tenant + tags: + - Subscribed Tenants + put: + description: 'Update an existing subscribed tenant. + + ' + operationId: put-subscribed-tenants + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/subscriber_property_payload' + description: The `subscribed tenant` resource definition. + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/subscriber_property_payload' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update a subscribed tenant + tags: + - Subscribed Tenants + /subscribed-tenants/{id}: + get: + description: 'Retrieve a list of subscribed tenants. + + ' + operationId: get-subscribed-tenants-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/snippet_share_info' + type: array + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get Subscribed Tenants + tags: + - Subscribed Tenants + /trust-validations: + post: + description: "Validate trust. \n" + operationId: post-trust-validations + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/trusts_validation_payload' + description: The `trust validation` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/trust_validation_info' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Validates Trust + tags: + - Trust Validations + /trusted-tenant-overview: + get: + description: "Overview of publishers and subscribers. \n" + operationId: get-trusted-tenant-overview + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/trusted_tenant_overview' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Trusted Tenants Overview + tags: + - Trusted Tenants Overview + /trusted-tenants: + get: + description: 'Retrieve a list of trusted tenants with snippets. + + ' + operationId: get-trusted-tenants + parameters: + - $ref: '#/components/parameters/trusted-tenant-type' + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/trust_info_with_shared_snippets' + type: array + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Trusted Tenants With Snippets + tags: + - Trust Information + /trusts: + delete: + description: 'Delete an existing Trust. + + ' + operationId: delete-trusts + parameters: + - $ref: '#/components/parameters/trust-ids' + - $ref: '#/components/parameters/trusted-tenant-type' + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/tenant_trust_info' + type: array + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete a Trust + tags: + - Trusts + post: + description: 'Create a new trust. + + ' + operationId: post-trusts + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/trusts' + description: The `trusts` resource definition + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/tenant_trust_info' + description: CREATED + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Create a trust + tags: + - Trusts + /variables: + get: + description: 'Retrieve a list of variables. + + ' + operationId: get-variables + parameters: + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + content: + application/json: + schema: + properties: + data: + allOf: + - items: + $ref: '#/components/schemas/variables' + type: array + limit: + default: 200 + type: number + offset: + default: 0 + type: number + total: + type: number + type: object + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: List variables + tags: + - Variables + post: + description: "Create a variable. \n" + operationId: post-variables + parameters: + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/variables' + description: The `variable` resource definition. + responses: + '201': + $ref: '#/components/responses/http_created' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Create variables + tags: + - Variables + /variables/{id}: + delete: + description: 'Delete a variable. + + ' + operationId: delete-variables-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/variables' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete variable + tags: + - Variables + get: + description: 'Retrieve an existing variable. + + ' + operationId: get-variables-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/variables' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get a variables + tags: + - Variables + put: + description: 'Update a variable. + + ' + operationId: put-variables-id + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/variables' + description: The `variable` resource definition. + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update variable + tags: + - Variables +servers: +- url: https://api.strata.paloaltonetworks.com/config/setup/v1 +tags: +- description: 'Configuration Labels + + ' + name: Labels API +- description: 'Variables + + ' + name: Variables API +- description: 'Configuration Snippets + + ' + name: Snippets API +- description: 'Configuration folders + + ' + name: Folders API +- description: 'NGFW Devices + + ' + name: Devices API +- description: 'Trusted Tenants Overview + + ' + name: Trusted Tenants Overview API +- description: 'Trust Information + + ' + name: Trust Information API +- description: 'Trusts + + ' + name: Trusts API +- description: 'Trust Validations + + ' + name: Trust Validations API +- description: 'Subscribed Tenants + + ' + name: Subscribed Tenants API +- description: 'Snippet Snapshots + + ' + name: Snippet Snapshots API +- description: 'Snippet Audit Logs + + ' + name: Snippet Audit Logs API diff --git a/openapi-specs/scm/config/ngfw/setup/config-setup.yaml b/openapi-specs/scm/config/ngfw/setup/config-setup.yaml deleted file mode 100644 index 706c0b675..000000000 --- a/openapi-specs/scm/config/ngfw/setup/config-setup.yaml +++ /dev/null @@ -1,1489 +0,0 @@ -openapi: 3.0.0 -info: - version: 2.0.0 - title: Configuration Setup - description: These APIs are used to define how Strata Cloud Manager configurations are implemented. - termsOfService: 'https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/legal/palo-alto-networks-end-user-license-agreement-eula.pdf' - contact: - email: support@paloaltonetworks.com - name: Palo Alto Networks Technical Support - url: 'https://support.paloaltonetworks.com' - license: - name: MIT - url: https://opensource.org/license/mit -servers: - - url: 'https://api.strata.paloaltonetworks.com/config/setup/v1' - description: Current -tags: - - name: Devices - description: NGFW devices - - name: Folders - description: Configuration folders - - name: Labels - description: Configuration labels - - name: Snippets - description: Configuration snippets - - name: Variables - description: Configuration variables -paths: - /labels: - get: - summary: List labels - description: | - Retrieve a list of labels. - tags: - - Labels - operationId: ListLabels - parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' - responses: - '200': - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/labels' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - post: - summary: Create a label - description: | - Create a new label. - tags: - - Labels - operationId: CreateLabel - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/labels' - description: The `label` resource definition. - responses: - '201': - $ref: '#/components/responses/http_created' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /labels/{id}: - get: - summary: Get a label - description: | - Retrieve an existing label. - tags: - - Labels - operationId: GetLabelByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/labels' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - put: - summary: Update a label - description: | - Update an existing label. - tags: - - Labels - operationId: UpdateLabelByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/labels' - description: The `label` resource definition. - responses: - '200': - $ref: '#/components/responses/http_ok' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - delete: - summary: Delete a label - description: | - Delete an existing label. - tags: - - Labels - operationId: DeleteLabelByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/labels' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /variables: - get: - summary: List variables - description: | - Retrieve a list of variables. - tags: - - Variables - operationId: ListVariables - parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' - - $ref: '#/components/parameters/folder' - - $ref: '#/components/parameters/snippet' - - $ref: '#/components/parameters/device' - responses: - '200': - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/variables' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - post: - summary: Create a variable - description: | - Create a new variable. - tags: - - Variables - operationId: CreateVariable - parameters: - - $ref: '#/components/parameters/folder' - - $ref: '#/components/parameters/snippet' - - $ref: '#/components/parameters/device' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/variables' - description: The `variable` resource definition. - responses: - '201': - $ref: '#/components/responses/http_created' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /variables/{id}: - get: - summary: Get a variables - description: | - Retrieve an existing variable. - tags: - - Variables - operationId: GetVariableByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/variables' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - put: - summary: Update a variable - description: | - Update an existing variable. - tags: - - Variables - operationId: UpdateVariableByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/variables' - description: The `variable` resource definition. - responses: - '200': - $ref: '#/components/responses/http_ok' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - delete: - summary: Delete a variable - description: | - Delete an existing variable. - tags: - - Variables - operationId: DeleteVariableByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/variables' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /snippets: - get: - summary: List snippets - description: | - Retrieve a list of snippets. - tags: - - Snippets - operationId: ListSnippets - parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' - responses: - '200': - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/snippets' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - post: - summary: Create a snippet - description: | - Create a new snippet. - tags: - - Snippets - operationId: CreateSnippet - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/snippets' - description: The `snippet` resource definition. - responses: - '201': - $ref: '#/components/responses/http_created' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /snippets/{id}: - get: - summary: Get a snippet - description: | - Retrieve an existing snippet. - tags: - - Snippets - parameters: - - $ref: '#/components/parameters/uuid' - operationId: GetSnippetByID - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/snippets' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - put: - summary: Update a snippet - description: | - Update an existing snippet. - tags: - - Snippets - operationId: UpdateSnippetByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/snippets' - description: The `snippet` resource definition. - responses: - '200': - $ref: '#/components/responses/http_ok' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - delete: - summary: Delete a snippet - description: | - Delete an existing snippet. - tags: - - Snippets - operationId: DeleteSnippetByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/snippets' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /folders: - get: - summary: List folders - description: | - Retrieve a list of folders. - tags: - - Folders - operationId: ListFolders - parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' - responses: - '200': - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/folders' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - post: - summary: Create a folder - description: | - Create a new folder. - tags: - - Folders - operationId: CreateFolder - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/folders' - description: The `folder` resource definition - responses: - '201': - $ref: '#/components/responses/http_created' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /folders/{id}: - get: - summary: Get a folder - description: | - Retrieve an existing folder. - tags: - - Folders - operationId: GetFolderByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/folders' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - put: - summary: Update a folder - description: | - Update an existing folder. - tags: - - Folders - operationId: UpdateFolderByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/folders' - description: The `folder` resource definition. - responses: - '200': - $ref: '#/components/responses/http_ok' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - delete: - summary: Delete a folder - description: | - Delete an existing folder. - tags: - - Folders - operationId: DeleteFolderByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/folders' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /devices: - get: - summary: List devices - description: | - Retrieve a list of devices. - tags: - - Devices - operationId: ListDevices - parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' - responses: - '200': - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/devices' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - /devices/{id}: - get: - summary: Get a device - description: | - Retrieve an existing device. - tags: - - Devices - operationId: GetDeviceByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/devices' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - put: - summary: Update a device - description: | - Update an existing device. - tags: - - Devices - operationId: UpdateDeviceByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/devices' - description: The `device` resource definition. - responses: - '200': - $ref: '#/components/responses/http_ok' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' -components: - securitySchemes: - scmOAuth: - type: oauth2 - description: | - Strata Cloud Manager APIs authenticate client requests using the - OAuth 2.0 Client Credentials flow. Please use the `client_id`, - `client_secret` values associated with an IAM service account along - with a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the - Tenant Service Group (TSG) ID. The resulting JWT access token should - be attached to all API calls as a `Bearer` token in the `Authorization` - header (ex. `Authorization: Bearer tokenstring`). - flows: - clientCredentials: - tokenUrl: https://auth.apps.paloaltonetworks.com/oauth2/access_token - scopes: {} - scmToken: - type: http - description: | - Strata Cloud Manager APIs authenticate client requests using the - OAuth 2.0 Client Credentials flow. Please use the `client_id`, - `client_secret` values associated with an IAM service account along - with a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the - Tenant Service Group (TSG) ID. The resulting JWT access token should - be attached to all API calls as a `Bearer` token in the `Authorization` - header (ex. `Authorization: Bearer tokenstring`). - scheme: bearer - bearerFormat: JWT - parameters: - uuid: - name: id - in: path - required: true - schema: - type: string - description: The UUID of the resource - name-optional: - name: name - in: query - required: false - schema: - type: string - description: The name of the resource - limit-optional: - name: limit - in: query - required: false - schema: - type: number - description: The maximum number of resources to return - offset-optional: - name: offset - in: query - required: false - schema: - type: number - description: The offset into the list of resources returned - folder: - name: folder - in: query - required: false - schema: - type: string - description: | - The folder in which the resource is defined - snippet: - name: snippet - in: query - required: false - schema: - type: string - description: | - The snippet in which the resource is defined - device: - name: device - in: query - required: false - schema: - type: string - description: | - The device in which the resource is defined - responses: - http_ok: - description: OK - http_created: - description: Created - auth_errors: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - auth_not_authenticated: - $ref: '#/components/examples/json_401_panui_auth_not_authenticated' - invalid_credential: - $ref: '#/components/examples/json_401_panui_auth_invalid_credential' - key_too_long: - $ref: '#/components/examples/json_401_panui_auth_key_too_long' - key_expired: - $ref: '#/components/examples/json_401_panui_auth_key_expired' - need_password_change: - $ref: '#/components/examples/json_401_panui_auth_need_password_change' - access_errors: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - auth_unauthorized: - $ref: '#/components/examples/json_403_panui_auth_unauthorized' - bad_request_errors_basic: - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - input_format_mismatch: - $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' - output_format_mismatch: - $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' - missing_query_parameter: - $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' - invalid_query_parameter: - $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' - bad_request_errors_basic_with_body: - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - input_format_mismatch: - $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' - output_format_mismatch: - $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' - missing_query_parameter: - $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' - invalid_query_parameter: - $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' - missing_body: - $ref: '#/components/examples/json_400_panui_restapi_missing_body' - invalid_object: - $ref: '#/components/examples/json_400_panui_mgmt_invalid_object' - not_found: - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - object_not_present: - $ref: '#/components/examples/json_404_panui_mgmt_object_not_present' - conflict_errors: - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - object_not_unique: - $ref: '#/components/examples/json_409_panui_mgmt_object_not_unique' - name_not_unique: - $ref: '#/components/examples/json_409_panui_mgmt_name_not_unique' - reference_not_zero: - $ref: '#/components/examples/json_409_panui_mgmt_reference_not_zero' - default_errors: - description: General Errors - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - version_not_supported: - $ref: '#/components/examples/json_501_panui_restapi_version_not_supported' - method_not_allowed: - $ref: '#/components/examples/json_501_panui_restapi_method_not_supported' - action_not_supported: - $ref: '#/components/examples/json_405_panui_restapi_action_not_supported' - bad_xpath: - $ref: '#/components/examples/json_400_panui_mgmt_bad_xpath' - invalid_command: - $ref: '#/components/examples/json_400_panui_mgmt_invalid_command' - malformed_command: - $ref: '#/components/examples/json_400_panui_mgmt_malformed_command' - session_timeout: - $ref: '#/components/examples/json_504_panui_mgmt_session_timeout' - examples: - json_401_panui_auth_not_authenticated: - summary: Not Authenticated - value: - _errors: - - code: "E016" - message: Not Authenticated - details: {} - _request_id: "abcd-1234" - json_401_panui_auth_invalid_credential: - summary: Invalid Credential - value: - _errors: - - code: "E016" - message: Invalid Credential - details: {} - _request_id: "abcd-1234" - json_401_panui_auth_key_too_long: - summary: Key Too Long - value: - _errors: - - code: "E016" - message: Key Too Long - details: {} - _request_id: "abcd-1234" - json_401_panui_auth_key_expired: - summary: Key Expired - value: - _errors: - - code: "E016" - message: Key Expired - details: {} - _request_id: "abcd-1234" - json_401_panui_auth_need_password_change: - summary: Need Password Change - value: - _errors: - - code: "E016" - message: The password needs to be changed. - details: {} - _request_id: "abcd-1234" - json_403_panui_auth_unauthorized: - summary: Unauthorized - value: - _errors: - - code: "E007" - message: Unauthorized - details: {} - _request_id: "abcd-1234" - json_501_panui_restapi_version_not_supported: - summary: Version Not Supported - value: - _errors: - - code: "E012" - message: Version Not Supported - details: {} - _request_id: "abcd-1234" - json_501_panui_restapi_method_not_supported: - summary: Method Not Supported - value: - _errors: - - code: "E012" - message: Method Not Supported - details: {} - _request_id: "abcd-1234" - json_400_panui_restapi_input_format_mismatch: - summary: Input Format Mismatch - value: - _errors: - - code: "E003" - message: 'Input Format Mismatch: input-format=json' - details: {} - _request_id: "abcd-1234" - json_400_panui_restapi_output_format_mismatch: - summary: Output Format Mismatch - value: - _errors: - - code: "E003" - message: 'Output Format Mismatch: output-format=json Accept=xml' - details: {} - _request_id: "abcd-1234" - json_400_panui_restapi_missing_query_parameter: - summary: Missing Query Parameter - value: - _errors: - - code: "E003" - message: 'Missing Query Parameter: name' - details: {} - _request_id: "abcd-1234" - json_400_panui_restapi_invalid_query_parameter: - summary: Invalid Query Parameter - value: - _errors: - - code: "E003" - message: 'Invalid Query Parameter: location=invalid' - details: {} - _request_id: "abcd-1234" - json_400_panui_restapi_missing_body: - summary: Missing Body - value: - _errors: - - code: "E003" - message: Missing Body - details: {} - _request_id: "abcd-1234" - json_405_panui_restapi_action_not_supported: - summary: Action Not Supported - value: - _errors: - - code: "E012" - message: 'Action Not Supported: move' - details: {} - _request_id: "abcd-1234" - json_400_panui_mgmt_bad_xpath: - summary: Bad XPath - value: - _errors: - - code: "E013" - message: Bad XPath - details: {} - _request_id: "abcd-1234" - json_404_panui_mgmt_object_not_present: - summary: Object Not Present - value: - _errors: - - code: "E005" - message: Object Not Present - details: {} - _request_id: "abcd-1234" - json_409_panui_mgmt_object_not_unique: - summary: Object Not Unique - value: - _errors: - - code: "E016" - message: Object Not Unique - details: {} - _request_id: "abcd-1234" - json_409_panui_mgmt_name_not_unique: - summary: Name Not Unique - value: - _errors: - - code: "E006" - message: Name Not Unique - details: {} - _request_id: "abcd-1234" - json_409_panui_mgmt_reference_not_zero: - summary: Reference Not Zero - value: - _errors: - - code: "E009" - message: Reference Not Zero - details: {} - _request_id: "abcd-1234" - json_400_panui_mgmt_invalid_object: - summary: Invalid Object - value: - _errors: - - code: "E003" - message: Invalid Object - details: {} - _request_id: "abcd-1234" - json_400_panui_mgmt_invalid_command: - summary: Invalid Command - value: - _errors: - - code: "E003" - message: Invalid Command - details: {} - _request_id: "abcd-1234" - json_400_panui_mgmt_malformed_command: - summary: Malformed Command - value: - _errors: - - code: "E003" - message: Malformed Command - details: {} - _request_id: "abcd-1234" - json_504_panui_mgmt_session_timeout: - summary: Session Timeout - value: - _errors: - - code: '4' - message: Session Timeout - details: {} - _request_id: "abcd-1234" - schemas: - generic_error: - type: object - properties: - _errors: - $ref: '#/components/schemas/error_detail_cause_infos' - _request_id: - type: string - error_detail_cause_infos: - type: array - items: - $ref: '#/components/schemas/error_detail_cause_info' - error_detail_cause_info: - title: Cause Info - type: object - properties: - 'code': - type: string - message: - type: string - details: - type: object - help: - type: string - variables: - type: object - required: - - 'name' - - 'id' - - 'type' - - 'value' - properties: - id: - type: string - description: UUID of the variable - readOnly: true - example: 123e4567-e89b-12d3-a456-426655440000 - name: - type: string - description: The name of the variable - maxLength: 63 - type: - type: string - enum: - - percent - - count - - ip-netmask - - zone - - ip-range - - ip-wildcard - - device-priority - - device-id - - egress-max - - as-number - - fqdn - - port - - link-tag - - group-id - - rate - - router-id - - qos-profile - - timer - description: The variable type - value: - type: string - additionalProperties: - oneOf: - - type: string - - type: integer - description: The value of the variable - default: None - overridden: - type: boolean - readOnly: true - description: Is the variable overridden? - description: - type: string - description: The description of the variable - oneOf: - - type: object - title: folder - properties: - folder: - type: string - pattern: ^[a-zA-Z\d-_\. ]+$ - maxLength: 64 - description: The folder in which the resource is defined - example: My Folder - required: - - folder - - type: object - title: snippet - properties: - snippet: - type: string - pattern: ^[a-zA-Z\d-_\. ]+$ - maxLength: 64 - description: The snippet in which the resource is defined - example: My Snippet - required: - - snippet - - type: object - title: device - properties: - device: - type: string - pattern: ^[a-zA-Z\d-_\. ]+$ - maxLength: 64 - description: The device in which the resource is defined - example: My Device - required: - - device - folders: - type: object - required: - - "name" - - "id" - - "parent" - properties: - "name": - type: string - description: The name of the folder - "id": - type: string - readOnly: true - description: The UUID of the folder - "parent": - type: string - description: The parent folder - "description": - type: string - description: The description of the folder - "labels": - type: array - items: - type: string - description: Labels assigned to the folder - "snippets": - type: array - items: - type: string - description: Snippets associated with the folder - snippets: - type: object - required: - - "name" - - "id" - properties: - "name": - type: string - description: The name of the snippet - "description": - type: string - description: The description of the snippet - "id": - type: string - description: The UUID of the snippet - readOnly: true - "type": - type: string - readOnly: true - enum: - - predefined - - custom - description: The snippet type - "labels": - type: array - items: - type: string - description: Labels applied to the snippet - labels: - type: object - required: - - "name" - - "id" - properties: - "name": - type: string - description: The name of the label - "id": - type: string - readOnly: true - description: The UUID of the label - "description": - type: string - description: The description of the label - devices: - type: object - required: - - name - - id - - folder - properties: - "id": - type: string - readOnly: true - description: The UUID of the device - "name": - type: string - description: The name of the device - "folder": - type: string - description: The folder containing the device - "description": - type: string - description: The description of the device - "hostname": - type: string - readOnly: true - description: The hostname of the device - "ip_address": - type: string - readOnly: true - description: The IPv4 address of the device - "ipV6_address": - type: string - readOnly: true - description: The IPv6 address of the device - "mac_address": - type: string - readOnly: true - description: The MAC address of the device - "family": - type: string - readOnly: true - description: The product family of the device - "model": - type: string - readOnly: true - description: The model of the device - "labels": - type: array - items: - type: string - description: Labels assigned to the device - "snippets": - type: array - items: - type: string - description: Snippets associated with the device - "app_version": - type: string - readOnly: true - "threat_version": - type: string - readOnly: true - "anti_virus_version": - type: string - readOnly: true - "wf_ver": - type: string - readOnly: true - "iot_version": - type: string - readOnly: true - "url_db_type": - type: string - readOnly: true - "url_db_ver": - type: string - readOnly: true - "software_version": - type: string - readOnly: true - "vm_state": - type: string - readOnly: true - "gp_client_verion": - type: string - readOnly: true - "gp_data_version": - type: string - readOnly: true - "log_db_version": - type: string - readOnly: true - "uptime": - type: string - readOnly: true - "dev_cert_detail": - type: string - readOnly: true - "dev_cert_expiry_date": - type: string - readOnly: true - "ha_state": - type: string - readOnly: true - "ha_peer_serial": - type: string - readOnly: true - "ha_peer_state": - type: string - readOnly: true - "is_connected": - type: boolean - readOnly: true - "connected_since": - type: string - format: date-time - readOnly: true - "app_release_date": - type: string - readOnly: true - "threat_release_date": - type: string - readOnly: true - "av_release_date": - type: string - readOnly: true - "wf_release_date": - type: string - readOnly: true - "iot_release_date": - type: string - readOnly: true - "license_match": - type: boolean - readOnly: true - "available_licensess": - type: array - items: - type: object - properties: - "issued": - type: string - format: date - readOnly: true - "expires": - type: string - format: date - readOnly: true - "feature": - type: string - readOnly: true - "authcode": - type: string - readOnly: true - readOnly: true - "installed_licenses": - type: array - items: - type: object - properties: - "issued": - type: string - format: date - readOnly: true - "expired": - type: string - readOnly: true - "expires": - type: string - readOnly: true - "feature": - type: string - readOnly: true - "authcode": - type: string - readOnly: true - readOnly: true -security: - - scmToken: [] -x-internal: false \ No newline at end of file diff --git a/openapi-specs/scm/config/ngfw/setup/paloaltonetworks-snippet-sharing.yaml b/openapi-specs/scm/config/ngfw/setup/paloaltonetworks-snippet-sharing.yaml new file mode 100644 index 000000000..561a1cadc --- /dev/null +++ b/openapi-specs/scm/config/ngfw/setup/paloaltonetworks-snippet-sharing.yaml @@ -0,0 +1,2740 @@ +components: + examples: + json_400_panui_mgmt_bad_xpath: + summary: Bad XPath + value: + _errors: + - code: E013 + details: {} + message: Bad XPath + _request_id: abcd-1234 + json_400_panui_mgmt_invalid_command: + summary: Invalid Command + value: + _errors: + - code: E003 + details: {} + message: Invalid Command + _request_id: abcd-1234 + json_400_panui_mgmt_invalid_object: + summary: Invalid Object + value: + _errors: + - code: E003 + details: {} + message: Invalid Object + _request_id: abcd-1234 + json_400_panui_mgmt_malformed_command: + summary: Malformed Command + value: + _errors: + - code: E003 + details: {} + message: Malformed Command + _request_id: abcd-1234 + json_400_panui_restapi_input_format_mismatch: + summary: Input Format Mismatch + value: + _errors: + - code: E003 + details: {} + message: 'Input Format Mismatch: input-format=json' + _request_id: abcd-1234 + json_400_panui_restapi_invalid_query_parameter: + summary: Invalid Query Parameter + value: + _errors: + - code: E003 + details: {} + message: 'Invalid Query Parameter: location=invalid' + _request_id: abcd-1234 + json_400_panui_restapi_missing_body: + summary: Missing Body + value: + _errors: + - code: E003 + details: {} + message: Missing Body + _request_id: abcd-1234 + json_400_panui_restapi_missing_query_parameter: + summary: Missing Query Parameter + value: + _errors: + - code: E003 + details: {} + message: 'Missing Query Parameter: name' + _request_id: abcd-1234 + json_400_panui_restapi_output_format_mismatch: + summary: Output Format Mismatch + value: + _errors: + - code: E003 + details: {} + message: 'Output Format Mismatch: output-format=json Accept=xml' + _request_id: abcd-1234 + json_401_panui_auth_invalid_credential: + summary: Invalid Credential + value: + _errors: + - code: E016 + details: {} + message: Invalid Credential + _request_id: abcd-1234 + json_401_panui_auth_key_expired: + summary: Key Expired + value: + _errors: + - code: E016 + details: {} + message: Key Expired + _request_id: abcd-1234 + json_401_panui_auth_key_too_long: + summary: Key Too Long + value: + _errors: + - code: E016 + details: {} + message: Key Too Long + _request_id: abcd-1234 + json_401_panui_auth_need_password_change: + summary: Need Password Change + value: + _errors: + - code: E016 + details: {} + message: The password needs to be changed. + _request_id: abcd-1234 + json_401_panui_auth_not_authenticated: + summary: Not Authenticated + value: + _errors: + - code: E016 + details: {} + message: Not Authenticated + _request_id: abcd-1234 + json_403_panui_auth_unauthorized: + summary: Unauthorized + value: + _errors: + - code: E007 + details: {} + message: Unauthorized + _request_id: abcd-1234 + json_404_panui_mgmt_object_not_present: + summary: Object Not Present + value: + _errors: + - code: E005 + details: {} + message: Object Not Present + _request_id: abcd-1234 + json_405_panui_restapi_action_not_supported: + summary: Action Not Supported + value: + _errors: + - code: E012 + details: {} + message: 'Action Not Supported: move' + _request_id: abcd-1234 + json_409_panui_mgmt_name_not_unique: + summary: Name Not Unique + value: + _errors: + - code: E006 + details: {} + message: Name Not Unique + _request_id: abcd-1234 + json_409_panui_mgmt_object_not_unique: + summary: Object Not Unique + value: + _errors: + - code: E016 + details: {} + message: Object Not Unique + _request_id: abcd-1234 + json_409_panui_mgmt_reference_not_zero: + summary: Reference Not Zero + value: + _errors: + - code: E009 + details: {} + message: Reference Not Zero + _request_id: abcd-1234 + json_501_panui_restapi_method_not_supported: + summary: Method Not Supported + value: + _errors: + - code: E012 + details: {} + message: Method Not Supported + _request_id: abcd-1234 + json_501_panui_restapi_version_not_supported: + summary: Version Not Supported + value: + _errors: + - code: E012 + details: {} + message: Version Not Supported + _request_id: abcd-1234 + json_504_panui_mgmt_session_timeout: + summary: Session Timeout + value: + _errors: + - code: '4' + details: {} + message: Session Timeout + _request_id: abcd-1234 + parameters: + device: + description: 'Specifies the device where the resource is located. + + ' + in: query + name: device + required: false + schema: + type: string + folder: + description: 'Specifies the folder where the resource is located. + + ' + in: query + name: folder + required: false + schema: + type: string + limit-optional: + description: The maximum number of resources to return. + in: query + name: limit + required: false + schema: + type: number + name-optional: + description: The resource name. + in: query + name: name + required: false + schema: + type: string + offset-optional: + description: Specifies the starting point in the list of returned resources. + in: query + name: offset + required: false + schema: + type: number + recipient-tsgs: + description: 'A list of recipient TSG IDs separated by commas. + + ' + in: query + name: tsgs + required: true + schema: + type: string + snippet: + description: 'Specifies the snippet where the resource is defined. + + ' + in: query + name: snippet + required: false + schema: + type: string + snippet-id: + description: 'The unique identifier of the snippet. + + ' + in: query + name: snippet_id + required: true + schema: + type: string + trust-ids: + description: 'A list of trust IDs separated by commas. + + ' + in: query + name: trust_ids + required: true + schema: + type: string + trusted-tenant-type: + description: 'Specifies the type of the tenant that is trusted, either ''subscriber'' + or ''publisher''. + + ' + in: query + name: type + required: true + schema: + enum: + - subscriber + - publisher + type: string + uuid: + description: The resource UUID. + in: path + name: ID + required: true + schema: + type: string + responses: + access_errors: + content: + application/json: + examples: + auth_unauthorized: + $ref: '#/components/examples/json_403_panui_auth_unauthorized' + schema: + $ref: '#/components/schemas/generic_error' + description: Forbidden + auth_errors: + content: + application/json: + examples: + auth_not_authenticated: + $ref: '#/components/examples/json_401_panui_auth_not_authenticated' + invalid_credential: + $ref: '#/components/examples/json_401_panui_auth_invalid_credential' + key_expired: + $ref: '#/components/examples/json_401_panui_auth_key_expired' + key_too_long: + $ref: '#/components/examples/json_401_panui_auth_key_too_long' + need_password_change: + $ref: '#/components/examples/json_401_panui_auth_need_password_change' + schema: + $ref: '#/components/schemas/generic_error' + description: Unauthorized + bad_request_errors_basic: + content: + application/json: + examples: + input_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' + invalid_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' + missing_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' + output_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' + schema: + $ref: '#/components/schemas/generic_error' + description: Bad Request + bad_request_errors_basic_with_body: + content: + application/json: + examples: + input_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' + invalid_object: + $ref: '#/components/examples/json_400_panui_mgmt_invalid_object' + invalid_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' + missing_body: + $ref: '#/components/examples/json_400_panui_restapi_missing_body' + missing_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' + output_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' + schema: + $ref: '#/components/schemas/generic_error' + description: Bad Request + conflict_errors: + content: + application/json: + examples: + name_not_unique: + $ref: '#/components/examples/json_409_panui_mgmt_name_not_unique' + object_not_unique: + $ref: '#/components/examples/json_409_panui_mgmt_object_not_unique' + reference_not_zero: + $ref: '#/components/examples/json_409_panui_mgmt_reference_not_zero' + schema: + $ref: '#/components/schemas/generic_error' + description: Conflict + default_errors: + content: + application/json: + examples: + action_not_supported: + $ref: '#/components/examples/json_405_panui_restapi_action_not_supported' + bad_xpath: + $ref: '#/components/examples/json_400_panui_mgmt_bad_xpath' + invalid_command: + $ref: '#/components/examples/json_400_panui_mgmt_invalid_command' + malformed_command: + $ref: '#/components/examples/json_400_panui_mgmt_malformed_command' + method_not_allowed: + $ref: '#/components/examples/json_501_panui_restapi_method_not_supported' + session_timeout: + $ref: '#/components/examples/json_504_panui_mgmt_session_timeout' + version_not_supported: + $ref: '#/components/examples/json_501_panui_restapi_version_not_supported' + schema: + $ref: '#/components/schemas/generic_error' + description: General Errors + http_created: + description: Created + http_ok: + description: OK + not_found: + content: + application/json: + examples: + object_not_present: + $ref: '#/components/examples/json_404_panui_mgmt_object_not_present' + schema: + $ref: '#/components/schemas/generic_error' + description: Not Found + schemas: + add_subscriber_request_payload: + items: + properties: + snippet_id: + type: string + snippet_name: + type: string + tsg_id: + type: string + required: + - tsg_id + - snippet_id + - snippet_name + type: object + type: array + compare_snippet_snapshot_config_payload: + properties: + comparing_version: + type: integer + id: + type: string + version: + type: integer + required: + - id + - version + - comparing_version + type: object + deleted_subscriber: + properties: + details: + type: string + info: + $ref: '#/components/schemas/snippet_share_info' + status: + type: string + type: object + devices: + properties: + anti_virus_version: + readOnly: true + type: string + app_release_date: + readOnly: true + type: string + app_version: + readOnly: true + type: string + av_release_date: + readOnly: true + type: string + available_licensess: + items: + properties: + authcode: + readOnly: true + type: string + expires: + format: date + readOnly: true + type: string + feature: + readOnly: true + type: string + issued: + format: date + readOnly: true + type: string + type: object + readOnly: true + type: array + connected_since: + format: date-time + readOnly: true + type: string + description: + description: The description of the device + type: string + dev_cert_detail: + readOnly: true + type: string + dev_cert_expiry_date: + readOnly: true + type: string + family: + description: The product family of the device + readOnly: true + type: string + folder: + description: The folder containing the device + type: string + gp_client_verion: + readOnly: true + type: string + gp_data_version: + readOnly: true + type: string + ha_peer_serial: + readOnly: true + type: string + ha_peer_state: + readOnly: true + type: string + ha_state: + readOnly: true + type: string + hostname: + description: The hostname of the device + readOnly: true + type: string + id: + description: The UUID of the device + readOnly: true + type: string + installed_licenses: + items: + properties: + authcode: + readOnly: true + type: string + expired: + readOnly: true + type: string + expires: + readOnly: true + type: string + feature: + readOnly: true + type: string + issued: + format: date + readOnly: true + type: string + type: object + readOnly: true + type: array + iot_release_date: + readOnly: true + type: string + iot_version: + readOnly: true + type: string + ipV6_address: + description: The IPv6 address of the device + readOnly: true + type: string + ip_address: + description: The IPv4 address of the device + readOnly: true + type: string + is_connected: + readOnly: true + type: boolean + labels: + description: Labels assigned to the device + items: + type: string + type: array + license_match: + readOnly: true + type: boolean + log_db_version: + readOnly: true + type: string + mac_address: + description: The MAC address of the device + readOnly: true + type: string + model: + description: The model of the device + readOnly: true + type: string + name: + description: The name of the device + type: string + snippets: + description: Snippets associated with the device + items: + type: string + type: array + software_version: + readOnly: true + type: string + threat_release_date: + readOnly: true + type: string + threat_version: + readOnly: true + type: string + uptime: + readOnly: true + type: string + url_db_type: + readOnly: true + type: string + url_db_ver: + readOnly: true + type: string + vm_state: + readOnly: true + type: string + wf_release_date: + readOnly: true + type: string + wf_ver: + readOnly: true + type: string + required: + - name + - id + - folder + type: object + dynamic_entry: + additionalProperties: true + readOnly: true + type: object + error_detail_cause_info: + properties: + code: + type: string + details: + type: object + help: + type: string + message: + type: string + title: Cause Info + type: object + error_detail_cause_infos: + items: + $ref: '#/components/schemas/error_detail_cause_info' + type: array + folders: + properties: + description: + description: The description of the folder + type: string + id: + description: The UUID of the folder + readOnly: true + type: string + labels: + description: Labels assigned to the folder + items: + type: string + type: array + name: + description: The name of the folder + type: string + parent: + description: The parent folder + type: string + snippets: + description: Snippets associated with the folder + items: + type: string + type: array + required: + - name + - id + - parent + type: object + generic_error: + properties: + _errors: + $ref: '#/components/schemas/error_detail_cause_infos' + _request_id: + type: string + type: object + labels: + properties: + description: + description: The description of the label + type: string + id: + description: The UUID of the label + readOnly: true + type: string + name: + description: The name of the label + type: string + required: + - name + - id + type: object + property_item: + properties: + id: + type: integer + name: + type: string + value: + type: string + type: object + save_snippet_snapshot_config_response: + properties: + result: + properties: + version: + type: string + readOnly: true + type: object + status: + readOnly: true + type: string + readOnly: true + type: object + save_snippet_snapshot_payload: + properties: + description: + type: string + id: + type: string + required: + - id + - description + type: object + snippet_audit_history: + properties: + action: + readOnly: true + type: string + created: + format: date-time + readOnly: true + type: string + deleted: + readOnly: true + type: integer + details: + readOnly: true + type: string + display: + readOnly: true + type: integer + donor_created: + readOnly: true + type: integer + donor_tenant_name: + readOnly: true + type: string + donor_tsg: + readOnly: true + type: string + id: + format: uint + readOnly: true + type: integer + recipient_tenant_name: + readOnly: true + type: string + recipient_tsg: + readOnly: true + type: string + snippet_uuid: + readOnly: true + type: string + user: + readOnly: true + type: string + version: + readOnly: true + type: string + type: object + snippet_share_info: + properties: + created: + format: date-time + readOnly: true + type: string + donor_created: + readOnly: true + type: integer + donor_snippet_file_id: + readOnly: true + type: integer + donor_snippet_version: + readOnly: true + type: integer + donor_tenant_id: + readOnly: true + type: string + donor_tenant_name: + readOnly: true + type: string + donor_tsg: + readOnly: true + type: string + error: + readOnly: true + type: string + id: + format: uint + readOnly: true + type: integer + last_updated: + format: date-time + readOnly: true + type: string + msg_uuid: + readOnly: true + type: string + properties: + items: + $ref: '#/components/schemas/snippet_share_property' + type: array + recipient_paused_update: + readOnly: true + type: boolean + recipient_snippet_file_id: + readOnly: true + type: integer + recipient_snippet_version: + readOnly: true + type: integer + recipient_tenant_id: + readOnly: true + type: string + recipient_tenant_name: + readOnly: true + type: string + recipient_tsg: + readOnly: true + type: string + recipient_validate_before_update: + readOnly: true + type: boolean + snippet_name: + readOnly: true + type: string + snippet_uuid: + readOnly: true + type: string + status: + readOnly: true + type: string + type: object + snippet_share_property: + properties: + created: + format: date-time + readOnly: true + type: string + created_by: + readOnly: true + type: string + donor_tenant: + readOnly: true + type: string + donor_tsg: + readOnly: true + type: string + error: + readOnly: true + type: string + id: + readOnly: true + type: integer + msg_uuid: + readOnly: true + type: string + property_name: + readOnly: true + type: string + property_value: + readOnly: true + type: string + recipient_tenant: + readOnly: true + type: string + recipient_tsg: + readOnly: true + type: string + snippet_name: + readOnly: true + type: string + snippet_uuid: + readOnly: true + type: string + status: + readOnly: true + type: string + updated: + format: date-time + readOnly: true + type: string + updated_by: + readOnly: true + type: string + type: object + snippet_snapshot_compare_entry: + properties: + admin: + format: email + readOnly: true + type: string + id: + readOnly: true + type: string + loc: + type: string + loctype: + type: string + objectname: + type: string + objecttype: + type: string + operations: + enum: + - edit + - create + type: string + timestamp: + format: date-time + type: string + readOnly: true + type: object + snippet_snapshot_compare_response: + items: + $ref: '#/components/schemas/snippet_snapshot_compare_entry' + readOnly: true + type: array + snippet_snapshot_load_snippet_payload: + properties: + id: + type: string + version: + type: string + required: + - id + - version + type: object + snippet_snapshot_load_snippet_response: + properties: + status: + type: string + readOnly: true + type: object + snippet_snapshot_publish_request: + properties: + id: + type: string + name: + type: string + tsgs: + items: + type: string + type: array + validation: + type: boolean + version: + type: integer + type: object + snippet_snapshot_publish_response: + properties: + file_id: + nullable: true + readOnly: true + type: integer + id: + readOnly: true + type: string + job_id: + readOnly: true + type: integer + tsgs: + items: + type: string + readOnly: true + type: array + version: + nullable: true + readOnly: true + type: integer + readOnly: true + type: object + snippet_snapshot_subscriber_compare_payload: + properties: + id: + type: string + tenant_id: + description: Publisher Tenant ID + type: string + required: + - id + - tenant_id + type: object + snippet_snapshot_subscriber_compare_response: + properties: + publisher: + properties: + entry: + items: + $ref: '#/components/schemas/dynamic_entry' + type: array + readOnly: true + type: object + subscriber: + properties: + entry: + items: + $ref: '#/components/schemas/dynamic_entry' + type: array + readOnly: true + type: object + type: object + snippets: + properties: + description: + description: The description of the snippet + type: string + id: + description: The UUID of the snippet + readOnly: true + type: string + labels: + description: Labels applied to the snippet + items: + type: string + type: array + name: + description: The name of the snippet + type: string + type: + description: The snippet type + enum: + - predefined + - custom + readOnly: true + type: string + required: + - name + - id + type: object + subscriber_property_payload: + properties: + property: + items: + $ref: '#/components/schemas/property_item' + type: array + snippet_id: + type: string + snippet_name: + type: string + tsg_id: + type: string + required: + - tsg_id + - snippet_id + - snippet_name + type: object + tenant_trust_info: + properties: + created: + format: date-time + readOnly: true + type: string + created_by: + readOnly: true + type: string + current_status: + readOnly: true + type: string + donor_cluster: + readOnly: true + type: string + donor_msg_uuid: + readOnly: true + type: string + donor_project: + readOnly: true + type: string + donor_region: + readOnly: true + type: string + donor_tenant_id: + type: string + donor_tenant_name: + type: string + donor_trust_info_id: + readOnly: true + type: integer + donor_tsg: + readOnly: true + type: string + error_details: + readOnly: true + type: string + last_updated: + format: date-time + readOnly: true + type: string + psk: + type: string + recipient_cluster: + readOnly: true + type: string + recipient_msg_uuid: + readOnly: true + type: string + recipient_project: + readOnly: true + type: string + recipient_region: + readOnly: true + type: string + recipient_tenant_id: + readOnly: true + type: string + recipient_tenant_name: + type: string + recipient_trust_info_id: + readOnly: true + type: integer + recipient_tsg: + readOnly: true + type: string + trust_id: + type: integer + updated_by: + readOnly: true + type: string + type: object + trust_info_with_shared_snippets: + properties: + created: + format: date-time + readOnly: true + type: string + donor_created: + readOnly: true + type: integer + donor_snippet_file_id: + readOnly: true + type: integer + donor_snippet_version: + readOnly: true + type: integer + donor_tsg: + readOnly: true + type: string + error: + readOnly: true + type: string + id: + readOnly: true + type: integer + last_updated: + format: date-time + readOnly: true + type: string + msg_uuid: + readOnly: true + type: string + recipient_paused_update: + readOnly: true + type: integer + recipient_snippet_file_id: + readOnly: true + type: integer + recipient_snippet_version: + readOnly: true + type: integer + recipient_tsg: + readOnly: true + type: string + recipient_validate_before_update: + readOnly: true + type: integer + shared_snippets: + items: + $ref: '#/components/schemas/snippet_share_info' + type: array + snippet_name: + readOnly: true + type: string + snippet_uuid: + readOnly: true + type: string + status: + readOnly: true + type: string + updated_by: + readOnly: true + type: string + type: object + trust_validation_info: + properties: + created: + format: date-time + readOnly: true + type: string + created_by: + readOnly: true + type: string + current_status: + readOnly: true + type: string + donor_cluster: + readOnly: true + type: string + donor_msg_uuid: + readOnly: true + type: string + donor_project: + readOnly: true + type: string + donor_region: + readOnly: true + type: string + donor_tenant_id: + type: string + donor_tenant_name: + type: string + donor_tsg: + readOnly: true + type: string + last_updated: + format: date-time + readOnly: true + type: string + psk: + type: string + recipient_cluster: + readOnly: true + type: string + recipient_msg_uuid: + readOnly: true + type: string + recipient_region: + readOnly: true + type: string + recipient_tenant_id: + readOnly: true + type: string + recipient_tenant_name: + type: string + recipient_tsg: + readOnly: true + type: string + trust_id: + type: integer + updated_by: + readOnly: true + type: string + type: object + trusted_tenant_overview: + properties: + publisher: + properties: + pending: + readOnly: true + type: integer + total: + readOnly: true + type: integer + type: object + subscriber: + properties: + pending: + readOnly: true + type: integer + total: + readOnly: true + type: integer + type: object + type: object + trusts: + properties: + donor_tenant_name: + type: string + psk: + type: string + recipient_tenant_name: + type: string + trust_id: + nullable: true + type: integer + tsg: + type: string + type: object + trusts_validation_payload: + properties: + donor_tenant_name: + type: string + psk: + type: string + recipient_tenant_name: + type: string + trust_id: + nullable: true + type: integer + tsg: + type: string + required: + - tsg + - donor_tenant_name + - recipient_tenant_name + - trust_id + - psk + type: object + variables: + oneOf: + - properties: + folder: + description: The folder in which the resource is defined + example: My Folder + maxLength: 64 + pattern: ^[a-zA-Z\d-_\. ]+$ + type: string + required: + - folder + title: folder + type: object + - properties: + snippet: + description: The snippet in which the resource is defined + example: My Snippet + maxLength: 64 + pattern: ^[a-zA-Z\d-_\. ]+$ + type: string + required: + - snippet + title: snippet + type: object + - properties: + device: + description: The device in which the resource is defined + example: My Device + maxLength: 64 + pattern: ^[a-zA-Z\d-_\. ]+$ + type: string + required: + - device + title: device + type: object + properties: + description: + description: The description of the variable + type: string + id: + description: UUID of the variable + example: 123e4567-e89b-12d3-a456-426655440000 + readOnly: true + type: string + name: + description: The name of the variable + maxLength: 63 + type: string + overridden: + description: Is the variable overridden? + readOnly: true + type: boolean + type: + description: The variable type + enum: + - percent + - count + - ip-netmask + - zone + - ip-range + - ip-wildcard + - device-priority + - device-id + - egress-max + - as-number + - fqdn + - port + - link-tag + - group-id + - rate + - router-id + - qos-profile + - timer + type: string + value: + additionalProperties: + oneOf: + - type: string + - type: integer + default: None + description: The value of the variable + type: string + required: + - name + - id + - type + - value + type: object + securitySchemes: + Bearer: + scheme: bearer + type: http +info: + contact: + email: support@paloaltonetworks.com + description: "Managing configurations across multiple tenants can be a challenging\ + \ and error-prone task. \nThe Snippet Sharing API simplifies this process by enabling\ + \ administrators to efficiently share and synchronize configuration snippets between\ + \ different tenants. \nThis API ensures consistency, reduces manual errors, and\ + \ provides a secure and reliable way to manage configurations.\n\nThese APIs use\ + \ the common Strata Cloud Manager authentication mechanism and base URL. See the\n\ + [Strata Cloud Manager Authentication Service](https://pan.dev/scm/api/auth/auth-api/)\ + \ guide for more information.\n\nThis Open API spec file was created on May 28,\ + \ 2025. To check for a more recent version of this file, see\n[Snippet Sharing\ + \ APIs on pan.dev](https://pan.dev/scm/api/config/snippet-sharing/).\n\n\xA9 2025\ + \ Palo Alto Networks, Inc. Palo Alto Networks is a registered trademark of Palo\n\ + Alto Networks. A list of our trademarks can be found at\n\n[https://www.paloaltonetworks.com/company/trademarks.html](https://www.paloaltonetworks.com/company/trademarks.html)\n\ + \nAll other marks mentioned herein may be trademarks of their respective companies.\n" + license: + name: MIT + url: https://opensource.org/license/mit + termsOfService: https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/legal/palo-alto-networks-end-user-license-agreement-eula.pdf + title: PaloAlto Networks Snippet Sharing APIs + version: '1.0' +openapi: 3.0.0 +paths: + /devices: + get: + description: 'Retrieve a list of devices. + + ' + operationId: get-devices + parameters: + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' + responses: + '200': + content: + application/json: + schema: + properties: + data: + allOf: + - items: + $ref: '#/components/schemas/devices' + type: array + limit: + default: 200 + type: number + offset: + default: 0 + type: number + total: + type: number + type: object + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: List devices + tags: + - Devices + /devices/{id}: + get: + description: 'Retrieve an existing device. + + ' + operationId: get-devices-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/devices' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get a device + tags: + - Devices + put: + description: 'Update an existing device. + + ' + operationId: put-devices-id + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/devices' + description: The `device` resource definition. + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update a device + tags: + - Devices + /folders: + get: + description: 'Retrieve a list of folders. + + ' + operationId: get-folders + parameters: + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' + responses: + '200': + content: + application/json: + schema: + properties: + data: + allOf: + - items: + $ref: '#/components/schemas/folders' + type: array + limit: + default: 200 + type: number + offset: + default: 0 + type: number + total: + type: number + type: object + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: List folders + tags: + - Folders + post: + description: 'Create a new folder. + + ' + operationId: post-folders + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/folders' + description: The `folder` resource definition + responses: + '201': + $ref: '#/components/responses/http_created' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Create a folder + tags: + - Folders + /folders/{id}: + delete: + description: 'Delete an existing folder. + + ' + operationId: delete-folders-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/folders' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete a folder + tags: + - Folders + get: + description: 'Retrieve an existing folder. + + ' + operationId: get-folders-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/folders' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get a folder + tags: + - Folders + put: + description: 'Update an existing folder. + + ' + operationId: put-folders-id + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/folders' + description: The `folder` resource definition. + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update a folder + tags: + - Folders + /labels: + get: + description: 'Retrieve a list of labels. + + ' + operationId: get-labels + parameters: + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' + responses: + '200': + content: + application/json: + schema: + properties: + data: + allOf: + - items: + $ref: '#/components/schemas/labels' + type: array + limit: + default: 200 + type: number + offset: + default: 0 + type: number + total: + type: number + type: object + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Label list + tags: + - Labels + post: + description: 'Create a label. + + ' + operationId: post-labels + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/labels' + description: The `label` resource definition. + responses: + '201': + $ref: '#/components/responses/http_created' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: New label + tags: + - Labels + /labels/{id}: + delete: + description: 'Delete an existing label. + + ' + operationId: delete-labels-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/labels' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete label + tags: + - Labels + get: + description: 'Retrieve an existing label. + + ' + operationId: get-labels-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/labels' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get label + tags: + - Labels + put: + description: 'Update an existing label. + + ' + operationId: put-labels-id + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/labels' + description: The `label` resource definition. + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update label + tags: + - Labels + /snippet-audit-logs/{id}: + get: + description: 'Retrieve an existing snippet audit logs by UUID. + + ' + operationId: get-snippet-audit-logs-id + parameters: + - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/trusted-tenant-type' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_audit_history' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get a snippet audit logs + tags: + - Snippet Audit Logs + /snippet-snapshots: + post: + description: "Save Snippet Snapshots. \n" + operationId: post-snippet-snapshots + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/save_snippet_snapshot_payload' + description: The `Save Snippet Snapshots` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/save_snippet_snapshot_config_response' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Save Snippet Snapshots + tags: + - Snippet Snapshots + /snippet-snapshots:compare: + post: + description: 'Compare Snippet Snapshots. + + ' + operationId: post-snippet-snapshots:compare + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/compare_snippet_snapshot_config_payload' + description: The `Snippet Snapshots To Compare` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_compare_response' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Compare Snippet Snapshots + tags: + - Snippet Snapshots + /snippet-snapshots:load: + post: + description: 'Load Snippet Snapshots. Discards current candidate and loads specific + version of the snippet snapshot as a candidate. + + ' + operationId: post-snippet-snapshots:load + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_load_snippet_payload' + description: The `Snippet Snapshots To Load` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_load_snippet_response' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Load Snippet Snapshots + tags: + - Snippet Snapshots + /snippet-snapshots:publish: + post: + description: 'Publish Snippet Snapshots. + + ' + operationId: post-snippet-snapshots:publish + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_publish_request' + description: The `Snippet Snapshots To Publish` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_publish_response' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Publish Snippet Snapshots + tags: + - Snippet Snapshots + /snippet-snapshots:updates: + post: + description: 'Update Snippet Snapshots. + + ' + operationId: post-snippet-snapshots:updates + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_subscriber_compare_payload' + description: The `Snippet Snapshots To Update` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_subscriber_compare_response' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update Snippet Snapshots + tags: + - Snippet Snapshots + /snippets: + get: + description: 'Retrieve a list of snippets. + + ' + operationId: get-snippets + parameters: + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' + responses: + '200': + content: + application/json: + schema: + properties: + data: + allOf: + - items: + $ref: '#/components/schemas/snippets' + type: array + limit: + default: 200 + type: number + offset: + default: 0 + type: number + total: + type: number + type: object + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Snippet list + tags: + - Snippets + post: + description: 'Create a snippet. + + ' + operationId: post-snippets + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippets' + description: The `snippet` resource definition. + responses: + '201': + $ref: '#/components/responses/http_created' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: New snippet + tags: + - Snippets + /snippets/{id}: + delete: + description: 'Delete an existing snippet. + + ' + operationId: delete-snippets-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippets' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete a snippet + tags: + - Snippets + get: + description: 'Retrieve an existing snippet. + + ' + operationId: get-snippets-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippets' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get a snippet + tags: + - Snippets + put: + description: 'Update a snippet. + + ' + operationId: put-snippets-id + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippets' + description: The `snippet` resource definition. + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update snippet + tags: + - Snippets + /subscribed-tenants: + delete: + description: 'Delete an existing subscribed tenant. + + ' + operationId: delete-subscribed-tenants + parameters: + - $ref: '#/components/parameters/snippet-id' + - $ref: '#/components/parameters/recipient-tsgs' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/deleted_subscriber' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete a subscribed tenant + tags: + - Subscribed Tenants + post: + description: 'Create Subscribed Tenant. + + ' + operationId: post-subscribed-tenants + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/add_subscriber_request_payload' + description: The `Subscribed Tenant` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/tenant_trust_info' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Create Subscribed Tenant + tags: + - Subscribed Tenants + put: + description: 'Update an existing subscribed tenant. + + ' + operationId: put-subscribed-tenants + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/subscriber_property_payload' + description: The `subscribed tenant` resource definition. + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/subscriber_property_payload' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update a subscribed tenant + tags: + - Subscribed Tenants + /subscribed-tenants/{id}: + get: + description: 'Retrieve a list of subscribed tenants. + + ' + operationId: get-subscribed-tenants-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/snippet_share_info' + type: array + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get Subscribed Tenants + tags: + - Subscribed Tenants + /trust-validations: + post: + description: "Validate trust. \n" + operationId: post-trust-validations + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/trusts_validation_payload' + description: The `trust validation` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/trust_validation_info' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Validates Trust + tags: + - Trust Validations + /trusted-tenant-overview: + get: + description: "Overview of publishers and subscribers. \n" + operationId: get-trusted-tenant-overview + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/trusted_tenant_overview' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Trusted Tenants Overview + tags: + - Trusted Tenants Overview + /trusted-tenants: + get: + description: 'Retrieve a list of trusted tenants with snippets. + + ' + operationId: get-trusted-tenants + parameters: + - $ref: '#/components/parameters/trusted-tenant-type' + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/trust_info_with_shared_snippets' + type: array + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Trusted Tenants With Snippets + tags: + - Trust Information + /trusts: + delete: + description: 'Delete an existing Trust. + + ' + operationId: delete-trusts + parameters: + - $ref: '#/components/parameters/trust-ids' + - $ref: '#/components/parameters/trusted-tenant-type' + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/tenant_trust_info' + type: array + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete a Trust + tags: + - Trusts + post: + description: 'Create a new trust. + + ' + operationId: post-trusts + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/trusts' + description: The `trusts` resource definition + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/tenant_trust_info' + description: CREATED + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Create a trust + tags: + - Trusts + /variables: + get: + description: 'Retrieve a list of variables. + + ' + operationId: get-variables + parameters: + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + content: + application/json: + schema: + properties: + data: + allOf: + - items: + $ref: '#/components/schemas/variables' + type: array + limit: + default: 200 + type: number + offset: + default: 0 + type: number + total: + type: number + type: object + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: List variables + tags: + - Variables + post: + description: "Create a variable. \n" + operationId: post-variables + parameters: + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/variables' + description: The `variable` resource definition. + responses: + '201': + $ref: '#/components/responses/http_created' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Create variables + tags: + - Variables + /variables/{id}: + delete: + description: 'Delete a variable. + + ' + operationId: delete-variables-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/variables' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete variable + tags: + - Variables + get: + description: 'Retrieve an existing variable. + + ' + operationId: get-variables-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/variables' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get a variables + tags: + - Variables + put: + description: 'Update a variable. + + ' + operationId: put-variables-id + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/variables' + description: The `variable` resource definition. + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update variable + tags: + - Variables +servers: +- url: https://api.strata.paloaltonetworks.com/config/setup/v1 +tags: +- description: 'Configuration Labels + + ' + name: Labels API +- description: 'Variables + + ' + name: Variables API +- description: 'Configuration Snippets + + ' + name: Snippets API +- description: 'Configuration folders + + ' + name: Folders API +- description: 'NGFW Devices + + ' + name: Devices API +- description: 'Trusted Tenants Overview + + ' + name: Trusted Tenants Overview API +- description: 'Trust Information + + ' + name: Trust Information API +- description: 'Trusts + + ' + name: Trusts API +- description: 'Trust Validations + + ' + name: Trust Validations API +- description: 'Subscribed Tenants + + ' + name: Subscribed Tenants API +- description: 'Snippet Snapshots + + ' + name: Snippet Snapshots API +- description: 'Snippet Audit Logs + + ' + name: Snippet Audit Logs API diff --git a/openapi-specs/scm/config/sase/setup/config-setup.yaml b/openapi-specs/scm/config/sase/setup/config-setup.yaml deleted file mode 100644 index 706c0b675..000000000 --- a/openapi-specs/scm/config/sase/setup/config-setup.yaml +++ /dev/null @@ -1,1489 +0,0 @@ -openapi: 3.0.0 -info: - version: 2.0.0 - title: Configuration Setup - description: These APIs are used to define how Strata Cloud Manager configurations are implemented. - termsOfService: 'https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/legal/palo-alto-networks-end-user-license-agreement-eula.pdf' - contact: - email: support@paloaltonetworks.com - name: Palo Alto Networks Technical Support - url: 'https://support.paloaltonetworks.com' - license: - name: MIT - url: https://opensource.org/license/mit -servers: - - url: 'https://api.strata.paloaltonetworks.com/config/setup/v1' - description: Current -tags: - - name: Devices - description: NGFW devices - - name: Folders - description: Configuration folders - - name: Labels - description: Configuration labels - - name: Snippets - description: Configuration snippets - - name: Variables - description: Configuration variables -paths: - /labels: - get: - summary: List labels - description: | - Retrieve a list of labels. - tags: - - Labels - operationId: ListLabels - parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' - responses: - '200': - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/labels' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - post: - summary: Create a label - description: | - Create a new label. - tags: - - Labels - operationId: CreateLabel - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/labels' - description: The `label` resource definition. - responses: - '201': - $ref: '#/components/responses/http_created' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /labels/{id}: - get: - summary: Get a label - description: | - Retrieve an existing label. - tags: - - Labels - operationId: GetLabelByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/labels' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - put: - summary: Update a label - description: | - Update an existing label. - tags: - - Labels - operationId: UpdateLabelByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/labels' - description: The `label` resource definition. - responses: - '200': - $ref: '#/components/responses/http_ok' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - delete: - summary: Delete a label - description: | - Delete an existing label. - tags: - - Labels - operationId: DeleteLabelByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/labels' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /variables: - get: - summary: List variables - description: | - Retrieve a list of variables. - tags: - - Variables - operationId: ListVariables - parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' - - $ref: '#/components/parameters/folder' - - $ref: '#/components/parameters/snippet' - - $ref: '#/components/parameters/device' - responses: - '200': - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/variables' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - post: - summary: Create a variable - description: | - Create a new variable. - tags: - - Variables - operationId: CreateVariable - parameters: - - $ref: '#/components/parameters/folder' - - $ref: '#/components/parameters/snippet' - - $ref: '#/components/parameters/device' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/variables' - description: The `variable` resource definition. - responses: - '201': - $ref: '#/components/responses/http_created' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /variables/{id}: - get: - summary: Get a variables - description: | - Retrieve an existing variable. - tags: - - Variables - operationId: GetVariableByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/variables' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - put: - summary: Update a variable - description: | - Update an existing variable. - tags: - - Variables - operationId: UpdateVariableByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/variables' - description: The `variable` resource definition. - responses: - '200': - $ref: '#/components/responses/http_ok' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - delete: - summary: Delete a variable - description: | - Delete an existing variable. - tags: - - Variables - operationId: DeleteVariableByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/variables' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /snippets: - get: - summary: List snippets - description: | - Retrieve a list of snippets. - tags: - - Snippets - operationId: ListSnippets - parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' - responses: - '200': - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/snippets' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - post: - summary: Create a snippet - description: | - Create a new snippet. - tags: - - Snippets - operationId: CreateSnippet - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/snippets' - description: The `snippet` resource definition. - responses: - '201': - $ref: '#/components/responses/http_created' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /snippets/{id}: - get: - summary: Get a snippet - description: | - Retrieve an existing snippet. - tags: - - Snippets - parameters: - - $ref: '#/components/parameters/uuid' - operationId: GetSnippetByID - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/snippets' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - put: - summary: Update a snippet - description: | - Update an existing snippet. - tags: - - Snippets - operationId: UpdateSnippetByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/snippets' - description: The `snippet` resource definition. - responses: - '200': - $ref: '#/components/responses/http_ok' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - delete: - summary: Delete a snippet - description: | - Delete an existing snippet. - tags: - - Snippets - operationId: DeleteSnippetByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/snippets' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /folders: - get: - summary: List folders - description: | - Retrieve a list of folders. - tags: - - Folders - operationId: ListFolders - parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' - responses: - '200': - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/folders' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - post: - summary: Create a folder - description: | - Create a new folder. - tags: - - Folders - operationId: CreateFolder - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/folders' - description: The `folder` resource definition - responses: - '201': - $ref: '#/components/responses/http_created' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /folders/{id}: - get: - summary: Get a folder - description: | - Retrieve an existing folder. - tags: - - Folders - operationId: GetFolderByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/folders' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - put: - summary: Update a folder - description: | - Update an existing folder. - tags: - - Folders - operationId: UpdateFolderByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/folders' - description: The `folder` resource definition. - responses: - '200': - $ref: '#/components/responses/http_ok' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - delete: - summary: Delete a folder - description: | - Delete an existing folder. - tags: - - Folders - operationId: DeleteFolderByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/folders' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' - /devices: - get: - summary: List devices - description: | - Retrieve a list of devices. - tags: - - Devices - operationId: ListDevices - parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' - responses: - '200': - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/devices' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - /devices/{id}: - get: - summary: Get a device - description: | - Retrieve an existing device. - tags: - - Devices - operationId: GetDeviceByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/devices' - description: OK - '400': - $ref: '#/components/responses/bad_request_errors_basic' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - default: - $ref: '#/components/responses/default_errors' - put: - summary: Update a device - description: | - Update an existing device. - tags: - - Devices - operationId: UpdateDeviceByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/devices' - description: The `device` resource definition. - responses: - '200': - $ref: '#/components/responses/http_ok' - '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' - '401': - $ref: '#/components/responses/auth_errors' - '403': - $ref: '#/components/responses/access_errors' - '404': - $ref: '#/components/responses/not_found' - '409': - $ref: '#/components/responses/conflict_errors' - default: - $ref: '#/components/responses/default_errors' -components: - securitySchemes: - scmOAuth: - type: oauth2 - description: | - Strata Cloud Manager APIs authenticate client requests using the - OAuth 2.0 Client Credentials flow. Please use the `client_id`, - `client_secret` values associated with an IAM service account along - with a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the - Tenant Service Group (TSG) ID. The resulting JWT access token should - be attached to all API calls as a `Bearer` token in the `Authorization` - header (ex. `Authorization: Bearer tokenstring`). - flows: - clientCredentials: - tokenUrl: https://auth.apps.paloaltonetworks.com/oauth2/access_token - scopes: {} - scmToken: - type: http - description: | - Strata Cloud Manager APIs authenticate client requests using the - OAuth 2.0 Client Credentials flow. Please use the `client_id`, - `client_secret` values associated with an IAM service account along - with a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the - Tenant Service Group (TSG) ID. The resulting JWT access token should - be attached to all API calls as a `Bearer` token in the `Authorization` - header (ex. `Authorization: Bearer tokenstring`). - scheme: bearer - bearerFormat: JWT - parameters: - uuid: - name: id - in: path - required: true - schema: - type: string - description: The UUID of the resource - name-optional: - name: name - in: query - required: false - schema: - type: string - description: The name of the resource - limit-optional: - name: limit - in: query - required: false - schema: - type: number - description: The maximum number of resources to return - offset-optional: - name: offset - in: query - required: false - schema: - type: number - description: The offset into the list of resources returned - folder: - name: folder - in: query - required: false - schema: - type: string - description: | - The folder in which the resource is defined - snippet: - name: snippet - in: query - required: false - schema: - type: string - description: | - The snippet in which the resource is defined - device: - name: device - in: query - required: false - schema: - type: string - description: | - The device in which the resource is defined - responses: - http_ok: - description: OK - http_created: - description: Created - auth_errors: - description: Unauthorized - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - auth_not_authenticated: - $ref: '#/components/examples/json_401_panui_auth_not_authenticated' - invalid_credential: - $ref: '#/components/examples/json_401_panui_auth_invalid_credential' - key_too_long: - $ref: '#/components/examples/json_401_panui_auth_key_too_long' - key_expired: - $ref: '#/components/examples/json_401_panui_auth_key_expired' - need_password_change: - $ref: '#/components/examples/json_401_panui_auth_need_password_change' - access_errors: - description: Forbidden - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - auth_unauthorized: - $ref: '#/components/examples/json_403_panui_auth_unauthorized' - bad_request_errors_basic: - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - input_format_mismatch: - $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' - output_format_mismatch: - $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' - missing_query_parameter: - $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' - invalid_query_parameter: - $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' - bad_request_errors_basic_with_body: - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - input_format_mismatch: - $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' - output_format_mismatch: - $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' - missing_query_parameter: - $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' - invalid_query_parameter: - $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' - missing_body: - $ref: '#/components/examples/json_400_panui_restapi_missing_body' - invalid_object: - $ref: '#/components/examples/json_400_panui_mgmt_invalid_object' - not_found: - description: Not Found - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - object_not_present: - $ref: '#/components/examples/json_404_panui_mgmt_object_not_present' - conflict_errors: - description: Conflict - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - object_not_unique: - $ref: '#/components/examples/json_409_panui_mgmt_object_not_unique' - name_not_unique: - $ref: '#/components/examples/json_409_panui_mgmt_name_not_unique' - reference_not_zero: - $ref: '#/components/examples/json_409_panui_mgmt_reference_not_zero' - default_errors: - description: General Errors - content: - application/json: - schema: - $ref: '#/components/schemas/generic_error' - examples: - version_not_supported: - $ref: '#/components/examples/json_501_panui_restapi_version_not_supported' - method_not_allowed: - $ref: '#/components/examples/json_501_panui_restapi_method_not_supported' - action_not_supported: - $ref: '#/components/examples/json_405_panui_restapi_action_not_supported' - bad_xpath: - $ref: '#/components/examples/json_400_panui_mgmt_bad_xpath' - invalid_command: - $ref: '#/components/examples/json_400_panui_mgmt_invalid_command' - malformed_command: - $ref: '#/components/examples/json_400_panui_mgmt_malformed_command' - session_timeout: - $ref: '#/components/examples/json_504_panui_mgmt_session_timeout' - examples: - json_401_panui_auth_not_authenticated: - summary: Not Authenticated - value: - _errors: - - code: "E016" - message: Not Authenticated - details: {} - _request_id: "abcd-1234" - json_401_panui_auth_invalid_credential: - summary: Invalid Credential - value: - _errors: - - code: "E016" - message: Invalid Credential - details: {} - _request_id: "abcd-1234" - json_401_panui_auth_key_too_long: - summary: Key Too Long - value: - _errors: - - code: "E016" - message: Key Too Long - details: {} - _request_id: "abcd-1234" - json_401_panui_auth_key_expired: - summary: Key Expired - value: - _errors: - - code: "E016" - message: Key Expired - details: {} - _request_id: "abcd-1234" - json_401_panui_auth_need_password_change: - summary: Need Password Change - value: - _errors: - - code: "E016" - message: The password needs to be changed. - details: {} - _request_id: "abcd-1234" - json_403_panui_auth_unauthorized: - summary: Unauthorized - value: - _errors: - - code: "E007" - message: Unauthorized - details: {} - _request_id: "abcd-1234" - json_501_panui_restapi_version_not_supported: - summary: Version Not Supported - value: - _errors: - - code: "E012" - message: Version Not Supported - details: {} - _request_id: "abcd-1234" - json_501_panui_restapi_method_not_supported: - summary: Method Not Supported - value: - _errors: - - code: "E012" - message: Method Not Supported - details: {} - _request_id: "abcd-1234" - json_400_panui_restapi_input_format_mismatch: - summary: Input Format Mismatch - value: - _errors: - - code: "E003" - message: 'Input Format Mismatch: input-format=json' - details: {} - _request_id: "abcd-1234" - json_400_panui_restapi_output_format_mismatch: - summary: Output Format Mismatch - value: - _errors: - - code: "E003" - message: 'Output Format Mismatch: output-format=json Accept=xml' - details: {} - _request_id: "abcd-1234" - json_400_panui_restapi_missing_query_parameter: - summary: Missing Query Parameter - value: - _errors: - - code: "E003" - message: 'Missing Query Parameter: name' - details: {} - _request_id: "abcd-1234" - json_400_panui_restapi_invalid_query_parameter: - summary: Invalid Query Parameter - value: - _errors: - - code: "E003" - message: 'Invalid Query Parameter: location=invalid' - details: {} - _request_id: "abcd-1234" - json_400_panui_restapi_missing_body: - summary: Missing Body - value: - _errors: - - code: "E003" - message: Missing Body - details: {} - _request_id: "abcd-1234" - json_405_panui_restapi_action_not_supported: - summary: Action Not Supported - value: - _errors: - - code: "E012" - message: 'Action Not Supported: move' - details: {} - _request_id: "abcd-1234" - json_400_panui_mgmt_bad_xpath: - summary: Bad XPath - value: - _errors: - - code: "E013" - message: Bad XPath - details: {} - _request_id: "abcd-1234" - json_404_panui_mgmt_object_not_present: - summary: Object Not Present - value: - _errors: - - code: "E005" - message: Object Not Present - details: {} - _request_id: "abcd-1234" - json_409_panui_mgmt_object_not_unique: - summary: Object Not Unique - value: - _errors: - - code: "E016" - message: Object Not Unique - details: {} - _request_id: "abcd-1234" - json_409_panui_mgmt_name_not_unique: - summary: Name Not Unique - value: - _errors: - - code: "E006" - message: Name Not Unique - details: {} - _request_id: "abcd-1234" - json_409_panui_mgmt_reference_not_zero: - summary: Reference Not Zero - value: - _errors: - - code: "E009" - message: Reference Not Zero - details: {} - _request_id: "abcd-1234" - json_400_panui_mgmt_invalid_object: - summary: Invalid Object - value: - _errors: - - code: "E003" - message: Invalid Object - details: {} - _request_id: "abcd-1234" - json_400_panui_mgmt_invalid_command: - summary: Invalid Command - value: - _errors: - - code: "E003" - message: Invalid Command - details: {} - _request_id: "abcd-1234" - json_400_panui_mgmt_malformed_command: - summary: Malformed Command - value: - _errors: - - code: "E003" - message: Malformed Command - details: {} - _request_id: "abcd-1234" - json_504_panui_mgmt_session_timeout: - summary: Session Timeout - value: - _errors: - - code: '4' - message: Session Timeout - details: {} - _request_id: "abcd-1234" - schemas: - generic_error: - type: object - properties: - _errors: - $ref: '#/components/schemas/error_detail_cause_infos' - _request_id: - type: string - error_detail_cause_infos: - type: array - items: - $ref: '#/components/schemas/error_detail_cause_info' - error_detail_cause_info: - title: Cause Info - type: object - properties: - 'code': - type: string - message: - type: string - details: - type: object - help: - type: string - variables: - type: object - required: - - 'name' - - 'id' - - 'type' - - 'value' - properties: - id: - type: string - description: UUID of the variable - readOnly: true - example: 123e4567-e89b-12d3-a456-426655440000 - name: - type: string - description: The name of the variable - maxLength: 63 - type: - type: string - enum: - - percent - - count - - ip-netmask - - zone - - ip-range - - ip-wildcard - - device-priority - - device-id - - egress-max - - as-number - - fqdn - - port - - link-tag - - group-id - - rate - - router-id - - qos-profile - - timer - description: The variable type - value: - type: string - additionalProperties: - oneOf: - - type: string - - type: integer - description: The value of the variable - default: None - overridden: - type: boolean - readOnly: true - description: Is the variable overridden? - description: - type: string - description: The description of the variable - oneOf: - - type: object - title: folder - properties: - folder: - type: string - pattern: ^[a-zA-Z\d-_\. ]+$ - maxLength: 64 - description: The folder in which the resource is defined - example: My Folder - required: - - folder - - type: object - title: snippet - properties: - snippet: - type: string - pattern: ^[a-zA-Z\d-_\. ]+$ - maxLength: 64 - description: The snippet in which the resource is defined - example: My Snippet - required: - - snippet - - type: object - title: device - properties: - device: - type: string - pattern: ^[a-zA-Z\d-_\. ]+$ - maxLength: 64 - description: The device in which the resource is defined - example: My Device - required: - - device - folders: - type: object - required: - - "name" - - "id" - - "parent" - properties: - "name": - type: string - description: The name of the folder - "id": - type: string - readOnly: true - description: The UUID of the folder - "parent": - type: string - description: The parent folder - "description": - type: string - description: The description of the folder - "labels": - type: array - items: - type: string - description: Labels assigned to the folder - "snippets": - type: array - items: - type: string - description: Snippets associated with the folder - snippets: - type: object - required: - - "name" - - "id" - properties: - "name": - type: string - description: The name of the snippet - "description": - type: string - description: The description of the snippet - "id": - type: string - description: The UUID of the snippet - readOnly: true - "type": - type: string - readOnly: true - enum: - - predefined - - custom - description: The snippet type - "labels": - type: array - items: - type: string - description: Labels applied to the snippet - labels: - type: object - required: - - "name" - - "id" - properties: - "name": - type: string - description: The name of the label - "id": - type: string - readOnly: true - description: The UUID of the label - "description": - type: string - description: The description of the label - devices: - type: object - required: - - name - - id - - folder - properties: - "id": - type: string - readOnly: true - description: The UUID of the device - "name": - type: string - description: The name of the device - "folder": - type: string - description: The folder containing the device - "description": - type: string - description: The description of the device - "hostname": - type: string - readOnly: true - description: The hostname of the device - "ip_address": - type: string - readOnly: true - description: The IPv4 address of the device - "ipV6_address": - type: string - readOnly: true - description: The IPv6 address of the device - "mac_address": - type: string - readOnly: true - description: The MAC address of the device - "family": - type: string - readOnly: true - description: The product family of the device - "model": - type: string - readOnly: true - description: The model of the device - "labels": - type: array - items: - type: string - description: Labels assigned to the device - "snippets": - type: array - items: - type: string - description: Snippets associated with the device - "app_version": - type: string - readOnly: true - "threat_version": - type: string - readOnly: true - "anti_virus_version": - type: string - readOnly: true - "wf_ver": - type: string - readOnly: true - "iot_version": - type: string - readOnly: true - "url_db_type": - type: string - readOnly: true - "url_db_ver": - type: string - readOnly: true - "software_version": - type: string - readOnly: true - "vm_state": - type: string - readOnly: true - "gp_client_verion": - type: string - readOnly: true - "gp_data_version": - type: string - readOnly: true - "log_db_version": - type: string - readOnly: true - "uptime": - type: string - readOnly: true - "dev_cert_detail": - type: string - readOnly: true - "dev_cert_expiry_date": - type: string - readOnly: true - "ha_state": - type: string - readOnly: true - "ha_peer_serial": - type: string - readOnly: true - "ha_peer_state": - type: string - readOnly: true - "is_connected": - type: boolean - readOnly: true - "connected_since": - type: string - format: date-time - readOnly: true - "app_release_date": - type: string - readOnly: true - "threat_release_date": - type: string - readOnly: true - "av_release_date": - type: string - readOnly: true - "wf_release_date": - type: string - readOnly: true - "iot_release_date": - type: string - readOnly: true - "license_match": - type: boolean - readOnly: true - "available_licensess": - type: array - items: - type: object - properties: - "issued": - type: string - format: date - readOnly: true - "expires": - type: string - format: date - readOnly: true - "feature": - type: string - readOnly: true - "authcode": - type: string - readOnly: true - readOnly: true - "installed_licenses": - type: array - items: - type: object - properties: - "issued": - type: string - format: date - readOnly: true - "expired": - type: string - readOnly: true - "expires": - type: string - readOnly: true - "feature": - type: string - readOnly: true - "authcode": - type: string - readOnly: true - readOnly: true -security: - - scmToken: [] -x-internal: false \ No newline at end of file diff --git a/openapi-specs/scm/config/sase/setup/paloaltonetworks-snippet-sharing.yaml b/openapi-specs/scm/config/sase/setup/paloaltonetworks-snippet-sharing.yaml new file mode 100644 index 000000000..561a1cadc --- /dev/null +++ b/openapi-specs/scm/config/sase/setup/paloaltonetworks-snippet-sharing.yaml @@ -0,0 +1,2740 @@ +components: + examples: + json_400_panui_mgmt_bad_xpath: + summary: Bad XPath + value: + _errors: + - code: E013 + details: {} + message: Bad XPath + _request_id: abcd-1234 + json_400_panui_mgmt_invalid_command: + summary: Invalid Command + value: + _errors: + - code: E003 + details: {} + message: Invalid Command + _request_id: abcd-1234 + json_400_panui_mgmt_invalid_object: + summary: Invalid Object + value: + _errors: + - code: E003 + details: {} + message: Invalid Object + _request_id: abcd-1234 + json_400_panui_mgmt_malformed_command: + summary: Malformed Command + value: + _errors: + - code: E003 + details: {} + message: Malformed Command + _request_id: abcd-1234 + json_400_panui_restapi_input_format_mismatch: + summary: Input Format Mismatch + value: + _errors: + - code: E003 + details: {} + message: 'Input Format Mismatch: input-format=json' + _request_id: abcd-1234 + json_400_panui_restapi_invalid_query_parameter: + summary: Invalid Query Parameter + value: + _errors: + - code: E003 + details: {} + message: 'Invalid Query Parameter: location=invalid' + _request_id: abcd-1234 + json_400_panui_restapi_missing_body: + summary: Missing Body + value: + _errors: + - code: E003 + details: {} + message: Missing Body + _request_id: abcd-1234 + json_400_panui_restapi_missing_query_parameter: + summary: Missing Query Parameter + value: + _errors: + - code: E003 + details: {} + message: 'Missing Query Parameter: name' + _request_id: abcd-1234 + json_400_panui_restapi_output_format_mismatch: + summary: Output Format Mismatch + value: + _errors: + - code: E003 + details: {} + message: 'Output Format Mismatch: output-format=json Accept=xml' + _request_id: abcd-1234 + json_401_panui_auth_invalid_credential: + summary: Invalid Credential + value: + _errors: + - code: E016 + details: {} + message: Invalid Credential + _request_id: abcd-1234 + json_401_panui_auth_key_expired: + summary: Key Expired + value: + _errors: + - code: E016 + details: {} + message: Key Expired + _request_id: abcd-1234 + json_401_panui_auth_key_too_long: + summary: Key Too Long + value: + _errors: + - code: E016 + details: {} + message: Key Too Long + _request_id: abcd-1234 + json_401_panui_auth_need_password_change: + summary: Need Password Change + value: + _errors: + - code: E016 + details: {} + message: The password needs to be changed. + _request_id: abcd-1234 + json_401_panui_auth_not_authenticated: + summary: Not Authenticated + value: + _errors: + - code: E016 + details: {} + message: Not Authenticated + _request_id: abcd-1234 + json_403_panui_auth_unauthorized: + summary: Unauthorized + value: + _errors: + - code: E007 + details: {} + message: Unauthorized + _request_id: abcd-1234 + json_404_panui_mgmt_object_not_present: + summary: Object Not Present + value: + _errors: + - code: E005 + details: {} + message: Object Not Present + _request_id: abcd-1234 + json_405_panui_restapi_action_not_supported: + summary: Action Not Supported + value: + _errors: + - code: E012 + details: {} + message: 'Action Not Supported: move' + _request_id: abcd-1234 + json_409_panui_mgmt_name_not_unique: + summary: Name Not Unique + value: + _errors: + - code: E006 + details: {} + message: Name Not Unique + _request_id: abcd-1234 + json_409_panui_mgmt_object_not_unique: + summary: Object Not Unique + value: + _errors: + - code: E016 + details: {} + message: Object Not Unique + _request_id: abcd-1234 + json_409_panui_mgmt_reference_not_zero: + summary: Reference Not Zero + value: + _errors: + - code: E009 + details: {} + message: Reference Not Zero + _request_id: abcd-1234 + json_501_panui_restapi_method_not_supported: + summary: Method Not Supported + value: + _errors: + - code: E012 + details: {} + message: Method Not Supported + _request_id: abcd-1234 + json_501_panui_restapi_version_not_supported: + summary: Version Not Supported + value: + _errors: + - code: E012 + details: {} + message: Version Not Supported + _request_id: abcd-1234 + json_504_panui_mgmt_session_timeout: + summary: Session Timeout + value: + _errors: + - code: '4' + details: {} + message: Session Timeout + _request_id: abcd-1234 + parameters: + device: + description: 'Specifies the device where the resource is located. + + ' + in: query + name: device + required: false + schema: + type: string + folder: + description: 'Specifies the folder where the resource is located. + + ' + in: query + name: folder + required: false + schema: + type: string + limit-optional: + description: The maximum number of resources to return. + in: query + name: limit + required: false + schema: + type: number + name-optional: + description: The resource name. + in: query + name: name + required: false + schema: + type: string + offset-optional: + description: Specifies the starting point in the list of returned resources. + in: query + name: offset + required: false + schema: + type: number + recipient-tsgs: + description: 'A list of recipient TSG IDs separated by commas. + + ' + in: query + name: tsgs + required: true + schema: + type: string + snippet: + description: 'Specifies the snippet where the resource is defined. + + ' + in: query + name: snippet + required: false + schema: + type: string + snippet-id: + description: 'The unique identifier of the snippet. + + ' + in: query + name: snippet_id + required: true + schema: + type: string + trust-ids: + description: 'A list of trust IDs separated by commas. + + ' + in: query + name: trust_ids + required: true + schema: + type: string + trusted-tenant-type: + description: 'Specifies the type of the tenant that is trusted, either ''subscriber'' + or ''publisher''. + + ' + in: query + name: type + required: true + schema: + enum: + - subscriber + - publisher + type: string + uuid: + description: The resource UUID. + in: path + name: ID + required: true + schema: + type: string + responses: + access_errors: + content: + application/json: + examples: + auth_unauthorized: + $ref: '#/components/examples/json_403_panui_auth_unauthorized' + schema: + $ref: '#/components/schemas/generic_error' + description: Forbidden + auth_errors: + content: + application/json: + examples: + auth_not_authenticated: + $ref: '#/components/examples/json_401_panui_auth_not_authenticated' + invalid_credential: + $ref: '#/components/examples/json_401_panui_auth_invalid_credential' + key_expired: + $ref: '#/components/examples/json_401_panui_auth_key_expired' + key_too_long: + $ref: '#/components/examples/json_401_panui_auth_key_too_long' + need_password_change: + $ref: '#/components/examples/json_401_panui_auth_need_password_change' + schema: + $ref: '#/components/schemas/generic_error' + description: Unauthorized + bad_request_errors_basic: + content: + application/json: + examples: + input_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' + invalid_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' + missing_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' + output_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' + schema: + $ref: '#/components/schemas/generic_error' + description: Bad Request + bad_request_errors_basic_with_body: + content: + application/json: + examples: + input_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_input_format_mismatch' + invalid_object: + $ref: '#/components/examples/json_400_panui_mgmt_invalid_object' + invalid_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_invalid_query_parameter' + missing_body: + $ref: '#/components/examples/json_400_panui_restapi_missing_body' + missing_query_parameter: + $ref: '#/components/examples/json_400_panui_restapi_missing_query_parameter' + output_format_mismatch: + $ref: '#/components/examples/json_400_panui_restapi_output_format_mismatch' + schema: + $ref: '#/components/schemas/generic_error' + description: Bad Request + conflict_errors: + content: + application/json: + examples: + name_not_unique: + $ref: '#/components/examples/json_409_panui_mgmt_name_not_unique' + object_not_unique: + $ref: '#/components/examples/json_409_panui_mgmt_object_not_unique' + reference_not_zero: + $ref: '#/components/examples/json_409_panui_mgmt_reference_not_zero' + schema: + $ref: '#/components/schemas/generic_error' + description: Conflict + default_errors: + content: + application/json: + examples: + action_not_supported: + $ref: '#/components/examples/json_405_panui_restapi_action_not_supported' + bad_xpath: + $ref: '#/components/examples/json_400_panui_mgmt_bad_xpath' + invalid_command: + $ref: '#/components/examples/json_400_panui_mgmt_invalid_command' + malformed_command: + $ref: '#/components/examples/json_400_panui_mgmt_malformed_command' + method_not_allowed: + $ref: '#/components/examples/json_501_panui_restapi_method_not_supported' + session_timeout: + $ref: '#/components/examples/json_504_panui_mgmt_session_timeout' + version_not_supported: + $ref: '#/components/examples/json_501_panui_restapi_version_not_supported' + schema: + $ref: '#/components/schemas/generic_error' + description: General Errors + http_created: + description: Created + http_ok: + description: OK + not_found: + content: + application/json: + examples: + object_not_present: + $ref: '#/components/examples/json_404_panui_mgmt_object_not_present' + schema: + $ref: '#/components/schemas/generic_error' + description: Not Found + schemas: + add_subscriber_request_payload: + items: + properties: + snippet_id: + type: string + snippet_name: + type: string + tsg_id: + type: string + required: + - tsg_id + - snippet_id + - snippet_name + type: object + type: array + compare_snippet_snapshot_config_payload: + properties: + comparing_version: + type: integer + id: + type: string + version: + type: integer + required: + - id + - version + - comparing_version + type: object + deleted_subscriber: + properties: + details: + type: string + info: + $ref: '#/components/schemas/snippet_share_info' + status: + type: string + type: object + devices: + properties: + anti_virus_version: + readOnly: true + type: string + app_release_date: + readOnly: true + type: string + app_version: + readOnly: true + type: string + av_release_date: + readOnly: true + type: string + available_licensess: + items: + properties: + authcode: + readOnly: true + type: string + expires: + format: date + readOnly: true + type: string + feature: + readOnly: true + type: string + issued: + format: date + readOnly: true + type: string + type: object + readOnly: true + type: array + connected_since: + format: date-time + readOnly: true + type: string + description: + description: The description of the device + type: string + dev_cert_detail: + readOnly: true + type: string + dev_cert_expiry_date: + readOnly: true + type: string + family: + description: The product family of the device + readOnly: true + type: string + folder: + description: The folder containing the device + type: string + gp_client_verion: + readOnly: true + type: string + gp_data_version: + readOnly: true + type: string + ha_peer_serial: + readOnly: true + type: string + ha_peer_state: + readOnly: true + type: string + ha_state: + readOnly: true + type: string + hostname: + description: The hostname of the device + readOnly: true + type: string + id: + description: The UUID of the device + readOnly: true + type: string + installed_licenses: + items: + properties: + authcode: + readOnly: true + type: string + expired: + readOnly: true + type: string + expires: + readOnly: true + type: string + feature: + readOnly: true + type: string + issued: + format: date + readOnly: true + type: string + type: object + readOnly: true + type: array + iot_release_date: + readOnly: true + type: string + iot_version: + readOnly: true + type: string + ipV6_address: + description: The IPv6 address of the device + readOnly: true + type: string + ip_address: + description: The IPv4 address of the device + readOnly: true + type: string + is_connected: + readOnly: true + type: boolean + labels: + description: Labels assigned to the device + items: + type: string + type: array + license_match: + readOnly: true + type: boolean + log_db_version: + readOnly: true + type: string + mac_address: + description: The MAC address of the device + readOnly: true + type: string + model: + description: The model of the device + readOnly: true + type: string + name: + description: The name of the device + type: string + snippets: + description: Snippets associated with the device + items: + type: string + type: array + software_version: + readOnly: true + type: string + threat_release_date: + readOnly: true + type: string + threat_version: + readOnly: true + type: string + uptime: + readOnly: true + type: string + url_db_type: + readOnly: true + type: string + url_db_ver: + readOnly: true + type: string + vm_state: + readOnly: true + type: string + wf_release_date: + readOnly: true + type: string + wf_ver: + readOnly: true + type: string + required: + - name + - id + - folder + type: object + dynamic_entry: + additionalProperties: true + readOnly: true + type: object + error_detail_cause_info: + properties: + code: + type: string + details: + type: object + help: + type: string + message: + type: string + title: Cause Info + type: object + error_detail_cause_infos: + items: + $ref: '#/components/schemas/error_detail_cause_info' + type: array + folders: + properties: + description: + description: The description of the folder + type: string + id: + description: The UUID of the folder + readOnly: true + type: string + labels: + description: Labels assigned to the folder + items: + type: string + type: array + name: + description: The name of the folder + type: string + parent: + description: The parent folder + type: string + snippets: + description: Snippets associated with the folder + items: + type: string + type: array + required: + - name + - id + - parent + type: object + generic_error: + properties: + _errors: + $ref: '#/components/schemas/error_detail_cause_infos' + _request_id: + type: string + type: object + labels: + properties: + description: + description: The description of the label + type: string + id: + description: The UUID of the label + readOnly: true + type: string + name: + description: The name of the label + type: string + required: + - name + - id + type: object + property_item: + properties: + id: + type: integer + name: + type: string + value: + type: string + type: object + save_snippet_snapshot_config_response: + properties: + result: + properties: + version: + type: string + readOnly: true + type: object + status: + readOnly: true + type: string + readOnly: true + type: object + save_snippet_snapshot_payload: + properties: + description: + type: string + id: + type: string + required: + - id + - description + type: object + snippet_audit_history: + properties: + action: + readOnly: true + type: string + created: + format: date-time + readOnly: true + type: string + deleted: + readOnly: true + type: integer + details: + readOnly: true + type: string + display: + readOnly: true + type: integer + donor_created: + readOnly: true + type: integer + donor_tenant_name: + readOnly: true + type: string + donor_tsg: + readOnly: true + type: string + id: + format: uint + readOnly: true + type: integer + recipient_tenant_name: + readOnly: true + type: string + recipient_tsg: + readOnly: true + type: string + snippet_uuid: + readOnly: true + type: string + user: + readOnly: true + type: string + version: + readOnly: true + type: string + type: object + snippet_share_info: + properties: + created: + format: date-time + readOnly: true + type: string + donor_created: + readOnly: true + type: integer + donor_snippet_file_id: + readOnly: true + type: integer + donor_snippet_version: + readOnly: true + type: integer + donor_tenant_id: + readOnly: true + type: string + donor_tenant_name: + readOnly: true + type: string + donor_tsg: + readOnly: true + type: string + error: + readOnly: true + type: string + id: + format: uint + readOnly: true + type: integer + last_updated: + format: date-time + readOnly: true + type: string + msg_uuid: + readOnly: true + type: string + properties: + items: + $ref: '#/components/schemas/snippet_share_property' + type: array + recipient_paused_update: + readOnly: true + type: boolean + recipient_snippet_file_id: + readOnly: true + type: integer + recipient_snippet_version: + readOnly: true + type: integer + recipient_tenant_id: + readOnly: true + type: string + recipient_tenant_name: + readOnly: true + type: string + recipient_tsg: + readOnly: true + type: string + recipient_validate_before_update: + readOnly: true + type: boolean + snippet_name: + readOnly: true + type: string + snippet_uuid: + readOnly: true + type: string + status: + readOnly: true + type: string + type: object + snippet_share_property: + properties: + created: + format: date-time + readOnly: true + type: string + created_by: + readOnly: true + type: string + donor_tenant: + readOnly: true + type: string + donor_tsg: + readOnly: true + type: string + error: + readOnly: true + type: string + id: + readOnly: true + type: integer + msg_uuid: + readOnly: true + type: string + property_name: + readOnly: true + type: string + property_value: + readOnly: true + type: string + recipient_tenant: + readOnly: true + type: string + recipient_tsg: + readOnly: true + type: string + snippet_name: + readOnly: true + type: string + snippet_uuid: + readOnly: true + type: string + status: + readOnly: true + type: string + updated: + format: date-time + readOnly: true + type: string + updated_by: + readOnly: true + type: string + type: object + snippet_snapshot_compare_entry: + properties: + admin: + format: email + readOnly: true + type: string + id: + readOnly: true + type: string + loc: + type: string + loctype: + type: string + objectname: + type: string + objecttype: + type: string + operations: + enum: + - edit + - create + type: string + timestamp: + format: date-time + type: string + readOnly: true + type: object + snippet_snapshot_compare_response: + items: + $ref: '#/components/schemas/snippet_snapshot_compare_entry' + readOnly: true + type: array + snippet_snapshot_load_snippet_payload: + properties: + id: + type: string + version: + type: string + required: + - id + - version + type: object + snippet_snapshot_load_snippet_response: + properties: + status: + type: string + readOnly: true + type: object + snippet_snapshot_publish_request: + properties: + id: + type: string + name: + type: string + tsgs: + items: + type: string + type: array + validation: + type: boolean + version: + type: integer + type: object + snippet_snapshot_publish_response: + properties: + file_id: + nullable: true + readOnly: true + type: integer + id: + readOnly: true + type: string + job_id: + readOnly: true + type: integer + tsgs: + items: + type: string + readOnly: true + type: array + version: + nullable: true + readOnly: true + type: integer + readOnly: true + type: object + snippet_snapshot_subscriber_compare_payload: + properties: + id: + type: string + tenant_id: + description: Publisher Tenant ID + type: string + required: + - id + - tenant_id + type: object + snippet_snapshot_subscriber_compare_response: + properties: + publisher: + properties: + entry: + items: + $ref: '#/components/schemas/dynamic_entry' + type: array + readOnly: true + type: object + subscriber: + properties: + entry: + items: + $ref: '#/components/schemas/dynamic_entry' + type: array + readOnly: true + type: object + type: object + snippets: + properties: + description: + description: The description of the snippet + type: string + id: + description: The UUID of the snippet + readOnly: true + type: string + labels: + description: Labels applied to the snippet + items: + type: string + type: array + name: + description: The name of the snippet + type: string + type: + description: The snippet type + enum: + - predefined + - custom + readOnly: true + type: string + required: + - name + - id + type: object + subscriber_property_payload: + properties: + property: + items: + $ref: '#/components/schemas/property_item' + type: array + snippet_id: + type: string + snippet_name: + type: string + tsg_id: + type: string + required: + - tsg_id + - snippet_id + - snippet_name + type: object + tenant_trust_info: + properties: + created: + format: date-time + readOnly: true + type: string + created_by: + readOnly: true + type: string + current_status: + readOnly: true + type: string + donor_cluster: + readOnly: true + type: string + donor_msg_uuid: + readOnly: true + type: string + donor_project: + readOnly: true + type: string + donor_region: + readOnly: true + type: string + donor_tenant_id: + type: string + donor_tenant_name: + type: string + donor_trust_info_id: + readOnly: true + type: integer + donor_tsg: + readOnly: true + type: string + error_details: + readOnly: true + type: string + last_updated: + format: date-time + readOnly: true + type: string + psk: + type: string + recipient_cluster: + readOnly: true + type: string + recipient_msg_uuid: + readOnly: true + type: string + recipient_project: + readOnly: true + type: string + recipient_region: + readOnly: true + type: string + recipient_tenant_id: + readOnly: true + type: string + recipient_tenant_name: + type: string + recipient_trust_info_id: + readOnly: true + type: integer + recipient_tsg: + readOnly: true + type: string + trust_id: + type: integer + updated_by: + readOnly: true + type: string + type: object + trust_info_with_shared_snippets: + properties: + created: + format: date-time + readOnly: true + type: string + donor_created: + readOnly: true + type: integer + donor_snippet_file_id: + readOnly: true + type: integer + donor_snippet_version: + readOnly: true + type: integer + donor_tsg: + readOnly: true + type: string + error: + readOnly: true + type: string + id: + readOnly: true + type: integer + last_updated: + format: date-time + readOnly: true + type: string + msg_uuid: + readOnly: true + type: string + recipient_paused_update: + readOnly: true + type: integer + recipient_snippet_file_id: + readOnly: true + type: integer + recipient_snippet_version: + readOnly: true + type: integer + recipient_tsg: + readOnly: true + type: string + recipient_validate_before_update: + readOnly: true + type: integer + shared_snippets: + items: + $ref: '#/components/schemas/snippet_share_info' + type: array + snippet_name: + readOnly: true + type: string + snippet_uuid: + readOnly: true + type: string + status: + readOnly: true + type: string + updated_by: + readOnly: true + type: string + type: object + trust_validation_info: + properties: + created: + format: date-time + readOnly: true + type: string + created_by: + readOnly: true + type: string + current_status: + readOnly: true + type: string + donor_cluster: + readOnly: true + type: string + donor_msg_uuid: + readOnly: true + type: string + donor_project: + readOnly: true + type: string + donor_region: + readOnly: true + type: string + donor_tenant_id: + type: string + donor_tenant_name: + type: string + donor_tsg: + readOnly: true + type: string + last_updated: + format: date-time + readOnly: true + type: string + psk: + type: string + recipient_cluster: + readOnly: true + type: string + recipient_msg_uuid: + readOnly: true + type: string + recipient_region: + readOnly: true + type: string + recipient_tenant_id: + readOnly: true + type: string + recipient_tenant_name: + type: string + recipient_tsg: + readOnly: true + type: string + trust_id: + type: integer + updated_by: + readOnly: true + type: string + type: object + trusted_tenant_overview: + properties: + publisher: + properties: + pending: + readOnly: true + type: integer + total: + readOnly: true + type: integer + type: object + subscriber: + properties: + pending: + readOnly: true + type: integer + total: + readOnly: true + type: integer + type: object + type: object + trusts: + properties: + donor_tenant_name: + type: string + psk: + type: string + recipient_tenant_name: + type: string + trust_id: + nullable: true + type: integer + tsg: + type: string + type: object + trusts_validation_payload: + properties: + donor_tenant_name: + type: string + psk: + type: string + recipient_tenant_name: + type: string + trust_id: + nullable: true + type: integer + tsg: + type: string + required: + - tsg + - donor_tenant_name + - recipient_tenant_name + - trust_id + - psk + type: object + variables: + oneOf: + - properties: + folder: + description: The folder in which the resource is defined + example: My Folder + maxLength: 64 + pattern: ^[a-zA-Z\d-_\. ]+$ + type: string + required: + - folder + title: folder + type: object + - properties: + snippet: + description: The snippet in which the resource is defined + example: My Snippet + maxLength: 64 + pattern: ^[a-zA-Z\d-_\. ]+$ + type: string + required: + - snippet + title: snippet + type: object + - properties: + device: + description: The device in which the resource is defined + example: My Device + maxLength: 64 + pattern: ^[a-zA-Z\d-_\. ]+$ + type: string + required: + - device + title: device + type: object + properties: + description: + description: The description of the variable + type: string + id: + description: UUID of the variable + example: 123e4567-e89b-12d3-a456-426655440000 + readOnly: true + type: string + name: + description: The name of the variable + maxLength: 63 + type: string + overridden: + description: Is the variable overridden? + readOnly: true + type: boolean + type: + description: The variable type + enum: + - percent + - count + - ip-netmask + - zone + - ip-range + - ip-wildcard + - device-priority + - device-id + - egress-max + - as-number + - fqdn + - port + - link-tag + - group-id + - rate + - router-id + - qos-profile + - timer + type: string + value: + additionalProperties: + oneOf: + - type: string + - type: integer + default: None + description: The value of the variable + type: string + required: + - name + - id + - type + - value + type: object + securitySchemes: + Bearer: + scheme: bearer + type: http +info: + contact: + email: support@paloaltonetworks.com + description: "Managing configurations across multiple tenants can be a challenging\ + \ and error-prone task. \nThe Snippet Sharing API simplifies this process by enabling\ + \ administrators to efficiently share and synchronize configuration snippets between\ + \ different tenants. \nThis API ensures consistency, reduces manual errors, and\ + \ provides a secure and reliable way to manage configurations.\n\nThese APIs use\ + \ the common Strata Cloud Manager authentication mechanism and base URL. See the\n\ + [Strata Cloud Manager Authentication Service](https://pan.dev/scm/api/auth/auth-api/)\ + \ guide for more information.\n\nThis Open API spec file was created on May 28,\ + \ 2025. To check for a more recent version of this file, see\n[Snippet Sharing\ + \ APIs on pan.dev](https://pan.dev/scm/api/config/snippet-sharing/).\n\n\xA9 2025\ + \ Palo Alto Networks, Inc. Palo Alto Networks is a registered trademark of Palo\n\ + Alto Networks. A list of our trademarks can be found at\n\n[https://www.paloaltonetworks.com/company/trademarks.html](https://www.paloaltonetworks.com/company/trademarks.html)\n\ + \nAll other marks mentioned herein may be trademarks of their respective companies.\n" + license: + name: MIT + url: https://opensource.org/license/mit + termsOfService: https://www.paloaltonetworks.com/content/dam/pan/en_US/assets/pdf/legal/palo-alto-networks-end-user-license-agreement-eula.pdf + title: PaloAlto Networks Snippet Sharing APIs + version: '1.0' +openapi: 3.0.0 +paths: + /devices: + get: + description: 'Retrieve a list of devices. + + ' + operationId: get-devices + parameters: + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' + responses: + '200': + content: + application/json: + schema: + properties: + data: + allOf: + - items: + $ref: '#/components/schemas/devices' + type: array + limit: + default: 200 + type: number + offset: + default: 0 + type: number + total: + type: number + type: object + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: List devices + tags: + - Devices + /devices/{id}: + get: + description: 'Retrieve an existing device. + + ' + operationId: get-devices-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/devices' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get a device + tags: + - Devices + put: + description: 'Update an existing device. + + ' + operationId: put-devices-id + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/devices' + description: The `device` resource definition. + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update a device + tags: + - Devices + /folders: + get: + description: 'Retrieve a list of folders. + + ' + operationId: get-folders + parameters: + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' + responses: + '200': + content: + application/json: + schema: + properties: + data: + allOf: + - items: + $ref: '#/components/schemas/folders' + type: array + limit: + default: 200 + type: number + offset: + default: 0 + type: number + total: + type: number + type: object + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: List folders + tags: + - Folders + post: + description: 'Create a new folder. + + ' + operationId: post-folders + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/folders' + description: The `folder` resource definition + responses: + '201': + $ref: '#/components/responses/http_created' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Create a folder + tags: + - Folders + /folders/{id}: + delete: + description: 'Delete an existing folder. + + ' + operationId: delete-folders-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/folders' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete a folder + tags: + - Folders + get: + description: 'Retrieve an existing folder. + + ' + operationId: get-folders-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/folders' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get a folder + tags: + - Folders + put: + description: 'Update an existing folder. + + ' + operationId: put-folders-id + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/folders' + description: The `folder` resource definition. + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update a folder + tags: + - Folders + /labels: + get: + description: 'Retrieve a list of labels. + + ' + operationId: get-labels + parameters: + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' + responses: + '200': + content: + application/json: + schema: + properties: + data: + allOf: + - items: + $ref: '#/components/schemas/labels' + type: array + limit: + default: 200 + type: number + offset: + default: 0 + type: number + total: + type: number + type: object + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Label list + tags: + - Labels + post: + description: 'Create a label. + + ' + operationId: post-labels + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/labels' + description: The `label` resource definition. + responses: + '201': + $ref: '#/components/responses/http_created' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: New label + tags: + - Labels + /labels/{id}: + delete: + description: 'Delete an existing label. + + ' + operationId: delete-labels-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/labels' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete label + tags: + - Labels + get: + description: 'Retrieve an existing label. + + ' + operationId: get-labels-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/labels' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get label + tags: + - Labels + put: + description: 'Update an existing label. + + ' + operationId: put-labels-id + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/labels' + description: The `label` resource definition. + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update label + tags: + - Labels + /snippet-audit-logs/{id}: + get: + description: 'Retrieve an existing snippet audit logs by UUID. + + ' + operationId: get-snippet-audit-logs-id + parameters: + - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/trusted-tenant-type' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_audit_history' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get a snippet audit logs + tags: + - Snippet Audit Logs + /snippet-snapshots: + post: + description: "Save Snippet Snapshots. \n" + operationId: post-snippet-snapshots + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/save_snippet_snapshot_payload' + description: The `Save Snippet Snapshots` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/save_snippet_snapshot_config_response' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Save Snippet Snapshots + tags: + - Snippet Snapshots + /snippet-snapshots:compare: + post: + description: 'Compare Snippet Snapshots. + + ' + operationId: post-snippet-snapshots:compare + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/compare_snippet_snapshot_config_payload' + description: The `Snippet Snapshots To Compare` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_compare_response' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Compare Snippet Snapshots + tags: + - Snippet Snapshots + /snippet-snapshots:load: + post: + description: 'Load Snippet Snapshots. Discards current candidate and loads specific + version of the snippet snapshot as a candidate. + + ' + operationId: post-snippet-snapshots:load + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_load_snippet_payload' + description: The `Snippet Snapshots To Load` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_load_snippet_response' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Load Snippet Snapshots + tags: + - Snippet Snapshots + /snippet-snapshots:publish: + post: + description: 'Publish Snippet Snapshots. + + ' + operationId: post-snippet-snapshots:publish + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_publish_request' + description: The `Snippet Snapshots To Publish` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_publish_response' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Publish Snippet Snapshots + tags: + - Snippet Snapshots + /snippet-snapshots:updates: + post: + description: 'Update Snippet Snapshots. + + ' + operationId: post-snippet-snapshots:updates + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_subscriber_compare_payload' + description: The `Snippet Snapshots To Update` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_subscriber_compare_response' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update Snippet Snapshots + tags: + - Snippet Snapshots + /snippets: + get: + description: 'Retrieve a list of snippets. + + ' + operationId: get-snippets + parameters: + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' + responses: + '200': + content: + application/json: + schema: + properties: + data: + allOf: + - items: + $ref: '#/components/schemas/snippets' + type: array + limit: + default: 200 + type: number + offset: + default: 0 + type: number + total: + type: number + type: object + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Snippet list + tags: + - Snippets + post: + description: 'Create a snippet. + + ' + operationId: post-snippets + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippets' + description: The `snippet` resource definition. + responses: + '201': + $ref: '#/components/responses/http_created' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: New snippet + tags: + - Snippets + /snippets/{id}: + delete: + description: 'Delete an existing snippet. + + ' + operationId: delete-snippets-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippets' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete a snippet + tags: + - Snippets + get: + description: 'Retrieve an existing snippet. + + ' + operationId: get-snippets-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippets' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get a snippet + tags: + - Snippets + put: + description: 'Update a snippet. + + ' + operationId: put-snippets-id + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippets' + description: The `snippet` resource definition. + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update snippet + tags: + - Snippets + /subscribed-tenants: + delete: + description: 'Delete an existing subscribed tenant. + + ' + operationId: delete-subscribed-tenants + parameters: + - $ref: '#/components/parameters/snippet-id' + - $ref: '#/components/parameters/recipient-tsgs' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/deleted_subscriber' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete a subscribed tenant + tags: + - Subscribed Tenants + post: + description: 'Create Subscribed Tenant. + + ' + operationId: post-subscribed-tenants + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/add_subscriber_request_payload' + description: The `Subscribed Tenant` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/tenant_trust_info' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Create Subscribed Tenant + tags: + - Subscribed Tenants + put: + description: 'Update an existing subscribed tenant. + + ' + operationId: put-subscribed-tenants + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/subscriber_property_payload' + description: The `subscribed tenant` resource definition. + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/subscriber_property_payload' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update a subscribed tenant + tags: + - Subscribed Tenants + /subscribed-tenants/{id}: + get: + description: 'Retrieve a list of subscribed tenants. + + ' + operationId: get-subscribed-tenants-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/snippet_share_info' + type: array + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get Subscribed Tenants + tags: + - Subscribed Tenants + /trust-validations: + post: + description: "Validate trust. \n" + operationId: post-trust-validations + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/trusts_validation_payload' + description: The `trust validation` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/trust_validation_info' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Validates Trust + tags: + - Trust Validations + /trusted-tenant-overview: + get: + description: "Overview of publishers and subscribers. \n" + operationId: get-trusted-tenant-overview + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/trusted_tenant_overview' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Trusted Tenants Overview + tags: + - Trusted Tenants Overview + /trusted-tenants: + get: + description: 'Retrieve a list of trusted tenants with snippets. + + ' + operationId: get-trusted-tenants + parameters: + - $ref: '#/components/parameters/trusted-tenant-type' + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/trust_info_with_shared_snippets' + type: array + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Trusted Tenants With Snippets + tags: + - Trust Information + /trusts: + delete: + description: 'Delete an existing Trust. + + ' + operationId: delete-trusts + parameters: + - $ref: '#/components/parameters/trust-ids' + - $ref: '#/components/parameters/trusted-tenant-type' + responses: + '200': + content: + application/json: + schema: + items: + $ref: '#/components/schemas/tenant_trust_info' + type: array + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete a Trust + tags: + - Trusts + post: + description: 'Create a new trust. + + ' + operationId: post-trusts + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/trusts' + description: The `trusts` resource definition + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/tenant_trust_info' + description: CREATED + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Create a trust + tags: + - Trusts + /variables: + get: + description: 'Retrieve a list of variables. + + ' + operationId: get-variables + parameters: + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + responses: + '200': + content: + application/json: + schema: + properties: + data: + allOf: + - items: + $ref: '#/components/schemas/variables' + type: array + limit: + default: 200 + type: number + offset: + default: 0 + type: number + total: + type: number + type: object + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: List variables + tags: + - Variables + post: + description: "Create a variable. \n" + operationId: post-variables + parameters: + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/variables' + description: The `variable` resource definition. + responses: + '201': + $ref: '#/components/responses/http_created' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Create variables + tags: + - Variables + /variables/{id}: + delete: + description: 'Delete a variable. + + ' + operationId: delete-variables-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/variables' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Delete variable + tags: + - Variables + get: + description: 'Retrieve an existing variable. + + ' + operationId: get-variables-id + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/variables' + description: OK + '400': + $ref: '#/components/responses/bad_request_errors_basic' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Get a variables + tags: + - Variables + put: + description: 'Update a variable. + + ' + operationId: put-variables-id + parameters: + - $ref: '#/components/parameters/uuid' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/variables' + description: The `variable` resource definition. + responses: + '200': + $ref: '#/components/responses/http_ok' + '400': + $ref: '#/components/responses/bad_request_errors_basic_with_body' + '401': + $ref: '#/components/responses/auth_errors' + '403': + $ref: '#/components/responses/access_errors' + '404': + $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + security: + - Bearer: [] + summary: Update variable + tags: + - Variables +servers: +- url: https://api.strata.paloaltonetworks.com/config/setup/v1 +tags: +- description: 'Configuration Labels + + ' + name: Labels API +- description: 'Variables + + ' + name: Variables API +- description: 'Configuration Snippets + + ' + name: Snippets API +- description: 'Configuration folders + + ' + name: Folders API +- description: 'NGFW Devices + + ' + name: Devices API +- description: 'Trusted Tenants Overview + + ' + name: Trusted Tenants Overview API +- description: 'Trust Information + + ' + name: Trust Information API +- description: 'Trusts + + ' + name: Trusts API +- description: 'Trust Validations + + ' + name: Trust Validations API +- description: 'Subscribed Tenants + + ' + name: Subscribed Tenants API +- description: 'Snippet Snapshots + + ' + name: Snippet Snapshots API +- description: 'Snippet Audit Logs + + ' + name: Snippet Audit Logs API diff --git a/products/scm/api/config/cloudngfw/setup/snippet-sharing.md b/products/scm/api/config/cloudngfw/setup/snippet-sharing.md new file mode 100644 index 000000000..7fa8bfe13 --- /dev/null +++ b/products/scm/api/config/cloudngfw/setup/snippet-sharing.md @@ -0,0 +1,34 @@ +--- +id: snippet-sharing +title: Snippet Sharing APIs +sidebar_label: Snippet Sharing +keywords: + - Strata Cloud Manager + - Configuration + - Security Profiles + - Reference + - API +--- + +Welcome to the configuration Snippet Sharing APIs For Strata Cloud Manager and Prisma Access. +These APIs use the [common authentication mechanism](/scm/docs/getstarted) for service access and authorization. +You must use the [Configuration Operations API](/scm/api/config/cloudngfw/operations/operations-api-cloud-ngfw) to push +configurations made using these APIs to your deployments. + +In today's interconnected and dynamic environments, managing and synchronizing configurations across multiple tenants can be a complex and error-prone task. The Snippet Sharing API is designed to simplify this process, enabling administrators to efficiently share and synchronize configuration snippets between different tenants. This API provides a robust and secure mechanism for configuration sharing, ensuring consistency and reducing manual overhead. + +## Key features ## + +**Configuration Sharing:** Administrators can select specific configuration snippets from a tenant and share them across multiple other tenants. This feature allows for targeted updates, ensuring that only the intended tenants receive the shared configuration. + +**Synchronization:** The API supports keeping specific configurations in sync across tenants. Administrators can perform explicit actions to share and sync configurations, ensuring that updates are consistently propagated to recipient tenants. + +**Versioning:** The Snippet Sharing API includes a versioning mechanism, allowing administrators to track and audit the sync state of configuration snippets. Only the latest version of a snippet can be shared, ensuring that recipients always receive the most up-to-date configuration. + +**Visibility and Auditing:** Administrators can view detailed information about shared snippets, including the tenants they are associated with, the version of the snippet, and the last sync timestamp. Audit logs are generated for all sharing and sync operations, providing transparency and traceability. + +**Trust and Verification:** The API supports establishing trust relationships between donor and recipient tenants. Recipient tenants must accept donor tenants as trusted sources before configuration sharing can occur. Trust relationships can be terminated at any time, converting shared snippets to local snippets if referenced in the recipient tenant. + +**Configuration Operations:** The API facilitates various configuration operations, including pushing, reverting, and loading configurations. Administrators can manage configurations effectively, ensuring that shared snippets are included or excluded as needed during these operations. + +The Snippet Sharing API is designed to streamline configuration management, enhance operational efficiency, and provide a secure and reliable way to share and synchronize configurations across multiple tenants. By leveraging this API, administrators can reduce manual errors, ensure consistency, and maintain control over their configuration environments. \ No newline at end of file diff --git a/products/scm/api/config/ngfw/setup/snippet-sharing.md b/products/scm/api/config/ngfw/setup/snippet-sharing.md new file mode 100644 index 000000000..7fa8bfe13 --- /dev/null +++ b/products/scm/api/config/ngfw/setup/snippet-sharing.md @@ -0,0 +1,34 @@ +--- +id: snippet-sharing +title: Snippet Sharing APIs +sidebar_label: Snippet Sharing +keywords: + - Strata Cloud Manager + - Configuration + - Security Profiles + - Reference + - API +--- + +Welcome to the configuration Snippet Sharing APIs For Strata Cloud Manager and Prisma Access. +These APIs use the [common authentication mechanism](/scm/docs/getstarted) for service access and authorization. +You must use the [Configuration Operations API](/scm/api/config/cloudngfw/operations/operations-api-cloud-ngfw) to push +configurations made using these APIs to your deployments. + +In today's interconnected and dynamic environments, managing and synchronizing configurations across multiple tenants can be a complex and error-prone task. The Snippet Sharing API is designed to simplify this process, enabling administrators to efficiently share and synchronize configuration snippets between different tenants. This API provides a robust and secure mechanism for configuration sharing, ensuring consistency and reducing manual overhead. + +## Key features ## + +**Configuration Sharing:** Administrators can select specific configuration snippets from a tenant and share them across multiple other tenants. This feature allows for targeted updates, ensuring that only the intended tenants receive the shared configuration. + +**Synchronization:** The API supports keeping specific configurations in sync across tenants. Administrators can perform explicit actions to share and sync configurations, ensuring that updates are consistently propagated to recipient tenants. + +**Versioning:** The Snippet Sharing API includes a versioning mechanism, allowing administrators to track and audit the sync state of configuration snippets. Only the latest version of a snippet can be shared, ensuring that recipients always receive the most up-to-date configuration. + +**Visibility and Auditing:** Administrators can view detailed information about shared snippets, including the tenants they are associated with, the version of the snippet, and the last sync timestamp. Audit logs are generated for all sharing and sync operations, providing transparency and traceability. + +**Trust and Verification:** The API supports establishing trust relationships between donor and recipient tenants. Recipient tenants must accept donor tenants as trusted sources before configuration sharing can occur. Trust relationships can be terminated at any time, converting shared snippets to local snippets if referenced in the recipient tenant. + +**Configuration Operations:** The API facilitates various configuration operations, including pushing, reverting, and loading configurations. Administrators can manage configurations effectively, ensuring that shared snippets are included or excluded as needed during these operations. + +The Snippet Sharing API is designed to streamline configuration management, enhance operational efficiency, and provide a secure and reliable way to share and synchronize configurations across multiple tenants. By leveraging this API, administrators can reduce manual errors, ensure consistency, and maintain control over their configuration environments. \ No newline at end of file diff --git a/products/scm/api/config/sase/setup/snippet-sharing.md b/products/scm/api/config/sase/setup/snippet-sharing.md new file mode 100644 index 000000000..7fa8bfe13 --- /dev/null +++ b/products/scm/api/config/sase/setup/snippet-sharing.md @@ -0,0 +1,34 @@ +--- +id: snippet-sharing +title: Snippet Sharing APIs +sidebar_label: Snippet Sharing +keywords: + - Strata Cloud Manager + - Configuration + - Security Profiles + - Reference + - API +--- + +Welcome to the configuration Snippet Sharing APIs For Strata Cloud Manager and Prisma Access. +These APIs use the [common authentication mechanism](/scm/docs/getstarted) for service access and authorization. +You must use the [Configuration Operations API](/scm/api/config/cloudngfw/operations/operations-api-cloud-ngfw) to push +configurations made using these APIs to your deployments. + +In today's interconnected and dynamic environments, managing and synchronizing configurations across multiple tenants can be a complex and error-prone task. The Snippet Sharing API is designed to simplify this process, enabling administrators to efficiently share and synchronize configuration snippets between different tenants. This API provides a robust and secure mechanism for configuration sharing, ensuring consistency and reducing manual overhead. + +## Key features ## + +**Configuration Sharing:** Administrators can select specific configuration snippets from a tenant and share them across multiple other tenants. This feature allows for targeted updates, ensuring that only the intended tenants receive the shared configuration. + +**Synchronization:** The API supports keeping specific configurations in sync across tenants. Administrators can perform explicit actions to share and sync configurations, ensuring that updates are consistently propagated to recipient tenants. + +**Versioning:** The Snippet Sharing API includes a versioning mechanism, allowing administrators to track and audit the sync state of configuration snippets. Only the latest version of a snippet can be shared, ensuring that recipients always receive the most up-to-date configuration. + +**Visibility and Auditing:** Administrators can view detailed information about shared snippets, including the tenants they are associated with, the version of the snippet, and the last sync timestamp. Audit logs are generated for all sharing and sync operations, providing transparency and traceability. + +**Trust and Verification:** The API supports establishing trust relationships between donor and recipient tenants. Recipient tenants must accept donor tenants as trusted sources before configuration sharing can occur. Trust relationships can be terminated at any time, converting shared snippets to local snippets if referenced in the recipient tenant. + +**Configuration Operations:** The API facilitates various configuration operations, including pushing, reverting, and loading configurations. Administrators can manage configurations effectively, ensuring that shared snippets are included or excluded as needed during these operations. + +The Snippet Sharing API is designed to streamline configuration management, enhance operational efficiency, and provide a secure and reliable way to share and synchronize configurations across multiple tenants. By leveraging this API, administrators can reduce manual errors, ensure consistency, and maintain control over their configuration environments. \ No newline at end of file diff --git a/products/scm/docs/home.md b/products/scm/docs/home.md index cae6f4e6c..e6d601342 100644 --- a/products/scm/docs/home.md +++ b/products/scm/docs/home.md @@ -36,6 +36,7 @@ Strata Cloud Manager offers the following APIs: - [Cloud NGFW](/scm/api/config/cloudngfw/operations/config-operations/) - [ZTNA Connector](/access/api/ztna/ztna-connector-apis/) - [Prisma SD-WAN](/sdwan/docs) + - [Snippet Sharing](/scm/api/config/snippet-sharing/snippet-sharing/) ### Monitoring Services - [Strata Insights](/access/docs/insights) diff --git a/products/scm/docs/release-notes/changelog.md b/products/scm/docs/release-notes/changelog.md index 2905e97c5..01aeb3544 100644 --- a/products/scm/docs/release-notes/changelog.md +++ b/products/scm/docs/release-notes/changelog.md @@ -12,30 +12,34 @@ keywords: | Date | Description | | --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Feb 6, 2025 | Added [Prisma Access Configuration Orchestration APIs](/sase/api/introduction/). | +| May 28, 2025 | Added Snippet Sharing API under SASE Configuration setup [Configuration Setup](/scm/api/config/setup/snippet-sharing/). +| May 28, 2025 | Added Snippet Sharing API under NGFW Configuration setup [Configuration Setup](/scm/api/config/ngfw/setup/snippet-sharing/). +| May 28, 2025 | Added Snippet Sharing API under Cloud NGFW Configuration setup [Configuration Setup](/scm/api/config/cloudngfw/setup/snippet-sharing/). +| May 20, 2025 | Introduced two policies Security and Internet for Security Rules under [Security Services APIs](/scm/api/config/sase/security/security-api/). +| Feb 6, 2025 | Added [Prisma Access Configuration Orchestration APIs](/sase/api/introduction/). | | Jan 9th, 2025 | Added [SaaS Security Posture Management APIs](/sase/api/sspm/). | Nov 15, 2024 | Added Strata Cloud Manager configuration APIs, along with a [Strata Cloud Manager landing page](/strata-cloud-manager/). See the [release notes](/scm/docs/release-notes/november2024) for more information. | -| Oct 18, 2024 | Added [Prisma Access Browser APIs](/access/api/browser-mgmt/). | +| Oct 18, 2024 | Added [Prisma Access Browser APIs](/access/api/browser-mgmt/). | | Oct 11, 2024 | Added additional [Aggregate Monitoring APIs](/sase/api/mt-monitor/). | | July 22, 2024 | Added [Multitenant Interconnect APIs](/sase/api/mt-interconnect/). | -| April 15, 2024 | Added [Multitenant Notification APIs](/sase/api/mt-notifications/). | -| September 28, 2023 | Added [Autonomous DEM APIs](/access/docs/adem) and [ADEM API Examples](/access/docs/adem/examples/application-performance/mu-experience-score-for-an-app/). | -| May 16, 2023 | Added [Custom Roles](/sase/api/iam/custom-roles/) and [Permission Sets](/sase/api/iam/permission-sets/) to the Identity and Access Management APIs. | -| April 26, 2023 | Added [ZTNA Connector APIs](/sase/docs/release-notes/release-notes/#april-2023) and miscellanous other changes. | -| March 28, 2023 | New endpoints for the [Prisma Access Configuration APIs](/sase/docs/release-notes/release-notes/#march-2023). | -| Dec 5, 2022 | Published new [Subscription Service](/sase/api/subscription/) endpoints that allow you to allocate licenses to your tenant service groups. | -| Nov 22, 2022 | Published new [Prisma Access configuration](/sase/docs/release-notes/release-notes/#november-2022) endpoints. | -| Nov 1, 2022 | Published [Prisma Access Insights examples](/access/docs/insights/examples/). | -| Oct 24, 2022 | New endpoints and query filters for the [aggregate monitoring APIs](/sase/docs/release-notes/release-notes/#late-august-2022). | -| Oct 12, 2022 | The Cortex Data Lake [Log Forwarding APIs](/cdl/docs/log-forwarding/) now use the same common authentication mechanism as is used by most SASE APIs. | -| Oct 12, 2022 | The Cortex Data Lake [Log Forwarding APIs](/cdl/docs/log-forwarding/) now use the same common authentication mechanism as is used by most SASE APIs. | -| August 17, 2022 | New endpoints for the Prisma Access Config APIs. See the [August 2022 release notes](/sase/docs/release-notes/release-notes#august-2022) for details. | -| August 15, 2022 | Updated the [Aggregate Monitoring APIs](/sase/api/mt-monitor). See the [August 2022 release notes](/sase/docs/release-notes/release-notes#august-2022) for details. | +| April 15, 2024 | Added [Multitenant Notification APIs](/sase/api/mt-notifications/). | +| September 28, 2023 | Added [Autonomous DEM APIs](/access/docs/adem) and [ADEM API Examples](/access/docs/adem/examples/application-performance/mu-experience-score-for-an-app/). | +| May 16, 2023 | Added [Custom Roles](/sase/api/iam/custom-roles/) and [Permission Sets](/sase/api/iam/permission-sets/) to the Identity and Access Management APIs. | +| April 26, 2023 | Added [ZTNA Connector APIs](/sase/docs/release-notes/release-notes/#april-2023) and miscellanous other changes. | +| March 28, 2023 | New endpoints for the [Prisma Access Configuration APIs](/sase/docs/release-notes/release-notes/#march-2023). | +| Dec 5, 2022 | Published new [Subscription Service](/sase/api/subscription/) endpoints that allow you to allocate licenses to your tenant service groups. | +| Nov 22, 2022 | Published new [Prisma Access configuration](/sase/docs/release-notes/release-notes/#november-2022) endpoints. | +| Nov 1, 2022 | Published [Prisma Access Insights examples](/access/docs/insights/examples/). | +| Oct 24, 2022 | New endpoints and query filters for the [aggregate monitoring APIs](/sase/docs/release-notes/release-notes/#late-august-2022). | +| Oct 12, 2022 | The Cortex Data Lake [Log Forwarding APIs](/cdl/docs/log-forwarding/) now use the same common authentication mechanism as is used by most SASE APIs. | +| Oct 12, 2022 | The Cortex Data Lake [Log Forwarding APIs](/cdl/docs/log-forwarding/) now use the same common authentication mechanism as is used by most SASE APIs.| +| August 17, 2022 | New endpoints for the Prisma Access Config APIs. See the [August 2022 release notes](/sase/docs/release-notes/release-notes#august-2022) for details.| +| August 15, 2022 | Updated the [Aggregate Monitoring APIs](/sase/api/mt-monitor). See the [August 2022 release notes](/sase/docs/release-notes/release-notes#august-2022) for details. | | July 27, 2022 | Added Prisma SD-WAN, and updates to Prisma Access Configuration and Prisma Access Insights. See the [Release Notes](/sase/docs/release-notes/release-notes#july-2022) for details. | | July 5, 2022 | Clarified the difference between [Device Insights 2.0 and 1.0 APIs](/access/docs/insights).
Added the `support_contact` field to the [Tenancy Service](/sase/api/tenancy) APIs. | -| June 7, 2022 | Published additional information about [IAM user accounts](/sase/docs/user-accounts). | -| May 25, 2022 | Published [User Account APIs](/sase/api/iam/user-accounts) for the IAM service. | +| June 7, 2022 | Published additional information about [IAM user accounts](/sase/docs/user-accounts). | +| May 25, 2022 | Published [User Account APIs](/sase/api/iam/user-accounts) for the IAM service. | | May 16, 2022 | Prisma Access Configuration API monthly release, which includes [breaking changes](/sase/docs/release-notes/release-notes#april-2022) to the APIs. | -| April 26, 2022 | Added Prisma Access Insights v1.0 and v2.0 APIs | -| April 12, 2022 | Corrected base URLs in the API reference. Fixed bugs and typos in the breadcrumbs. Added release notes to the developer documentation. Miscellaneous editorial corrections. | -| April 8, 2022 | First public release of the Prisma SASE API in support of MSSPs. | +| April 26, 2022 | Added Prisma Access Insights v1.0 and v2.0 APIs. | +| April 12, 2022 | Corrected base URLs in the API reference. Fixed bugs and typos in the breadcrumbs. Added release notes to the developer documentation. Miscellaneous editorial corrections. | +| April 8, 2022 | First public release of the Prisma SASE API in support of MSSPs. | \ No newline at end of file diff --git a/products/scm/sidebars.ts b/products/scm/sidebars.ts index b243cd0b0..57f98e2b7 100644 --- a/products/scm/sidebars.ts +++ b/products/scm/sidebars.ts @@ -115,6 +115,10 @@ module.exports = { type: "doc", id: "scm/api/config/sase/setup/setup-api", }, + { + type: "doc", + id: "scm/api/config/sase/setup/snippet-sharing", + }, require("./api/config/sase/setup/sidebar"), ], }, @@ -199,6 +203,10 @@ module.exports = { type: "doc", id: "scm/api/config/ngfw/setup/setup-api-ngfw", }, + { + type: "doc", + id: "scm/api/config/ngfw/setup/snippet-sharing", + }, require("./api/config/ngfw/setup/sidebar"), ], }, @@ -283,6 +291,10 @@ module.exports = { type: "doc", id: "scm/api/config/cloudngfw/setup/setup-api-cloud-ngfw", }, + { + type: "doc", + id: "scm/api/config/cloudngfw/setup/snippet-sharing", + }, require("./api/config/cloudngfw/setup/sidebar"), ], }, diff --git a/src/pages/strata-cloud-manager/index.js b/src/pages/strata-cloud-manager/index.js index 8415012af..475957f2f 100644 --- a/src/pages/strata-cloud-manager/index.js +++ b/src/pages/strata-cloud-manager/index.js @@ -211,6 +211,11 @@ export default function SCMLandingPage() { to: "cdl/api/log-forwarding", icon: "api-doc", }, + { + label: "Snippet Sharing", + to: "scm/api/config/snippet-sharing", + icon: "api-doc", + }, ], }, },