diff --git a/openapi-specs/scm/config/cloudngfw/operations/config-operations.yaml b/openapi-specs/scm/config/cloudngfw/operations/config-operations.yaml index 153a8e716..60cff0292 100644 --- a/openapi-specs/scm/config/cloudngfw/operations/config-operations.yaml +++ b/openapi-specs/scm/config/cloudngfw/operations/config-operations.yaml @@ -127,10 +127,9 @@ paths: properties: admin: type: array - description: Push only the changes for these administrators and/or service accounts + description: Use this field to list administrators or service accounts. If you intend to push all folders, do not include this admin field; instead, list each folder individually in the folder field. items: type: string - default: all description: type: string description: A description of the changes being pushed diff --git a/openapi-specs/scm/config/cloudngfw/security/security-services.yaml b/openapi-specs/scm/config/cloudngfw/security/security-services.yaml index cfb7f930e..232f7752c 100644 --- a/openapi-specs/scm/config/cloudngfw/security/security-services.yaml +++ b/openapi-specs/scm/config/cloudngfw/security/security-services.yaml @@ -1971,7 +1971,9 @@ paths: allOf: - type: array items: - $ref: '#/components/schemas/security-rules' + oneOf: + - $ref: '#/components/schemas/security-rules' + - $ref: '#/components/schemas/internet-rules' limit: type: number default: 200 @@ -2004,7 +2006,9 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/security-rules' + oneOf: + - $ref: '#/components/schemas/security-rules' + - $ref: '#/components/schemas/internet-rules' responses: '200': $ref: '#/components/responses/http_created' @@ -2059,7 +2063,9 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/security-rules' + oneOf: + - $ref: '#/components/schemas/security-rules' + - $ref: '#/components/schemas/internet-rules' responses: '200': $ref: '#/components/responses/http_ok' @@ -5276,6 +5282,11 @@ components: items: type: string description: The name of an HTTP header insertion profile + ai_security: + type: array + items: + type: string + description: The name of an HTTP header insertion profile required: - name oneOf: @@ -5324,13 +5335,6 @@ components: name: type: string description: The name of the security rule - type: - description: The type of security rule within the unified security rulebase (future) - type: string - enum: - - security - - internet - readOnly: true disabled: type: boolean description: Is the security rule disabled? @@ -5452,6 +5456,11 @@ components: log_end: type: boolean description: Log at session end? + tenant_restrictions: + type: array + items: + type: string + default: any required: - name - from @@ -5497,6 +5506,222 @@ components: example: My Device required: - device + internet-rules: + type: object + properties: + id: + type: string + description: The UUID of the internet rule + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: The name of the internet rule + policy_type: + type: string + default: "Internet" + description: + type: string + description: The description of the internet rule + disabled: + type: boolean + description: Is the internet rule disabled? + default: false + log_settings: + type: object + properties: + log_sessions: + type: boolean + default: true + tag: + type: array + items: + type: string + maxItems: 64 + from: + type: array + items: + type: string + default: ["any"] + to: + type: array + items: + type: string + default: ["any"] + source: + type: array + items: + type: string + default: ["any"] + source_user: + type: array + items: + type: string + default: ["any"] + destination: + type: array + items: + type: string + default: ["any"] + negate_source: + type: boolean + default: false + negate_user: + type: boolean + default: false + device: + type: array + items: + type: string + default: ["any"] + service: + type: array + items: + type: string + schedule: + type: string + action: + type: string + enum: [deny, allow] + default: allow + security_settings: + type: object + properties: + anti_spyware: + type: string + enum: [yes, no] + default: yes + vulnerability: + type: string + enum: [yes, no] + default: yes + virus_and_wildfire_analysis: + type: string + enum: [yes, no] + default: yes + block_web_application: + type: array + items: + type: string + block_url_category: + type: array + items: + type: string + allow_web_application: + type: array + items: + type: object + properties: + name: + type: string + type: + type: string + file_control: + type: object + properties: + upload: + type: string + enum: [allow-all-file-types, best-practice, block-all-file-types] + download: + type: string + enum: [allow-all-file-types, best-practice, block-all-file-types] + saas_enterprise_control: + type: object + properties: + consumer_access: + type: object + properties: + enable: + type: string + enum: [yes, no] + enterprise_access: + type: object + properties: + enable: + type: string + enum: [yes, no] + tenant_restrictions: + type: array + items: + type: string + application_function: + type: array + items: + type: string + dlp: + type: string + saas_tenant_list: + type: array + items: + type: string + saas_user_list: + type: array + items: + type: string + tenant_control: + type: object + properties: + tenants: + type: array + items: + type: string + allowed_activities: + type: array + items: + type: string + blocked_activities: + type: array + items: + type: string + parent_application: + type: string + allow_url_category: + type: array + items: + type: object + properties: + name: + type: string + decryption: + type: string + enum: [enabled, disabled] + default: enabled + credential_enforcement: + type: string + enum: [enabled, disabled] + default: enabled + additional_action: + type: string + enum: [none, continue, redirect, isolate] + default: none + isolation_profiles: + type: string + default: none + file_control: + type: object + properties: + upload: + type: string + enum: [allow-all-file-types, best-practice, block-all-file-types] + download: + type: string + enum: [allow-all-file-types, best-practice, block-all-file-types] + dlp: + type: string + default_profile_settings: + type: object + properties: + file_control: + type: object + properties: + upload: + type: string + enum: [allow-all-file-types, best-practice, block-all-file-types] + download: + type: string + enum: [allow-all-file-types, best-practice, block-all-file-types] + dlp: + type: string url-access-profiles: type: object properties: @@ -5582,6 +5807,10 @@ components: safe_search_enforcement: type: boolean default: false + redirect: + type: array + items: + type: string required: - name oneOf: @@ -6333,7 +6562,9 @@ components: message: type: string details: - type: object + oneOf: + - type: string + - type: object help: type: string security: diff --git a/openapi-specs/scm/config/cloudngfw/setup/paloaltonetworks-snippet-sharing.yaml b/openapi-specs/scm/config/cloudngfw/setup/config-setup.yaml similarity index 65% rename from openapi-specs/scm/config/cloudngfw/setup/paloaltonetworks-snippet-sharing.yaml rename to openapi-specs/scm/config/cloudngfw/setup/config-setup.yaml index 1f340ccce..78f675875 100644 --- a/openapi-specs/scm/config/cloudngfw/setup/paloaltonetworks-snippet-sharing.yaml +++ b/openapi-specs/scm/config/cloudngfw/setup/config-setup.yaml @@ -1,1471 +1,449 @@ -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 +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 - 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 June 27,\ - \ 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" + name: Palo Alto Networks Technical Support + url: 'https://support.paloaltonetworks.com' 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 +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 + - name: Snippet Categories + description: Configuration snippets and category information + - name: Trusted Tenants Overview + description: Overview of published and subscribed tenants + - name: Trust Information + description: Trust Information with shared snippets + - name: Trusts + description: Trusts between tenants + - name: Trust Validations + description: Validates trust information + - name: Subscribed Tenants + description: Subscribed Tenants information + - name: Snippet Snapshots + description: Snippet Snapshots + - name: Shared Snippets + description: Shared Snippets + - name: Snippet Audit Logs + description: Snippet Audit Logs paths: - /devices: + /labels: get: - description: 'Retrieve a list of devices. - - ' - operationId: get-devices + 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' + - $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: - - items: - $ref: '#/components/schemas/devices' - type: array + - type: array + items: + $ref: '#/components/schemas/labels' limit: - default: 200 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' + $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' - '404': - $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: List devices - tags: - - Devices - /devices/{id}: + /snippets/{id}: get: - description: 'Retrieve an existing device. - - ' - operationId: get-devices-id + summary: Get a snippet + description: | + Retrieve an existing snippet. + tags: + - Snippets parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' + operationId: GetSnippetByID responses: '200': content: application/json: schema: - $ref: '#/components/schemas/devices' + $ref: '#/components/schemas/snippets' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -1477,24 +455,21 @@ paths: $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 + summary: Update a snippet + description: | + Update an existing snippet. + tags: + - Snippets + operationId: UpdateSnippetByID parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' requestBody: content: application/json: schema: - $ref: '#/components/schemas/devices' - description: The `device` resource definition. + $ref: '#/components/schemas/snippets' + description: The `snippet` resource definition. responses: '200': $ref: '#/components/responses/http_ok' @@ -1510,41 +485,66 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Update a device + delete: + summary: Delete a snippet + description: | + Delete an existing snippet. tags: - - Devices + - 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: - description: 'Retrieve a list of folders. - - ' - operationId: get-folders + 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' + - $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: - - items: - $ref: '#/components/schemas/folders' - type: array + - type: array + items: + $ref: '#/components/schemas/folders' limit: - default: 200 type: number + default: 200 offset: - default: 0 type: number + default: 0 total: type: number - type: object description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -1556,16 +556,13 @@ paths: $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 + summary: Create a folder + description: | + Create a new folder. + tags: + - Folders + operationId: CreateFolder requestBody: content: application/json: @@ -1585,50 +582,16 @@ paths: $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 + summary: Get a folder + description: | + Retrieve an existing folder. + tags: + - Folders + operationId: GetFolderByID parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' responses: '200': content: @@ -1646,18 +609,15 @@ paths: $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 + summary: Update a folder + description: | + Update an existing folder. + tags: + - Folders + operationId: UpdateFolderByID parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' requestBody: content: application/json: @@ -1679,42 +639,18 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Update a folder + delete: + summary: Delete a folder + description: | + Delete an existing folder. tags: - - Folders - /labels: - get: - description: 'Retrieve a list of labels. - - ' - operationId: get-labels + - Folders + operationId: DeleteFolderByID parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' + - $ref: '#/components/parameters/uuid' 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 + $ref: '#/components/responses/http_ok' '400': $ref: '#/components/responses/bad_request_errors_basic' '401': @@ -1723,56 +659,43 @@ paths: $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 + /devices: + get: + summary: List devices + description: | + Retrieve a list of devices. tags: - - Labels - /labels/{id}: - delete: - description: 'Delete an existing label. - - ' - operationId: delete-labels-id + - Devices + operationId: ListDevices parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/pagination-optional' + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' responses: '200': content: application/json: schema: - $ref: '#/components/schemas/labels' + 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' @@ -1782,28 +705,24 @@ paths: $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 + /devices/{id}: get: - description: 'Retrieve an existing label. - - ' - operationId: get-labels-id + summary: Get a device + description: | + Retrieve an existing device. + tags: + - Devices + operationId: GetDeviceByID parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' responses: '200': content: application/json: schema: - $ref: '#/components/schemas/labels' + $ref: '#/components/schemas/devices' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -1815,24 +734,21 @@ paths: $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 + summary: Update a device + description: | + Update an existing device. + tags: + - Devices + operationId: UpdateDeviceByID parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' requestBody: content: application/json: schema: - $ref: '#/components/schemas/labels' - description: The `label` resource definition. + $ref: '#/components/schemas/devices-put' + description: The `device` resource definition. responses: '200': $ref: '#/components/responses/http_ok' @@ -1848,26 +764,38 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Update label - tags: - - Labels - /snippet-audit-logs/{id}: + /snippet-categories: get: - description: 'Retrieve an existing snippet audit logs by UUID. - - ' - operationId: get-snippet-audit-logs-id + summary: List snippets categories + description: | + Retrieve a list of snippet categories. + tags: + - Snippet Categories + operationId: ListSnippetCategories parameters: - - $ref: '#/components/parameters/uuid' - - $ref: '#/components/parameters/trusted-tenant-type' + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' responses: '200': content: application/json: schema: - $ref: '#/components/schemas/snippet_audit_history' + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/snippet_categories' + limit: + type: number + default: 200 + offset: + type: number + default: 0 + total: + type: number description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -1879,165 +807,136 @@ paths: $ref: '#/components/responses/not_found' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Get a snippet audit logs + /snippet-categories/{id}: + get: + summary: Get a snippet category + description: | + Retrieve an existing snippet category. 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 + - Snippet Categories + parameters: + - $ref: '#/components/parameters/uuid' + operationId: GetSnippetCategoryByID responses: '200': content: application/json: schema: - $ref: '#/components/schemas/save_snippet_snapshot_config_response' + $ref: '#/components/schemas/snippet_categories' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' + $ref: '#/components/responses/bad_request_errors_basic' '401': $ref: '#/components/responses/auth_errors' '403': $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' + '404': + $ref: '#/components/responses/not_found' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Save Snippet Snapshots + delete: + summary: Delete a snippet category + description: | + Delete an existing snippet category. 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 + - Snippet Categories + operationId: DeleteSnippetCategoryByID + parameters: + - $ref: '#/components/parameters/uuid' responses: '200': content: application/json: schema: - $ref: '#/components/schemas/snippet_snapshot_compare_response' + $ref: '#/components/schemas/snippet_categories' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' + $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: Compare Snippet Snapshots + /trusted-tenant-overview: + get: + summary: Trusted Tenants Overview + description: | + Overview of publishers and subscribers. 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 + - Trusted Tenants Overview + operationId: GetTrustedTenantsOverview responses: '200': content: application/json: schema: - $ref: '#/components/schemas/snippet_snapshot_load_snippet_response' + $ref: '#/components/schemas/trusted_tenant_overview' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' + $ref: '#/components/responses/bad_request_errors_basic' '401': $ref: '#/components/responses/auth_errors' '403': $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' + '404': + $ref: '#/components/responses/not_found' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Load Snippet Snapshots + /trusted-tenants: + get: + summary: Trusted Tenants With Snippets + description: | + Retrieve a list of trusted tenants with snippets. 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 + - Trust Information + operationId: ListTrustedTenantsWithSnippets + parameters: + - $ref: '#/components/parameters/trusted-tenant-type' responses: '200': content: application/json: schema: - $ref: '#/components/schemas/snippet_snapshot_publish_response' + type: array + items: + $ref: '#/components/schemas/trust_info_with_shared_snippets' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' + $ref: '#/components/responses/bad_request_errors_basic' '401': $ref: '#/components/responses/auth_errors' '403': $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' + '404': + $ref: '#/components/responses/not_found' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Publish Snippet Snapshots - tags: - - Snippet Snapshots - /snippet-snapshots:updates: + /trusts: post: - description: 'Update Snippet Snapshots. - - ' - operationId: post-snippet-snapshots:updates + summary: Create a trust + description: | + Create a new trust. + tags: + - Trusts + operationId: CreateTrust requestBody: content: application/json: schema: - $ref: '#/components/schemas/snippet_snapshot_subscriber_compare_payload' - description: The `Snippet Snapshots To Update` resource definition + $ref: '#/components/schemas/trusts' + description: The `trusts` resource definition responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/snippet_snapshot_subscriber_compare_response' - description: OK + $ref: '#/components/schemas/tenant_trust_info' + description: CREATED '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' '401': @@ -2048,41 +947,24 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Update Snippet Snapshots + delete: + summary: Delete a Trust + description: | + Delete an existing Trust. tags: - - Snippet Snapshots - /snippets: - get: - description: 'Retrieve a list of snippets. - - ' - operationId: get-snippets + - Trusts + operationId: DeleteTrust parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' + - $ref: '#/components/parameters/trust-ids' + - $ref: '#/components/parameters/trusted-tenant-type' 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 + type: array + items: + $ref: '#/components/schemas/tenant_trust_info' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -2092,27 +974,31 @@ paths: $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: Snippet list - tags: - - Snippets + /trust-validations: post: - description: 'Create a snippet. - - ' - operationId: post-snippets + summary: Validates Trust + description: | + Validate trust. + tags: + - Trust Validations + operationId: ValidateTrust requestBody: content: application/json: schema: - $ref: '#/components/schemas/snippets' - description: The `snippet` resource definition. + $ref: '#/components/schemas/trusts_validation_payload' + description: The `trust validation` resource definition responses: - '201': - $ref: '#/components/responses/http_created' + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/tenant_trust_info' + description: OK '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' '401': @@ -2123,25 +1009,24 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: New snippet + /subscribed-tenants/{id}: + get: + summary: Get Subscribed Tenants + description: | + Retrieve a list of subscribed tenants. tags: - - Snippets - /snippets/{id}: - delete: - description: 'Delete an existing snippet. - - ' - operationId: delete-snippets-id + - Subscribed Tenants + operationId: ListSubscribedTenantsByID parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' responses: '200': content: application/json: schema: - $ref: '#/components/schemas/snippets' + type: array + items: + $ref: '#/components/schemas/snippet_share_info' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -2151,60 +1036,59 @@ paths: $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 + /subscribed-tenants: + post: + summary: Create Subscribed Tenant + description: | + Create Subscribed Tenant. tags: - - Snippets - get: - description: 'Retrieve an existing snippet. - - ' - operationId: get-snippets-id - parameters: - - $ref: '#/components/parameters/uuid' + - Subscribed Tenants + operationId: CreateSubscribedTenant + 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/snippets' + $ref: '#/components/schemas/tenant_trust_info' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic' + $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: Get a snippet - tags: - - Snippets put: - description: 'Update a snippet. - - ' - operationId: put-snippets-id - parameters: - - $ref: '#/components/parameters/uuid' + summary: Update a subscribed tenant + description: | + Update an existing subscribed tenant. + tags: + - Subscribed Tenants + operationId: UpdateSubscribedTenantBySnippetID requestBody: content: application/json: schema: - $ref: '#/components/schemas/snippets' - description: The `snippet` resource definition. + $ref: '#/components/schemas/subscriber_property_payload' + description: The `subscribed tenant` resource definition. responses: '200': - $ref: '#/components/responses/http_ok' + content: + application/json: + schema: + $ref: '#/components/schemas/subscriber_property_payload' + description: OK '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' '401': @@ -2217,20 +1101,16 @@ paths: $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 + summary: Delete a subscribed tenant + description: | + Delete an existing subscribed tenant. + tags: + - Subscribed Tenants + operationId: DeleteSubscribedTenantBySnippedID parameters: - - $ref: '#/components/parameters/snippet-id' - - $ref: '#/components/parameters/recipient-tsgs' + - $ref: '#/components/parameters/snippet-id' + - $ref: '#/components/parameters/recipient-tsgs' responses: '200': content: @@ -2250,28 +1130,26 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Delete a subscribed tenant - tags: - - Subscribed Tenants + /snippet-snapshots: post: - description: 'Create Subscribed Tenant. - - ' - operationId: post-subscribed-tenants + summary: Save Snippet Snapshots + description: | + Save Snippet Snapshots. + tags: + - Snippet Snapshots + operationId: SaveSnippetSnapshot requestBody: content: application/json: schema: - $ref: '#/components/schemas/add_subscriber_request_payload' - description: The `Subscribed Tenant` resource definition + $ref: '#/components/schemas/save_snippet_snapshot_payload' + description: The `Save Snippet Snapshots` resource definition responses: '200': content: application/json: schema: - $ref: '#/components/schemas/tenant_trust_info' + $ref: '#/components/schemas/save_snippet_snapshot_config_response' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' @@ -2283,28 +1161,26 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Create Subscribed Tenant + /snippet-snapshots:publish: + post: + summary: Publish Snippet Snapshots + description: | + Publish Snippet Snapshots. tags: - - Subscribed Tenants - put: - description: 'Update an existing subscribed tenant. - - ' - operationId: put-subscribed-tenants + - Snippet Snapshots + operationId: PublishSnippetSnapshot requestBody: content: application/json: schema: - $ref: '#/components/schemas/subscriber_property_payload' - description: The `subscribed tenant` resource definition. + $ref: '#/components/schemas/snippet_snapshot_publish_request' + description: The `Snippet Snapshots To Publish` resource definition responses: '200': content: application/json: schema: - $ref: '#/components/schemas/subscriber_property_payload' + $ref: '#/components/schemas/snippet_snapshot_publish_response' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' @@ -2312,65 +1188,30 @@ paths: $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: + /snippet-snapshots:compare: post: - description: "Validate trust. \n" - operationId: post-trust-validations + summary: Compare Snippet Snapshots + description: | + Compare Snippet Snapshots. + tags: + - Snippet Snapshots + operationId: CompareSnippetSnapshot requestBody: content: application/json: schema: - $ref: '#/components/schemas/trusts_validation_payload' - description: The `trust validation` resource definition + $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/trust_validation_info' + $ref: '#/components/schemas/snippet_snapshot_compare_response' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' @@ -2382,122 +1223,120 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Validates Trust + /snippet-snapshots:diff: + post: + summary: Diff Snippet Snapshots + description: | + Diff Snippet Snapshots. tags: - - Trust Validations - /trusted-tenant-overview: - get: - description: "Overview of publishers and subscribers. \n" - operationId: get-trusted-tenant-overview + - Snippet Snapshots + operationId: DiffSnippetSnapshot + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/compare_tlo_payload' + description: The `Snippet Snapshots To Differentiate` resource definition responses: '200': content: application/json: schema: - $ref: '#/components/schemas/trusted_tenant_overview' + $ref: '#/components/schemas/snippet_snapshot_diff_response' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic' + $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: Trusted Tenants Overview + /snippet-snapshots:load: + post: + summary: Load Snippet Snapshots + description: | + Load Snippet Snapshots. 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' + - Snippet Snapshots + operationId: LoadSnippetSnapshot + 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: - items: - $ref: '#/components/schemas/trust_info_with_shared_snippets' - type: array + $ref: '#/components/schemas/snippet_snapshot_load_snippet_response' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic' + $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: Trusted Tenants With Snippets + /snippet-snapshots:updates: + post: + summary: Update Snippet Snapshots + description: | + Update Snippet Snapshots. 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' + - Snippet Snapshots + operationId: UpdateSnippetSnapshot + 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: - items: - $ref: '#/components/schemas/tenant_trust_info' - type: array + $ref: '#/components/schemas/snippet_snapshot_subscriber_compare_response' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic' + $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: Delete a Trust - tags: - - Trusts + /snippet-snapshots:convert: post: - description: 'Create a new trust. - - ' - operationId: post-trusts + summary: Convert Snippet Snapshots + description: | + Convert Snippet Snapshots. + tags: + - Snippet Snapshots + operationId: ConvertSnippetSnapshot requestBody: content: application/json: schema: - $ref: '#/components/schemas/trusts' - description: The `trusts` resource definition + $ref: '#/components/schemas/common_snippet_snapshot_payload' + description: The `Snippet Snapshots To Convert` resource definition responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/tenant_trust_info' - description: CREATED + $ref: '#/components/schemas/dynamic_entry' + description: OK '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' '401': @@ -2508,44 +1347,22 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Create a trust - tags: - - Trusts - /variables: + /shared-snippets: 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' + summary: Get Shared Snippets + description: | + Retrieve a list of shared snippets. + tags: + - Shared Snippets + operationId: ListSharedSnippets 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 + type: array + items: + $ref: '#/components/schemas/snippet_share_info' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -2557,27 +1374,26 @@ paths: $ref: '#/components/responses/not_found' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: List variables + put: + summary: Update Shared Snippets + description: | + Update Shared Snippets. tags: - - Variables - post: - description: "Create a variable. \n" - operationId: post-variables - parameters: - - $ref: '#/components/parameters/folder' - - $ref: '#/components/parameters/snippet' - - $ref: '#/components/parameters/device' + - Shared Snippets + operationId: ConvertSharedSnippets requestBody: content: application/json: schema: - $ref: '#/components/schemas/variables' - description: The `variable` resource definition. + $ref: '#/components/schemas/snippet_share_upload_payload' + description: The `Shared Snippets To Update` resource definition responses: - '201': - $ref: '#/components/responses/http_created' + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_share_info' + description: OK '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' '401': @@ -2588,56 +1404,54 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Create variables + /shared-snippets:load: + post: + summary: Load Shared Snippets + description: | + Convert Snippet Snippets. tags: - - Variables - /variables/{id}: - delete: - description: 'Delete a variable. - - ' - operationId: delete-variables-id - parameters: - - $ref: '#/components/parameters/uuid' + - Shared Snippets + operationId: LoadSharedSnippets + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_share_load_payload' + description: The `Snippet Snapshots To Convert` resource definition responses: '200': content: application/json: schema: - $ref: '#/components/schemas/variables' + $ref: '#/components/schemas/snippet_share_load_payload' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic' + $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: Delete variable - tags: - - Variables + /snippet-audit-logs/{id}: get: - description: 'Retrieve an existing variable. - - ' - operationId: get-variables-id + summary: Get a snippet audit logs + description: | + Retrieve an existing snippet audit logs by UUID. + tags: + - Snippet Audit Logs parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/trusted-tenant-type' + operationId: GetSnippetAuditLogsByID responses: '200': content: application/json: schema: - $ref: '#/components/schemas/variables' + $ref: '#/components/schemas/snippet_audit_history' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -2649,92 +1463,1603 @@ paths: $ref: '#/components/responses/not_found' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Get a variables + /snippet-audit-logs: + post: + summary: Create snippet audit logs configuration + description: | + Create snippet audit logs configuration. tags: - - Variables - put: - description: 'Update a variable. - - ' - operationId: put-variables-id - parameters: - - $ref: '#/components/parameters/uuid' + - Snippet Audit Logs + operationId: CreateSnippetAuditLogs requestBody: content: application/json: schema: - $ref: '#/components/schemas/variables' - description: The `variable` resource definition. + $ref: '#/components/schemas/snippet_audit_payload' + description: The `Snippet Snapshots To Convert` resource definition responses: '200': - $ref: '#/components/responses/http_ok' + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_audit_history' + 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 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 +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 + pagination-optional: + name: pagination + in: query + required: false + schema: + type: boolean + description: The parameter to mention if the response should be paginated. By default, its set to false + 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 + trusted-tenant-type: + name: type + in: query + required: true + schema: + type: string + enum: + - subscriber + - publisher + description: | + Specifies the type of the tenant that is trusted, either 'subscriber' or 'publisher'. + trust-ids: + name: trustids + in: query + required: true + schema: + type: string + description: | + Comma-separated list of trust IDs + snippet-id: + name: snippet-id + in: query + required: true + schema: + type: string + description: | + The ID of the snippet + recipient-tsgs: + name: tsgs + in: query + required: true + schema: + type: string + description: | + Comma-separated list of recipient TSG IDs + 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: + oneOf: + - type: string + - 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-put: + type: object + properties: + "display_name": + type: string + description: The display name of the device + "folder": + type: string + description: The folder containing the device + "description": + type: string + description: The description 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 + 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 + "display_name": + type: string + description: The display 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 + snippet_categories: + type: object + properties: + name: + type: string + readOnly: true + id: + type: string + readOnly: true + enable_prefix: + type: boolean + readOnly: true + prefix: + type: string + readOnly: true + display_name: + type: string + readOnly: true + type: + type: string + readOnly: true + description: + type: string + readOnly: true + status: + type: string + readOnly: true + error: + type: string + readOnly: true + donor_tsg: + type: string + readOnly: true + donor_tenant_id: + type: string + readOnly: true + donor_tenant_name: + type: string + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_tenant_id: + type: string + readOnly: true + recipient_tenant_name: + type: string + readOnly: true + snippet_uuid: + type: string + readOnly: true + donor_snippet_version: + type: integer + readOnly: true + donor_snippet_file_id: + type: integer + readOnly: true + donor_created: + type: integer + readOnly: true + msg_uuid: + type: string + readOnly: true + created_in: + type: string + format: date-time + readOnly: true + last_update: + type: string + format: date-time + readOnly: true + folders: + type: array + items: + $ref: '#/components/schemas/used_folders' + shared_in: + type: string + readOnly: true + labels: + type: array + items: + type: string + readOnly: true + recipient_paused_update: + type: boolean + readOnly: true + recipient_validate_before_update: + type: boolean + readOnly: true + version: + type: integer + readOnly: true + required: + - name + - id + used_folders: + type: object + properties: + id: + type: string + name: + type: string + required: + - name + trusted_tenant_overview: + type: object + properties: + publisher: + type: object + properties: + total: + type: integer + readOnly: true + pending: + type: integer + readOnly: true + subscriber: + type: object + properties: + total: + type: integer + readOnly: true + pending: + type: integer + readOnly: true + trust_info_with_shared_snippets: + type: object + properties: + id: + type: integer + readOnly: true + donor_tsg: + type: string + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_paused_update: + type: integer + readOnly: true + recipient_validate_before_update: + type: integer + readOnly: true + snippet_uuid: + type: string + readOnly: true + snippet_name: + type: string + readOnly: true + donor_snippet_version: + type: integer + readOnly: true + donor_snippet_file_id: + type: integer + readOnly: true + donor_created: + type: integer + readOnly: true + recipient_snippet_version: + type: integer + readOnly: true + recipient_snippet_file_id: + type: integer + readOnly: true + msg_uuid: + type: string + readOnly: true + status: + type: string + readOnly: true + error: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + last_updated: + type: string + format: date-time + readOnly: true + updated_by: + type: string + readOnly: true + shared_snippets: + type: array + items: + $ref: '#/components/schemas/snippet_share_info' + snippet_share_info: + type: object + properties: + id: + type: integer + format: uint + readOnly: true + donor_tsg: + type: string + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_paused_update: + type: boolean + readOnly: true + recipient_validate_before_update: + type: boolean + readOnly: true + snippet_uuid: + type: string + readOnly: true + snippet_name: + type: string + readOnly: true + donor_snippet_version: + type: integer + readOnly: true + donor_snippet_file_id: + type: integer + readOnly: true + donor_created: + type: integer + readOnly: true + recipient_snippet_version: + type: integer + readOnly: true + recipient_snippet_file_id: + type: integer + readOnly: true + msg_uuid: + type: string + readOnly: true + status: + type: string + readOnly: true + error: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + last_updated: + type: string + format: date-time + readOnly: true + donor_tenant_id: + type: string + readOnly: true + donor_tenant_name: + type: string + readOnly: true + recipient_tenant_id: + type: string + readOnly: true + recipient_tenant_name: + type: string + readOnly: true + properties: + type: array + items: + $ref: '#/components/schemas/snippet_share_property' + snippet_share_property: + type: object + properties: + id: + type: integer + readOnly: true + donor_tsg: + type: string + readOnly: true + donor_tenant: + type: string + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_tenant: + type: string + readOnly: true + snippet_uuid: + type: string + readOnly: true + snippet_name: + type: string + readOnly: true + property_name: + type: string + readOnly: true + property_value: + type: string + readOnly: true + msg_uuid: + type: string + readOnly: true + status: + type: string + readOnly: true + error: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + created_by: + type: string + readOnly: true + updated: + type: string + format: date-time + readOnly: true + updated_by: + type: string + readOnly: true + trusts: + type: object + properties: + tsg: + type: string + donor_tenant_name: + type: string + recipient_tenant_name: + type: string + trust_id: + type: integer + nullable: true + psk: + type: string + tenant_trust_info: + type: object + properties: + trust_id: + type: integer + donor_trust_info_id: + type: integer + readOnly: true + donor_tsg: + type: string + readOnly: true + donor_tenant_id: + type: string + donor_tenant_name: + type: string + donor_cluster: + type: string + readOnly: true + donor_region: + type: string + readOnly: true + donor_project: + type: string + readOnly: true + recipient_trust_info_id: + type: integer + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_tenant_id: + type: string + readOnly: true + recipient_tenant_name: + type: string + recipient_cluster: + type: string + readOnly: true + recipient_region: + type: string + readOnly: true + recipient_project: + type: string + readOnly: true + psk: + type: string + donor_msg_uuid: + type: string + readOnly: true + recipient_msg_uuid: + type: string + readOnly: true + current_status: + type: string + readOnly: true + error_details: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + created_by: + type: string + readOnly: true + last_updated: + type: string + format: date-time + readOnly: true + updated_by: + type: string + readOnly: true + trusts_validation_payload: + type: object + required: + - tsg + - donor_tenant_name + - recipient_tenant_name + - trust_id + - psk + properties: + tsg: + type: string + donor_tenant_name: + type: string + recipient_tenant_name: + type: string + trust_id: + type: integer + nullable: true + psk: + type: string + add_subscriber_request_payload: + type: array + items: + type: object + required: + - tsg_id + - snippet_id + - snippet_name + properties: + tsg_id: + type: string + snippet_id: + type: string + snippet_name: + type: string + subscriber_property_payload: + type: object + required: + - tsg_id + - snippet_id + - snippet_name + properties: + tsg_id: + type: string + snippet_id: + type: string + snippet_name: + type: string + property: + type: array + items: + $ref: '#/components/schemas/property_item' + property_item: + type: object + properties: + id: + type: integer + name: + type: string + value: + type: string + deleted_subscriber: + type: object + properties: + info: + $ref: '#/components/schemas/snippet_share_info' + status: + type: string + details: + type: string + snippet_snapshot_publish_request: + type: object + properties: + id: + type: string + name: + type: string + tsgs: + type: array + items: + type: string + validation: + type: boolean + version: + type: integer + snippet_snapshot_publish_response: + type: object + readOnly: true + properties: + id: + type: string + readOnly: true + tsgs: + type: array + readOnly: true + items: + type: string + version: + type: integer + readOnly: true + nullable: true + file_id: + type: integer + readOnly: true + nullable: true + job_id: + type: integer + readOnly: true + save_snippet_snapshot_payload: + type: object + properties: + id: + type: string + description: + type: string + required: + - id + - description + save_snippet_snapshot_config_response: + type: object + readOnly: true + properties: + status: + type: string + readOnly: true + result: + type: object + readOnly: true + properties: + version: + type: string + compare_snippet_snapshot_config_payload: + type: object + properties: + id: + type: string + version: + type: integer + comparing_version: + type: integer + required: + - id + - version + - comparing_version + compare_tlo_payload: + type: object + properties: + snippet_id: + type: string + object_id: + type: string + version: + type: integer + comparing_version: + type: integer + required: + - snippet_id + - object_id + - version + - comparing_version - + common_snippet_snapshot_payload: + type: object + properties: + id: + type: string + keep_local: + type: boolean + snippet_snapshot_compare_entry: + type: object + readOnly: true + properties: + id: + type: string + readOnly: true + admin: + type: string + readOnly: true + format: email + loc: + type: string + loctype: + type: string + objectname: + type: string + objecttype: + type: string + operations: + type: string + enum: [edit, create] + timestamp: + type: string + format: date-time + snippet_snapshot_compare_response: + type: array + readOnly: true + items: + $ref: '#/components/schemas/snippet_snapshot_compare_entry' + snippet_snapshot_diff_response: + type: object + properties: + after: + type: object + readOnly: true + properties: + '@ts': + type: string + readOnly: true + format: date-time + entry: + type: array + readOnly: true + items: + $ref: '#/components/schemas/dynamic_entry' + before: + type: object + properties: + '@ts': + type: string + format: date-time + entry: + type: array + items: + $ref: '#/components/schemas/dynamic_entry' + snippet_snapshot_load_snippet_payload: + type: object + properties: + id: + type: string + version: + type: string + required: + - id + - version + snippet_snapshot_load_snippet_response: + type: object + readOnly: true + properties: + status: + type: string + snippet_snapshot_subscriber_compare_payload: + type: object + properties: + id: + type: string + tenant_id: + type: string + description: Publisher Tenant ID + required: + - id + - tenant_id + snippet_snapshot_subscriber_compare_response: + type: object + properties: + publisher: + type: object + readOnly: true + properties: + entry: + type: array + items: + $ref: '#/components/schemas/dynamic_entry' + subscriber: + type: object + readOnly: true + properties: + entry: + type: array + items: + $ref: '#/components/schemas/dynamic_entry' + dynamic_entry: + type: object + readOnly: true + additionalProperties: true + snippet_share_upload_payload: + type: object + required: + - id + properties: + id: + type: string + pause_update: + type: boolean + validate_before_update: + type: boolean + snippet_share_load_payload: + type: object + required: + - id + properties: + id: + type: string + validation: + type: boolean + nullable: true + snippet_audit_history: + type: object + properties: + id: + type: integer + format: uint + readOnly: true + donor_tsg: + type: string + readOnly: true + donor_tenant_name: + type: string + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_tenant_name: + type: string + readOnly: true + donor_created: + type: integer + readOnly: true + snippet_uuid: + type: string + readOnly: true + user: + type: string + readOnly: true + version: + type: string + readOnly: true + action: + type: string + readOnly: true + display: + type: integer + readOnly: true + details: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + deleted: + type: integer + readOnly: true + snippet_audit_payload: + type: object + properties: + donor_tsg: + type: string + donor_tenant_name: + type: string + recipient_tsg: + type: string + recipient_tenant_name: + type: string + donor_created: + type: integer + snippet_uuid: + type: string + version: + type: string + action: + type: string + details: + type: string +security: + - scmToken: [] +x-internal: false \ No newline at end of file diff --git a/openapi-specs/scm/config/ngfw/network/network-services.yaml b/openapi-specs/scm/config/ngfw/network/network-services.yaml index 80f15d6c7..9b1b4cff4 100644 --- a/openapi-specs/scm/config/ngfw/network/network-services.yaml +++ b/openapi-specs/scm/config/ngfw/network/network-services.yaml @@ -85,8 +85,6 @@ tags: description: Route Prefix Lists - name: SD-WAN Error Correction Profiles description: SD-WAN Error Correction Profiles - - name: SD-WAN Interface Profiles - description: SD-WAN Interface Profiles - name: SD-WAN Path Quality Profiles description: SD-WAN Path Quality Profiles - name: SD-WAN Rules @@ -95,15 +93,18 @@ tags: description: SD-WAN SaaS Quality Profiles - name: SD-WAN Traffic Distribution Profiles description: SD-WAN Traffic Distribution Profiles + - name: Security Zones + description: Security Zones - name: Tunnel Interfaces description: Tunnel Interfaces - name: VLAN Interfaces description: VLAN Interfaces - name: Zone Protection Profiles description: Zone Protection Profiles - - name: Zones - description: Zones - + - name: Ssl Decryption Settings + description: Ssl Decrypt + - name: Remote Networks License + description: Remote Networks License Info paths: /ike-crypto-profiles: get: @@ -1058,7 +1059,7 @@ paths: /zones: get: tags: - - Zones + - Security Zones summary: List security zones description: | Retrieve a list of security zones. @@ -1103,7 +1104,7 @@ paths: $ref: '#/components/responses/default_errors' post: tags: - - Zones + - Security Zones summary: Create a security zone description: | Create a new security zone. @@ -1130,7 +1131,7 @@ paths: '/zones/{id}': get: tags: - - Zones + - Security Zones summary: Get a security zone description: | Get an existing security zone. @@ -1156,7 +1157,7 @@ paths: $ref: '#/components/responses/default_errors' put: tags: - - Zones + - Security Zones summary: Update a security zone description: | Update an existing security zone. @@ -1186,7 +1187,7 @@ paths: $ref: '#/components/responses/default_errors' delete: tags: - - Zones + - Security Zones summary: Delete a security zone description: | Delete a security zone. @@ -3822,6 +3823,7 @@ paths: Retrieve a list of logical routers. operationId: ListLogicalRouters parameters: + - $ref: '#/components/parameters/pagination-optional' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/name' @@ -3840,7 +3842,7 @@ paths: allOf: - type: array items: - $ref: '#/components/schemas/logical-routers' + $ref: '#/components/schemas/logical-routers-new' limit: type: number default: 200 @@ -3871,7 +3873,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/logical-routers' + $ref: '#/components/schemas/logical-routers-new' responses: '201': $ref: '#/components/responses/http_created' @@ -3901,7 +3903,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/logical-routers' + $ref: '#/components/schemas/logical-routers-new' '400': $ref: '#/components/responses/bad_request_errors_basic' '401': @@ -3926,7 +3928,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/logical-routers' + $ref: '#/components/schemas/logical-routers-new' responses: '200': $ref: '#/components/responses/http_ok' @@ -5459,161 +5461,6 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - - /sdwan-interface-profiles: - get: - tags: - - SD-WAN Interface Profiles - summary: List SD-WAN interface profiles - description: | - Retrieve a list of SD-WAN interface profiles. - operationId: ListSDWANInterfaceProfiles - parameters: - - $ref: '#/components/parameters/limit' - - $ref: '#/components/parameters/offset' - - $ref: '#/components/parameters/name' - - $ref: '#/components/parameters/folder' - - $ref: '#/components/parameters/snippet' - - $ref: '#/components/parameters/device' - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/sdwan-interface-profiles' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - '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: - tags: - - SD-WAN Interface Profiles - summary: Create an SD-WAN interface profile - description: | - Create a new SD-WAN interface profile. - operationId: CreateSDWANInterfaceProfiles - requestBody: - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/sdwan-interface-profiles' - 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' - '/sdwan-interface-profiles/{id}': - get: - tags: - - SD-WAN Interface Profiles - summary: Get an SD-WAN interface profile - description: | - Get an existing SD-WAN interface profile. - operationId: GetSDWANInterfaceProfilesByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/sdwan-interface-profiles' - '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: - tags: - - SD-WAN Interface Profiles - summary: Update an SD-WAN interface profile - description: | - Update an existing SD-WAN interface profile. - operationId: UpdateSDWANInterfaceProfilesByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/sdwan-interface-profiles' - 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: - tags: - - SD-WAN Interface Profiles - summary: Delete an SD-WAN interface profile - description: | - Delete an SD-WAN interface profile. - operationId: DeleteSDWANInterfaceProfilesByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - $ref: '#/components/responses/http_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' - /sdwan-path-quality-profiles: get: tags: @@ -6532,6 +6379,151 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' + /ssl-decryption-settings: + get: + tags: + - Ssl Decryption Settings + summary: GET Ssl Decryption Settings + description: GET Ssl Decryption Settings + operationId: getSslDecryptionSettings + parameters: + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/limit' + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ssl-decryption-settings' + '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: + tags: + - Ssl Decryption Settings + summary: POST Ssl Decryption Settings + description: POST Ssl Decryption Settings + operationId: postSslDecryptionSettings + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ssl-decryption-settings' + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ssl-decryption-settings' + '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' + put: + tags: + - Ssl Decryption Settings + summary: PUT Ssl Decryption Settings + description: PUT Ssl Decryption Settings + operationId: putSslDecryptionSettings + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ssl-decryption-settings' + '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: + tags: + - Ssl Decryption Settings + summary: DELETE Ssl Decryption Settings + description: DELETE Ssl Decryption Settings + operationId: deleteSslDecryptionSettings + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ssl-decryption-settings' + '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' + /remote-networks-license-info: + get: + summary: Get Remote Networks License Info + description: Returns operational license model and site license counts. + operationId: getRemoteNetworksLicenseInfo + tags: + - Remote Networks License + responses: + '200': + description: License information retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/LicenseResult' + '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' + '500': + description: Failed to fetch license information. + content: + application/json: + schema: + type: object + properties: + error: + type: string + example: Failed to retrieve license data components: parameters: name: @@ -6541,6 +6533,13 @@ components: required: false schema: type: string + pagination-optional: + name: pagination + in: query + required: false + schema: + type: boolean + description: The parameter to mention if the response should be paginated. By default, its set to false limit: name: limit in: query @@ -6928,34 +6927,106 @@ components: details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 schemas: - ike-crypto-profiles: + LicenseInfo: type: object properties: - id: + license_type: type: string - description: UUID of the resource - readOnly: true - example: 123e4567-e89b-12d3-a456-426655440000 - name: - type: string - description: 'Alphanumeric string begin with letter: [0-9a-zA-Z._-]' - maxLength: 31 - hash: + example: FWAAS-SITE-1000Mbps + count: + type: integer + example: 1 + LicenseResult: + type: object + properties: + license_model: type: array items: - enum: - - md5 - - sha1 - - sha256 - - sha384 - - sha512 - description: Hashing algorithm - default: sha1 - encryption: + type: string + example: [ "agg-bandwidth", "site" ] + purchased_licenses: type: array - description: Encryption algorithm items: - enum: + $ref: '#/components/schemas/LicenseInfo' + configured_licenses: + type: array + items: + $ref: '#/components/schemas/LicenseInfo' + operational_license: + type: string + description: > + Indicates the currently active license model. + Can be "agg-bandwidth", "site", or "none". + example: site + ssl-decryption-settings: + type: object + properties: + disabled_ssl_exclude_cert_from_predefined: + type: array + items: + type: object + forward_trust_certificate: + type: object + properties: + ecdsa: + type: string + rsa: + type: string + forward_untrust_certificate: + type: object + properties: + rsa: + type: string + ecdsa: + type: string + root_ca_exclude_list: + type: array + items: + type: object + ssl_exclude_cert: + type: array + items: + type: object + properties: + description: + type: string + exclude: + type: boolean + name: + type: string + trusted_root_CA: + type: array + items: + type: object + ike-crypto-profiles: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: 'Alphanumeric string begin with letter: [0-9a-zA-Z._-]' + maxLength: 31 + hash: + type: array + items: + enum: + - md5 + - sha1 + - sha256 + - sha384 + - sha512 + - non-auth + description: Hashing algorithm + default: sha1 + encryption: + type: array + description: Encryption algorithm + items: + enum: - des - 3des - aes-128-cbc @@ -7068,6 +7139,13 @@ components: type: string description: 'Alphanumeric string begin with letter: [0-9a-zA-Z._-]' maxLength: 63 + local_address: + type: object + properties: + interface: + type: string + description: Interface variable or hardcoded vlan/loopback. vlan will be passed as default value + default: vlan authentication: type: object oneOf: @@ -7428,6 +7506,10 @@ components: type: string description: 'Alphanumeric string begin with letter: [0-9a-zA-Z._-]' maxLength: 63 + tunnel_interface: + type: string + description: Tunnel interface variable or hardcoded tunnel. Default will be tunnels. + default: tunnel auto_key: type: object properties: @@ -11418,732 +11500,3222 @@ components: example: My Device required: - device - - logical-routers: + logical-routers-new: type: object required: - - name - properties: - id: + - 'name' + properties: + name: type: string - description: UUID of the resource - readOnly: true - example: 123e4567-e89b-12d3-a456-426655440000 - name: - description: Logical router name + routing_stack: type: string - maxLength: 63 - vrf: - type: object - properties: - ecmp: - type: object - properties: - enable: - description: Enable ECMP routing? - type: boolean - max_path: - description: Max paths - type: integer - minimum: 2 - maximum: 4 - default: 2 - symmetric_return: - description: Symmetric return? - type: boolean - strict_source_path: - description: Strict source path? - type: boolean - algorithm: - type: object - properties: - ip_modulo: - type: object - ip_hash: - type: object - properties: - src_only: - description: Use source address only? - type: boolean - use_port: - description: Use source/destination port for hash? - type: boolean - hash_seed: - description: Hash seed - type: integer - minimum: 0 - maximum: 4294967295 - weighted_round_robin: - type: object - properties: - interface: - description: Interfaces - type: array - items: - type: object - properties: - name: - description: Interface name - type: string - example: ethernet1/1 - weight: - description: Weight - type: integer - minimum: 1 - maximum: 255 - balanced_round_robin: - type: object - interface: - description: Interfaces - type: array - items: - description: Interface name + enum: + - legacy + - advanced + vrf: + type: array + items: + type: object + required: + - 'name' + properties: + name: type: string - example: ethernet1/1 - admin_dists: - type: object - properties: - static: - description: Static routes - type: integer - minimum: 1 - maximum: 255 - default: 10 - ospf_intra: - description: OSPF intra area routes - type: integer - minimum: 1 - maximum: 255 - default: 110 - ospf_inter: - description: OSPF inter area routes - type: integer - minimum: 1 - maximum: 255 - default: 110 - ospf_ext: - description: OSPF external routes - type: integer - minimum: 1 - maximum: 255 - default: 110 - bgp_internal: - description: BGP AS internal routes - type: integer - minimum: 1 - maximum: 255 - default: 200 - bgp_external: - description: BGP AS external routes - type: integer - minimum: 1 - maximum: 255 - default: 20 - bgp_local: - description: BGP local routes - type: integer - minimum: 1 - maximum: 255 - default: 20 - rip: - description: RIP routes - type: integer - minimum: 1 - maximum: 255 - default: 120 - bgp: - type: object - properties: - enable: - description: Enable BGP routing? - type: boolean - router_id: - description: Router ID + interface: + type: array + items: type: string - local_as: - type: number - example: 1 - global_bfd: - type: object - properties: - profile: - description: BFD profile - type: string - enum: - - aggressive - - default - - passive-default - - None - peer_group: - description: Peer groups - type: array - items: + global_vrid: + type: number + zone_name: + type: string + admin_dists: + type: object + properties: + static: + type: number + static_ipv6: + type: number + ospf_inter: + type: number + ospf_intra: + type: number + ospf_ext: + type: number + ospfv3_inter: + type: number + ospfv3_intra: + type: number + ospfv3_ext: + type: number + bgp_internal: + type: number + bgp_external: + type: number + bgp_local: + type: number + rip: + type: number + vr_admin_dists: + type: object + properties: + static: + type: number + static_ipv6: + type: number + ospf_int: + type: number + ospf_ext: + type: number + ospfv3_int: + type: number + ospfv3_ext: + type: number + ibgp: + type: number + ebgp: + type: number + rip: + type: number + sdwan_type: + type: string + rib_filter: + type: object + properties: + ipv4: type: object - properties: - name: - description: Peer group name - type: string - enable: - description: Enable peer group? - type: boolean - 'type': + properties: + static: type: object - properties: - ibgp: - type: object - ebgp: - type: object - address_family: + properties: + route_map: + type: string + bgp: type: object - properties: - ipv4: - description: IPv4 address family + properties: + route_map: type: string - filtering_profile: + ospf: type: object - properties: - ipv4: - description: IPv4 filtering profile + properties: + route_map: + type: string + rip: + type: object + properties: + route_map: + type: string + ipv6: + type: object + properties: + static: + type: object + properties: + route_map: + type: string + bgp: + type: object + properties: + route_map: + type: string + ospfv3: + type: object + properties: + route_map: type: string - peer: - description: BGP peers + routing_table: + type: object + properties: + ip: + type: object + properties: + static_route: type: array - items: + items: type: object - properties: - name: - description: Peer name + required: + - 'name' + properties: + name: type: string - enable: - description: Enable BGP peer? - type: boolean - peer_as: - description: Peer AS - type: integer - minimum: 1 - maximum: 65535 - inherit: - description: Inherit addressing? - type: boolean - local_address: + destination: + type: string + interface: + type: string + nexthop: type: object - properties: - interface: - description: Local interface - type: string - ip: - description: Local IP address - type: string - peer_address: + oneOf: + - title: receive + required: + - receive + properties: + receive: + type: object + properties: {} + - title: discard + required: + - discard + properties: + discard: + type: object + properties: {} + - title: ipv6_address + required: + - ipv6_address + properties: + ipv6_address: + type: string + - title: fqdn + required: + - fqdn + properties: + fqdn: + type: string + - title: next_lr + required: + - next_lr + properties: + next_lr: + type: string + - title: next_vr + required: + - next_vr + properties: + next_vr: + type: string + - title: tunnel + required: + - tunnel + properties: + tunnel: + type: string + route_table: type: object - properties: - ip: - description: Peer IP address - type: string - connection_options: + oneOf: + - title: unicast + required: + - unicast + properties: + unicast: + type: object + properties: {} + - title: multicast + required: + - multicast + properties: + multicast: + type: object + properties: {} + - title: both + required: + - both + properties: + both: + type: object + properties: {} + - title: no_install + required: + - no_install + properties: + no_install: + type: object + properties: {} + admin_dist: + type: number + metric: + type: number + bfd: type: object - properties: - authentication: - description: Authentication profile - type: string - default: inherit - timers: - description: Timer profile + properties: + profile: type: string - default: inherit - multihop: - description: Multi-hop - type: string - default: inherit - dampening: - description: Dampening profile - type: string - default: inherit - enable_sender_side_loop_detection: - description: Enable sender side loop detection? - type: boolean - bfd: + path_monitor: type: object - properties: - profile: - description: BFD profile + properties: + enable: + type: boolean + failure_condition: type: string enum: - - aggressive - - Inherit-lh-global-setting - - default - - None - - passive-default - install_route: - description: Install route? - type: boolean - fast_external_failover: - description: Fast failover? - type: boolean - enforce_first_as: - description: Enforce first AS? - type: boolean - ecmp_multi_as: - description: ECMP multiple AS support? - type: boolean - graceful_shutdown: - description: Graceful shutdown? - type: boolean - default_local_preference: - description: Default local preference - type: integer - minimum: 0 - maximum: 4294967295 - graceful_restart: - type: object - properties: - enable: - description: Enable graceful restart? - type: boolean - stale_route_time: - description: Stale route time (seconds) - type: integer - minimum: 1 - maximum: 3600 - max_peer_restart_time: - description: Maximum peer restart time (seconds) - type: integer - minimum: 1 - maximum: 3600 - local_restart_time: - description: Local restart time (seconds) - type: integer - minimum: 1 - maximum: 3600 - med: - type: object - properties: - always_compare_med: - description: Always compare MED? - type: boolean - deterministic_med_comparison: - description: Deterministic MED comparison? - type: boolean - always_advertise_network_route: - description: Always advertise network route? - type: boolean - advertise_network: - type: object - properties: - ipv4: - type: object - properties: - network: - description: IPv4 networks - type: array - items: - type: object + - 'any' + - 'all' + hold_time: + type: number + monitor_destinations: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + source: + type: string + destination: + type: string + destination_fqdn: + type: string + interval: + type: number + count: + type: number + ipv6: + type: object + properties: + static_route: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + destination: + type: string + interface: + type: string + nexthop: + type: object + oneOf: + - title: receive + required: + - receive + properties: + receive: + type: object + properties: {} + - title: discard + required: + - discard + properties: + discard: + type: object + properties: {} + - title: ipv6_address + required: + - ipv6_address + properties: + ipv6_address: + type: string + - title: fqdn + required: + - fqdn + properties: + fqdn: + type: string + - title: next_lr + required: + - next_lr + properties: + next_lr: + type: string + - title: next_vr + required: + - next_vr + properties: + next_vr: + type: string + - title: tunnel + required: + - tunnel + properties: + tunnel: + type: string + admin_dist: + type: number + metric: + type: number + option: + type: object + properties: + passive: + type: object + properties: {} + route_table: + type: object + properties: + unicast: + type: object + properties: {} + multicast: + type: object + properties: {} + both: + type: object + properties: {} + no_install: + type: object + properties: {} + bfd: + type: object + properties: + profile: + type: string + path_monitor: + type: object + properties: + enable: + type: boolean + failure_condition: + type: string + enum: + - 'any' + - 'all' + hold_time: + type: number + monitor_destinations: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + source: + type: string + destination: + type: string + destination_fqdn: + type: string + interval: + type: number + count: + type: number + ospf: + type: object + properties: + router_id: + type: string + global_bfd: + type: object + properties: + profile: + type: string + enable: + type: boolean + rfc1583: + type: boolean + reject_default_route: + type: boolean + allow_redist_default_route: + type: boolean + flood_prevention: + type: object + properties: + hello: + type: object + properties: + enable: + type: boolean + max_packet: + type: number + lsa: + type: object + properties: + enable: + type: boolean + max_packet: + type: number + spf_timer: + type: string + global_if_timer: + type: string + vr_timers: + type: object + properties: + spf_calculation_delay: + type: number + lsa_interval: + type: number + auth_profile: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + oneOf: + - title: password + required: + - password + properties: + password: + type: string + - title: md5 + required: + - md5 + properties: + md5: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: number + key: + type: string + preferred: + type: boolean + redistribution_profile: + type: string + area: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + authentication: + type: string + type: + type: object + oneOf: + - title: normal + required: + - normal + properties: + normal: + type: object + properties: + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + - title: stub + required: + - stub + properties: + stub: + type: object + properties: + no_summary: + type: boolean + accept_summary: + type: boolean + default_route: + type: object + oneOf: + - title: disable + required: + - disable + properties: + disable: + type: object + properties: {} + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: + metric: + type: number + default_route_metric: + type: number + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + - title: nssa + required: + - nssa + properties: + nssa: + type: object + properties: + no_summary: + type: boolean + accept_summary: + type: boolean + default_information_originate: + type: object + properties: + metric: + type: number + metric_type: + type: string + enum: + - 'type-1' + - 'type-2' + default_route: + type: object + oneOf: + - title: disable + required: + - disable + properties: + disable: + type: object + properties: {} + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: + metric: + type: number + type: + type: string + enum: + - 'ext-1' + - 'ext-2' + nssa_ext_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + oneOf: + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: {} + - title: suppress + required: + - suppress + properties: + suppress: + type: object + properties: {} + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + nssa_ext_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + route_tag: + type: number + advertise: + type: boolean + range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + substitute: + type: string + advertise: + type: boolean + vr_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + oneOf: + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: {} + - title: suppress + required: + - suppress + properties: + suppress: + type: object + properties: {} + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + mtu_ignore: + type: boolean + passive: + type: boolean + priority: + type: number + link_type: + type: object + oneOf: + - title: broadcast + required: + - broadcast + properties: + broadcast: + type: object + properties: {} + - title: p2p + required: + - p2p + properties: + p2p: + type: object + properties: {} + - title: p2mp + required: + - p2mp + properties: + p2mp: + type: object + properties: + neighbor: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + priority: + type: number + metric: + type: number + authentication: + type: string + bfd: + type: object + properties: + profile: + type: string + timing: + type: string + vr_timing: + type: object + properties: + hello_interval: + type: number + dead_counts: + type: number + retransmit_interval: + type: number + transit_delay: + type: number + gr_delay: + type: number + virtual_link: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + neighbor_id: + type: string + transit_area_id: + type: string + enable: + type: boolean + interface_id: + type: number + instance_id: + type: number + timing: + type: string + vr_timing: + type: object + properties: + hello_interval: + type: number + dead_counts: + type: number + retransmit_interval: + type: number + transit_delay: + type: number + passive: + type: boolean + authentication: + type: string + bfd: + type: object + properties: + profile: + type: string + export_rules: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + new_path_type: + type: string + enum: + - 'ext-1' + - 'ext-2' + new_tag: + type: string + metric: + type: number + graceful_restart: + type: object + properties: + enable: + type: boolean + grace_period: + type: number + helper_enable: + type: boolean + strict_LSA_checking: + type: boolean + max_neighbor_restart_time: + type: number + ospfv3: + type: object + properties: + enable: + type: boolean + reject_default_route: + type: boolean + allow_redist_default_route: + type: boolean + router_id: + type: string + global_bfd: + type: object + properties: + profile: + type: string + disable_transit_traffic: + type: boolean + vr_timers: + type: object + properties: + spf_calculation_delay: + type: number + lsa_interval: + type: number + auth_profile: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + spi: + type: string + oneOf: + - title: esp + required: + - esp + properties: + esp: + type: object + properties: + authentication: + type: object + oneOf: + - title: sha1 + required: + - sha1 + properties: + sha1: + type: object + properties: + key: + type: string + - title: sha256 + required: + - sha256 + properties: + sha256: + type: object + properties: + key: + type: string + - title: sha384 + required: + - sha384 + properties: + sha384: + type: object + properties: + key: + type: string + - title: sha512 + required: + - sha512 + properties: + sha512: + type: object + properties: + key: + type: string + - title: md5 + required: + - md5 + properties: + md5: + type: object + properties: + key: + type: string + - title: none + required: + - none + properties: + none: + type: object + properties: {} + encryption: + type: object + properties: + algorithm: + type: string + enum: + - '3des' + - 'aes-128-cbc' + - 'aes-192-cbc' + - 'aes-256-cbc' + - 'null' + key: + type: string + - title: ah + required: + - ah + properties: + ah: + type: object + oneOf: + - title: sha1 + required: + - sha1 + properties: + sha1: + type: object + properties: + key: + type: string + - title: sha256 + required: + - sha256 + properties: + sha256: + type: object + properties: + key: + type: string + - title: sha384 + required: + - sha384 + properties: + sha384: + type: object + properties: + key: + type: string + - title: sha512 + required: + - sha512 + properties: + sha512: + type: object + properties: + key: + type: string + - title: md5 + required: + - md5 + properties: + md5: + type: object + properties: + key: + type: string + spf_timer: + type: string + global_if_timer: + type: string + redistribution_profile: + type: string + area: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + authentication: + type: string + type: + type: object + oneOf: + - title: normal + required: + - normal + properties: + normal: + type: object + properties: + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + - title: stub + required: + - stub properties: + stub: + type: object + properties: + accept_summary: + type: boolean + default_route: + type: object + oneOf: + - title: disable + required: + - disable + properties: + disable: + type: object + properties: {} + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: + metric: + type: number + no_summary: + type: boolean + default_route_metric: + type: number + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + - title: nssa + required: + - nssa + properties: + nssa: + type: object + properties: + nssa_ext_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + route_tag: + type: number + oneOf: + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: {} + - title: suppress + required: + - suppress + properties: + suppress: + type: object + properties: {} + no_summary: + type: boolean + default_information_originate: + type: object + properties: + metric: + type: number + metric_type: + type: string + enum: + - 'type-1' + - 'type-2' + accept_summary: + type: boolean + default_route: + type: object + oneOf: + - title: disable + required: + - disable + properties: + disable: + type: object + properties: {} + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: + metric: + type: number + type: + type: string + enum: + - 'ext-1' + - 'ext-2' + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + nssa_ext_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + route_tag: + type: number + oneOf: + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: {} + - title: suppress + required: + - suppress + properties: + suppress: + type: object + properties: {} + range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + advertise: + type: boolean + vr_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + oneOf: + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: {} + - title: suppress + required: + - suppress + properties: + suppress: + type: object + properties: {} + interface: + type: array + items: + type: object + required: + - 'name' + properties: name: - description: IPv4 network type: string - unicast: - description: Unicast? + enable: type: boolean - multicast: - description: Multicast? + mtu_ignore: type: boolean - backdoor: - description: Backdoor? + passive: type: boolean - redistribution_profile: - type: object - properties: - ipv4: + priority: + type: number + link_type: + type: object + oneOf: + - title: broadcast + required: + - broadcast + properties: + broadcast: + type: object + properties: {} + - title: p2p + required: + - p2p + properties: + p2p: + type: object + properties: {} + - title: p2mp + required: + - p2mp + properties: + p2mp: + type: object + properties: + neighbor: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + priority: + type: number + neighbor: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + vr_timing: + type: object + properties: + hello_interval: + type: number + dead_counts: + type: number + retransmit_interval: + type: number + transit_delay: + type: number + gr_delay: + type: number + metric: + type: number + instance_id: + type: number + authentication: + type: string + bfd: + type: object + properties: + profile: + type: string + timing: + type: string + virtual_link: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + neighbor_id: + type: string + transit_area_id: + type: string + enable: + type: boolean + interface_id: + type: number + instance_id: + type: number + timing: + type: string + vr_timing: + type: object + properties: + hello_interval: + type: number + dead_counts: + type: number + retransmit_interval: + type: number + transit_delay: + type: number + passive: + type: boolean + authentication: + type: string + bfd: + type: object + properties: + profile: + type: string + export_rules: + type: array + items: type: object + required: + - 'name' + properties: + name: + type: string + new_path_type: + type: string + enum: + - 'ext-1' + - 'ext-2' + new_tag: + type: string + metric: + type: number + graceful_restart: + type: object + properties: + enable: + type: boolean + grace_period: + type: number + helper_enable: + type: boolean + strict_LSA_checking: + type: boolean + max_neighbor_restart_time: + type: number + ecmp: + type: object + properties: + enable: + type: boolean + algorithm: + type: object + oneOf: + - title: ip_modulo + required: + - ip_modulo + properties: + ip_modulo: + type: object + properties: {} + - title: ip_hash + required: + - ip_hash + properties: + ip_hash: + type: object + properties: + src_only: + type: boolean + use_port: + type: boolean + hash_seed: + type: number + - title: weighted_round_robin + required: + - weighted_round_robin + properties: + weighted_round_robin: + type: object + properties: + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + weight: + type: number + - title: balanced_round_robin + required: + - balanced_round_robin properties: - unicast: - description: Redistribution profile name + balanced_round_robin: + type: object + properties: {} + max_path: + type: number + symmetric_return: + type: boolean + strict_source_path: + type: boolean + multicast: + type: object + properties: + enable: + type: boolean + enable_v6: + type: boolean + static_route: + type: array + items: + type: object + required: + - 'name' + properties: + name: type: string - aggregate_routes: - type: array - items: + destination: + type: string + interface: + type: string + nexthop: + type: object + properties: + ip_address: + type: string + preference: + type: number + pim: + type: object + properties: + enable: + type: boolean + rpf_lookup_mode: + type: string + enum: + - 'mrib-then-urib' + - 'mrib-only' + - 'urib-only' + route_ageout_time: + type: number + if_timer_global: + type: string + group_permission: + type: string + ssm_address_space: + type: object + properties: + group_list: + type: string + spt_threshold: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + threshold: + type: string + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + description: + type: string + dr_priority: + type: number + send_bsm: + type: boolean + if_timer: + type: string + neighbor_filter: + type: string + rp: + type: object + properties: + local_rp: + type: object + oneOf: + - title: static_rp + required: + - static_rp + properties: + static_rp: + type: object + properties: + interface: + type: string + address: + type: string + override: + type: boolean + group_list: + type: string + - title: candidate_rp + required: + - candidate_rp + properties: + candidate_rp: + type: object + properties: + interface: + type: string + address: + type: string + priority: + type: number + advertisement_interval: + type: number + group_list: + type: string + external_rp: + type: array + items: + type: object + properties: + name: + type: string + group_list: + type: string + override: + type: boolean + igmp: + type: object + properties: + enable: + type: boolean + dynamic: + type: object + properties: + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + version: + type: string + enum: + - '2' + - '3' + robustness: + type: string + enum: + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + group_filter: + type: string + max_groups: + type: string + max_sources: + type: string + query_profile: + type: string + router_alert_policing: + type: boolean + static: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + interface: + type: string + group_address: + type: string + source_address: + type: string + msdp: + type: object + properties: + enable: + type: boolean + global_timer: + type: string + global_authentication: + type: string + originator_id: + type: object + properties: + interface: + type: string + ip: + type: string + peer: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + local_address: + type: object + properties: + interface: + type: string + ip: + type: string + peer_as: + type: string + peer_address: + type: object + oneOf: + - title: ip + required: + - ip + properties: + ip: + type: string + - title: fqdn + required: + - fqdn + properties: + fqdn: + type: string + authentication: + type: string + max_sa: + type: number + inbound_sa_filter: + type: string + outbound_sa_filter: + type: string + mode: + type: string + enum: + - PIM-SM + - IGMP-Proxy + route_ageout_time: + type: number + interface_group: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + description: + type: string + interface: + type: array + items: + type: string + group_permission: + type: object + properties: + any_source_multicast: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + group_address: + type: string + included: + type: boolean + source_specific_multicast: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + group_address: + type: string + source_address: + type: string + included: + type: boolean + igmp: + type: object + properties: + enable: + type: boolean + version: + type: string + enum: + - '1' + - '2' + - '3' + mode: + type: string + enum: + - 'router' + - 'host' + max_query_response_time: + type: number + query_interval: + type: number + last_member_query_interval: + type: number + immediate_leave: + type: boolean + robustness: + type: string + enum: + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + max_groups: + type: string + max_sources: + type: string + router_alert_policing: + type: boolean + pim: + type: object + properties: + enable: + type: boolean + assert_interval: + type: number + hello_interval: + type: number + join_prune_interval: + type: number + dr_priority: + type: number + bsr_border: + type: boolean + allowed_neighbors: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + ssm_address_space: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + group_address: + type: string + included: + type: boolean + spt_threshold: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + threshold: + type: string + rp: + type: object + properties: + local_rp: + type: object + oneOf: + - title: static_rp + required: + - static_rp + properties: + static_rp: + type: object + properties: + interface: + type: string + address: + type: string + override: + type: boolean + group_addresses: + type: array + items: + type: string + - title: candidate_rp + required: + - candidate_rp + properties: + candidate_rp: + type: object + properties: + interface: + type: string + address: + type: string + priority: + type: number + advertisement_interval: + type: number + group_addresses: + type: array + items: + type: string + external_rp: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + group_addresses: + type: array + items: + type: string + override: + type: boolean + rip: + type: object + properties: + enable: + type: boolean + default_information_originate: + type: boolean + global_timer: + type: string + auth_profile: + type: string + redistribution_profile: + type: string + global_bfd: + type: object + properties: + profile: + type: string + global_inbound_distribute_list: type: object - properties: - name: - description: Aggregate route name + properties: + access_list: type: string - description: - description: Description + global_outbound_distribute_list: + type: object + properties: + access_list: type: string - enable: - description: Enable aggregate route? + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + mode: + type: string + enum: + - active + - passive + - send-only + split_horizon: + type: string + enum: + - split-horizon + - no-split-horizon + - no-split-horizon-with-poison-reverse + authentication: + type: string + bfd: + type: object + properties: + profile: + type: string + interface_inbound_distribute_list: + type: object + properties: + access_list: + type: string + metric: + type: number + interface_outbound_distribute_list: + type: object + properties: + access_list: + type: string + metric: + type: number + bgp: + type: object + properties: + enable: + type: boolean + router_id: + type: string + local_as: + type: string + confederation_member_as: + type: string + install_route: + type: boolean + enforce_first_as: + type: boolean + fast_external_failover: + type: boolean + ecmp_multi_as: + type: boolean + default_local_preference: + type: number + graceful_shutdown: + type: boolean + always_advertise_network_route: + type: boolean + reject_default_route: + type: boolean + allow_redist_default_route: + type: boolean + as_format: + type: string + med: + type: object + properties: + always_compare_med: type: boolean - summary_only: - description: Summary only? + deterministic_med_comparison: type: boolean - as_set: - description: AS set? + aggregate: + type: object + properties: + aggregate_med: type: boolean - same_med: - description: Same MED? + graceful_restart: + type: object + properties: + enable: type: boolean - type: - type: object - properties: - ipv4: - type: object + stale_route_time: + type: number + max_peer_restart_time: + type: number + local_restart_time: + type: number + global_bfd: + type: object + properties: + profile: + type: string + peer_group: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + aggregated_confed_as_path: + type: boolean + soft_reset_with_stored_info: + type: boolean + type: + type: object + oneOf: + - title: ibgp + required: + - ibgp + properties: + ibgp: + type: object + properties: + export_nexthop: + type: string + - title: ebgp_confed + required: + - ebgp_confed + properties: + ebgp_confed: + type: object + properties: + export_nexthop: + type: string + - title: ibgp_confed + required: + - ibgp_confed + properties: + ibgp_confed: + type: object + properties: + export_nexthop: + type: string + - title: ebgp + required: + - ebgp properties: - summary_prefix: - description: Summary prefix + ebgp: + type: object + properties: + import_nexthop: + type: string + export_nexthop: + type: string + remove_private_as: + type: boolean + address_family: + type: object + properties: + ipv4: + type: string + ipv6: + type: string + filtering_profile: + type: object + properties: + ipv4: + type: string + ipv6: + type: string + connection_options: + type: object + properties: + timers: + type: string + multihop: + type: number + authentication: + type: string + dampening: + type: string + peer: + type: array + items: + type: object + required: + - 'name' + properties: + name: type: string - suppress_map: - description: Suppress map + enable: + type: boolean + passive: + type: boolean + peer_as: type: string - attribute_map: - description: Attribute map + peering_type: type: string - ospf: - type: object - properties: - enable: - description: Enable OSPF routing? - type: boolean - router_id: - description: Router ID - type: string - global_bfd: - type: object - properties: - profile: - description: BFD profile - type: string - enum: - - aggressive - - passive-default - - default - - None - area: - description: OSPF areas - type: array - items: + reflector_client: + type: string + subsequent_address_family_identifier: + type: object + properties: + unicast: + type: boolean + multicast: + type: boolean + enable_sender_side_loop_detection: + type: boolean + enable_mp_bgp: + type: boolean + inherit: + type: object + oneOf: + - title: ipv4 + required: + - ipv4 + properties: + yes: + type: object + properties: {} + - title: 'no' + required: + - 'no' + properties: + no: + type: object + properties: + address_family: + type: object + properties: + ipv4: + type: string + ipv6: + type: string + filtering_profile: + type: object + properties: + ipv4: + type: string + ipv6: + type: string + local_address: + type: object + properties: + interface: + type: string + ip: + type: string + peer_address: + type: object + oneOf: + - title: ip + required: + - ip + properties: + ip: + type: string + - title: fqdn + required: + - fqdn + properties: + fqdn: + type: string + connection_options: + type: object + properties: + keep_alive_interval: + type: string + hold_time: + type: string + idle_hold_time: + type: number + min_route_adv_interval: + type: number + multihop: + type: string + open_delay_time: + type: number + incoming_bgp_connection: + type: object + properties: + remote_port: + type: number + allow: + type: boolean + outgoing_bgp_connection: + type: object + properties: + local_port: + type: number + allow: + type: boolean + max_prefixes: + type: string + timers: + type: string + authentication: + type: string + dampening: + type: string + bfd: + type: object + properties: + profile: + type: string + multihop: + type: object + properties: + min_received_ttl: + type: number + aggregate_routes: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + description: + type: string + enable: + type: boolean + summary_only: + type: boolean + as_set: + type: boolean + same_med: + type: boolean + type: + type: object + oneOf: + - title: ipv4 + required: + - ipv4 + properties: + ipv4: + type: object + properties: + summary_prefix: + type: string + suppress_map: + type: string + attribute_map: + type: string + - title: ipv6 + required: + - ipv6 + properties: + ipv6: + type: object + properties: + summary_prefix: + type: string + suppress_map: + type: string + attribute_map: + type: string + redistribution_profile: type: object - properties: - name: - description: Area ID - type: string - authentication: - description: Authentication profile - type: string - type: + properties: + ipv4: type: object - oneOf: - - title: normal - required: - - normal - properties: - normal: + properties: + unicast: + type: string + ipv6: + type: object + properties: + unicast: + type: string + advertise_network: + type: object + properties: + ipv4: + type: object + properties: + network: + type: array + items: type: object - properties: - abr: + required: + - 'name' + properties: + name: + type: string + unicast: + type: boolean + multicast: + type: boolean + backdoor: + type: boolean + ipv6: + type: object + properties: + network: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + unicast: + type: boolean + policy: + type: object + properties: + import: + type: object + properties: + rules: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + used_by: + type: array + items: + type: string + match: type: object - properties: - import_list: - description: Import list + properties: + afi: + type: string + enum: + - ip + - ipv6 + safi: type: string - export_list: - description: Export list + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: number + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + action: + type: object + oneOf: + - title: deny + required: + - deny + properties: + deny: + type: object + properties: {} + - title: allow + required: + - allow + properties: + allow: + type: object + properties: + dampening: + type: string + update: + type: object + properties: + local_preference: + type: number + med: + type: number + weight: + type: number + nexthop: + type: string + origin: + type: string + enum: + - igp + - egp + - incomplete + as_path_limit: + type: number + as_path: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove + required: + - remove + properties: + remove: + type: object + properties: {} + - title: prepend + required: + - prepend + properties: + prepend: + type: number + - title: remove_and_prepend + required: + - remove_and_prepend + properties: + remove_and_prepend: + type: number + community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + extended_community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + export: + type: object + properties: + rules: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + used_by: + type: array + items: + type: string + match: + type: object + properties: + afi: type: string - inbound_filter_list: - description: Inbound filter list + enum: + - ip + - ipv6 + safi: type: string - outbound_filter_list: - description: Outbound filter list + enum: + - ip + - ipv6 + route_table: type: string - - title: stub - required: - - stub - properties: - stub: + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: number + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + action: + type: object + oneOf: + - title: deny + required: + - deny + properties: + deny: + type: object + properties: {} + - title: allow + required: + - allow + properties: + allow: + type: object + properties: + update: + type: object + properties: + local_preference: + type: number + med: + type: number + nexthop: + type: string + origin: + type: string + enum: + - igp + - egp + - multicast + as_path_limit: + type: number + as_path: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove + required: + - remove + properties: + remove: + type: object + properties: {} + - title: prepend + required: + - prepend + properties: + prepend: + type: number + - title: remove_and_prepend + required: + - remove_and_prepend + properties: + remove_and_prepend: + type: number + community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + extended_community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + conditional_advertisement: + type: object + properties: + policy: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + used_by: + type: array + items: + type: object + properties: {} + non_exist_filters: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + match: + type: object + properties: + afi: + type: string + enum: + - ip + - ipv6 + safi: + type: string + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: number + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + advertise_filters: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + match: + type: object + properties: + afi: + type: string + enum: + - ip + - ipv6 + safi: + type: string + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: number + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + aggregation: + type: object + properties: + address: + type: array + items: type: object - properties: - no_summary: - description: No summary? + required: + - 'name' + properties: + name: + type: string + prefix: + type: string + enable: type: boolean - abr: - type: object - properties: - import_list: - description: Import list - type: string - export_list: - description: Export list - type: string - inbound_filter_list: - description: Inbound filter list - type: string - outbound_filter_list: - description: Outbound filter list - type: string - - title: nssa - required: - - nssa - properties: - nssa: - type: object - properties: - no_summary: - description: No summary? + summary: type: boolean - default_information_originate: - type: object - properties: - metric: - description: Metric - type: integer - minimum: 1 - maximum: 16677214 - default: 10 - metric_type: - type: string - enum: - - type-1 - - type-2 - abr: + as_set: + type: boolean + aggregate_route_attributes: type: object - properties: - import_list: - description: Import list - type: string - export_list: - description: Export list + properties: + local_preference: + type: number + med: + type: number + weight: + type: number + nexthop: type: string - inbound_filter_list: - description: Inbound filter list + origin: type: string - outbound_filter_list: - description: Outbound filter list - type: string - nssa_ext_range: - description: Address range for external summary routes - type: array - items: - type: object + enum: + - igp + - egp + - incomplete + as_path_limit: + type: number + as_path: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove + required: + - remove + properties: + remove: + type: object + properties: {} + - title: prepend + required: + - prepend + properties: + prepend: + type: number + - title: remove_and_prepend + required: + - remove_and_prepend properties: - name: - description: IPv4 prefix + remove_and_prepend: + type: number + community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: type: string - advertise: - description: Advertise? - type: boolean - range: - description: Ranges - type: array - items: - type: object - properties: - name: - description: IPv4 address/netmask - type: string - substitute: - description: Substitute - type: string - advertise: - description: Advertise? - type: boolean - interface: - description: Interfaces - type: array - items: - type: object - properties: - name: - description: Interface name - type: string - # autogenerated: - # type: string - enable: - description: Enable? - type: boolean - mtu_ignore: - description: MTU ignore? - type: boolean - passive: - description: Passive? - type: boolean - priority: - description: Priority - type: integer - minimum: 1 - maximum: 255 - default: 1 - timing: - description: Timer profile - type: string - authentication: - description: Authentication profile - type: string - bfd: - type: object - properties: - profile: - type: string - enum: - - aggressive - metric: - description: Cost - type: integer - minimum: 1 - maximum: 65535 - default: 10 - link_type: - type: object - properties: - broadcast: - type: object - p2p: - type: object - p2mp: - type: object - properties: - neighbor: - type: array - items: - type: object + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + extended_community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite properties: - name: - description: Neighbor IPv4 address + overwrite: + type: array + items: + type: string + suppress_filters: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + match: + type: object + properties: + afi: type: string - priority: - description: Priority - type: integer - minimum: 1 - maximum: 255 - default: 1 - graceful_restart: - type: object - properties: - enable: - description: Enable graceful restart? - type: boolean - helper_enable: - description: Enable helper mode? - type: boolean - strict_LSA_checking: - description: Enable strict LSA checking? - type: boolean - grace_period: - description: Grace period (seconds) - type: integer - minimum: 5 - maximum: 1800 - default: 120 - max_neighbor_restart_time: - description: Maximum neighbor restart time (seconds) - type: integer - minimum: 5 - maximum: 1800 - default: 140 - rfc1583: - description: RFC1583 compatibility? - type: boolean - spf_timer: - description: Global general timer - type: string - enum: - - default - global_if_timer: - description: Global interface timer - type: string - enum: - - aggressive - - default - routing_table: - type: object - properties: - ip: - type: object - properties: - static_route: - description: IPv4 static routes - type: array - items: - type: object - properties: - name: - description: Static route name - type: string - destination: - description: Description - type: string - interface: - description: Interface + enum: + - ip + - ipv6 + safi: + type: string + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: number + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + advertise_filters: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + match: + type: object + properties: + afi: + type: string + enum: + - ip + - ipv6 + safi: + type: string + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: number + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + redist_rules: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + address_family_identifier: + type: string + enum: + - ipv4 + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + enable: + type: boolean + set_origin: + type: string + enum: + - igp + - egp + - incomplete + set_med: + type: number + set_local_preference: + type: number + set_as_path_limit: + type: number + set_community: + type: array + items: + type: string + set_extended_community: + type: array + items: type: string - nexthop: - type: object - properties: - discard: - type: object - ip_address: - description: IPv4 address - type: string - admin_dist: - description: Administrative distance - type: integer - minimum: 10 - maximum: 240 - metric: - type: integer - minimum: 1 - maximum: 65535 - bfd: - type: object - properties: - profile: - description: BFD profile - type: string - enum: - - aggressive - - default - - passive-default - - None - path_monitor: - type: object - properties: - enable: - description: Enable path monitoring? - type: boolean - default: false - 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 - + metric: + type: number ospf-auth-profiles: type: object required: @@ -12970,9 +15542,15 @@ components: type: string priority: description: Priority - type: integer - minimum: 1 - maximum: 8 + enum: + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + - '8' logical_router: description: Router type: string @@ -14493,125 +17071,6 @@ components: required: - device - sdwan-interface-profiles: - type: object - required: - - name - properties: - id: - type: string - description: UUID of the resource - readOnly: true - example: 123e4567-e89b-12d3-a456-426655440000 - name: - description: Name of the interface profile - type: string - maxLength: 31 - pattern: ^[0-9a-zA-Z._-]+$ - comment: - description: The description of the interface profile - type: string - maxLength: 1023 - link_tag: - description: The link tag of the interface profile - type: string - maxLength: 31 - link_type: - description: The type of link - type: string - enum: - - ADSL/DSL - - Cablemodem - - Ethernet - - Fiber - - LTE/3G/4G/5G - - MPLS - - Microwave/Radio - - Satellite - - WiFi - - Private1 - - Private2 - - Private3 - - Private4 - - Other - default: Ethernet - vpn_data_tunnel_support: - description: Enable data traffic over VPN? - type: boolean - maximum_download: - description: Maximum download capacity in Mbps - type: integer - minimum: 0 - maximum: 100000 - maximum_upload: - description: Maximum upload capacity in Mbps - type: integer - minimum: 0 - maximum: 100000 - error_correction: - description: Allow this interface for FEC / Packet Duplication - type: boolean - path_monitoring: - description: Path monitoring profile - type: string - enum: - - Aggressive - - Relaxed - vpn_failover_metric: - description: Metric for vpn tunnels on this interface - type: integer - minimum: 1 - maximum: 65535 - probe_frequency: - description: Number of probes sent per second - type: integer - minimum: 1 - maximum: 5 - probe_idle_time: - description: Idle time in seconds when no probes are sent - type: integer - minimum: 1 - maximum: 86400 - failback_hold_time: - description: Failback hold time in seconds before reverting session to original path - type: integer - minimum: 20 - maximum: 120 - 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 - sdwan-path-quality-profiles: type: object required: @@ -15550,7 +18009,9 @@ components: message: type: string details: - type: object + oneOf: + - type: string + - type: object help: type: string security: diff --git a/openapi-specs/scm/config/ngfw/operations/config-operations.yaml b/openapi-specs/scm/config/ngfw/operations/config-operations.yaml index 153a8e716..60cff0292 100644 --- a/openapi-specs/scm/config/ngfw/operations/config-operations.yaml +++ b/openapi-specs/scm/config/ngfw/operations/config-operations.yaml @@ -127,10 +127,9 @@ paths: properties: admin: type: array - description: Push only the changes for these administrators and/or service accounts + description: Use this field to list administrators or service accounts. If you intend to push all folders, do not include this admin field; instead, list each folder individually in the folder field. items: type: string - default: all description: type: string description: A description of the changes being pushed diff --git a/openapi-specs/scm/config/ngfw/security/security-services.yaml b/openapi-specs/scm/config/ngfw/security/security-services.yaml index cfb7f930e..232f7752c 100644 --- a/openapi-specs/scm/config/ngfw/security/security-services.yaml +++ b/openapi-specs/scm/config/ngfw/security/security-services.yaml @@ -1971,7 +1971,9 @@ paths: allOf: - type: array items: - $ref: '#/components/schemas/security-rules' + oneOf: + - $ref: '#/components/schemas/security-rules' + - $ref: '#/components/schemas/internet-rules' limit: type: number default: 200 @@ -2004,7 +2006,9 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/security-rules' + oneOf: + - $ref: '#/components/schemas/security-rules' + - $ref: '#/components/schemas/internet-rules' responses: '200': $ref: '#/components/responses/http_created' @@ -2059,7 +2063,9 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/security-rules' + oneOf: + - $ref: '#/components/schemas/security-rules' + - $ref: '#/components/schemas/internet-rules' responses: '200': $ref: '#/components/responses/http_ok' @@ -5276,6 +5282,11 @@ components: items: type: string description: The name of an HTTP header insertion profile + ai_security: + type: array + items: + type: string + description: The name of an HTTP header insertion profile required: - name oneOf: @@ -5324,13 +5335,6 @@ components: name: type: string description: The name of the security rule - type: - description: The type of security rule within the unified security rulebase (future) - type: string - enum: - - security - - internet - readOnly: true disabled: type: boolean description: Is the security rule disabled? @@ -5452,6 +5456,11 @@ components: log_end: type: boolean description: Log at session end? + tenant_restrictions: + type: array + items: + type: string + default: any required: - name - from @@ -5497,6 +5506,222 @@ components: example: My Device required: - device + internet-rules: + type: object + properties: + id: + type: string + description: The UUID of the internet rule + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: The name of the internet rule + policy_type: + type: string + default: "Internet" + description: + type: string + description: The description of the internet rule + disabled: + type: boolean + description: Is the internet rule disabled? + default: false + log_settings: + type: object + properties: + log_sessions: + type: boolean + default: true + tag: + type: array + items: + type: string + maxItems: 64 + from: + type: array + items: + type: string + default: ["any"] + to: + type: array + items: + type: string + default: ["any"] + source: + type: array + items: + type: string + default: ["any"] + source_user: + type: array + items: + type: string + default: ["any"] + destination: + type: array + items: + type: string + default: ["any"] + negate_source: + type: boolean + default: false + negate_user: + type: boolean + default: false + device: + type: array + items: + type: string + default: ["any"] + service: + type: array + items: + type: string + schedule: + type: string + action: + type: string + enum: [deny, allow] + default: allow + security_settings: + type: object + properties: + anti_spyware: + type: string + enum: [yes, no] + default: yes + vulnerability: + type: string + enum: [yes, no] + default: yes + virus_and_wildfire_analysis: + type: string + enum: [yes, no] + default: yes + block_web_application: + type: array + items: + type: string + block_url_category: + type: array + items: + type: string + allow_web_application: + type: array + items: + type: object + properties: + name: + type: string + type: + type: string + file_control: + type: object + properties: + upload: + type: string + enum: [allow-all-file-types, best-practice, block-all-file-types] + download: + type: string + enum: [allow-all-file-types, best-practice, block-all-file-types] + saas_enterprise_control: + type: object + properties: + consumer_access: + type: object + properties: + enable: + type: string + enum: [yes, no] + enterprise_access: + type: object + properties: + enable: + type: string + enum: [yes, no] + tenant_restrictions: + type: array + items: + type: string + application_function: + type: array + items: + type: string + dlp: + type: string + saas_tenant_list: + type: array + items: + type: string + saas_user_list: + type: array + items: + type: string + tenant_control: + type: object + properties: + tenants: + type: array + items: + type: string + allowed_activities: + type: array + items: + type: string + blocked_activities: + type: array + items: + type: string + parent_application: + type: string + allow_url_category: + type: array + items: + type: object + properties: + name: + type: string + decryption: + type: string + enum: [enabled, disabled] + default: enabled + credential_enforcement: + type: string + enum: [enabled, disabled] + default: enabled + additional_action: + type: string + enum: [none, continue, redirect, isolate] + default: none + isolation_profiles: + type: string + default: none + file_control: + type: object + properties: + upload: + type: string + enum: [allow-all-file-types, best-practice, block-all-file-types] + download: + type: string + enum: [allow-all-file-types, best-practice, block-all-file-types] + dlp: + type: string + default_profile_settings: + type: object + properties: + file_control: + type: object + properties: + upload: + type: string + enum: [allow-all-file-types, best-practice, block-all-file-types] + download: + type: string + enum: [allow-all-file-types, best-practice, block-all-file-types] + dlp: + type: string url-access-profiles: type: object properties: @@ -5582,6 +5807,10 @@ components: safe_search_enforcement: type: boolean default: false + redirect: + type: array + items: + type: string required: - name oneOf: @@ -6333,7 +6562,9 @@ components: message: type: string details: - type: object + oneOf: + - type: string + - type: object help: type: string security: diff --git a/openapi-specs/scm/config/ngfw/setup/config-setup.yaml b/openapi-specs/scm/config/ngfw/setup/config-setup.yaml index 706c0b675..78f675875 100644 --- a/openapi-specs/scm/config/ngfw/setup/config-setup.yaml +++ b/openapi-specs/scm/config/ngfw/setup/config-setup.yaml @@ -25,6 +25,24 @@ tags: description: Configuration snippets - name: Variables description: Configuration variables + - name: Snippet Categories + description: Configuration snippets and category information + - name: Trusted Tenants Overview + description: Overview of published and subscribed tenants + - name: Trust Information + description: Trust Information with shared snippets + - name: Trusts + description: Trusts between tenants + - name: Trust Validations + description: Validates trust information + - name: Subscribed Tenants + description: Subscribed Tenants information + - name: Snippet Snapshots + description: Snippet Snapshots + - name: Shared Snippets + description: Shared Snippets + - name: Snippet Audit Logs + description: Snippet Audit Logs paths: /labels: get: @@ -632,11 +650,7 @@ paths: - $ref: '#/components/parameters/uuid' responses: '200': - content: - application/json: - schema: - $ref: '#/components/schemas/folders' - description: OK + $ref: '#/components/responses/http_ok' '400': $ref: '#/components/responses/bad_request_errors_basic' '401': @@ -658,6 +672,7 @@ paths: - Devices operationId: ListDevices parameters: + - $ref: '#/components/parameters/pagination-optional' - $ref: '#/components/parameters/limit-optional' - $ref: '#/components/parameters/offset-optional' - $ref: '#/components/parameters/name-optional' @@ -732,7 +747,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/devices' + $ref: '#/components/schemas/devices-put' description: The `device` resource definition. responses: '200': @@ -749,163 +764,935 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' -components: - securitySchemes: - scmOAuth: - type: oauth2 + /snippet-categories: + get: + summary: List snippets categories 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 + Retrieve a list of snippet categories. + tags: + - Snippet Categories + operationId: ListSnippetCategories + 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/snippet_categories' + 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' + /snippet-categories/{id}: + get: + summary: Get a snippet category 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 + Retrieve an existing snippet category. + tags: + - Snippet Categories + parameters: + - $ref: '#/components/parameters/uuid' + operationId: GetSnippetCategoryByID + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_categories' + 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' + delete: + summary: Delete a snippet category description: | - The folder in which the resource is defined - snippet: - name: snippet - in: query - required: false - schema: - type: string + Delete an existing snippet category. + tags: + - Snippet Categories + operationId: DeleteSnippetCategoryByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_categories' + 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' + /trusted-tenant-overview: + get: + summary: Trusted Tenants Overview description: | - The snippet in which the resource is defined - device: - name: device - in: query - required: false - schema: - type: string + Overview of publishers and subscribers. + tags: + - Trusted Tenants Overview + operationId: GetTrustedTenantsOverview + 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' + /trusted-tenants: + get: + summary: Trusted Tenants With Snippets 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 + Retrieve a list of trusted tenants with snippets. + tags: + - Trust Information + operationId: ListTrustedTenantsWithSnippets + parameters: + - $ref: '#/components/parameters/trusted-tenant-type' + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/trust_info_with_shared_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' + /trusts: + post: + summary: Create a trust + description: | + Create a new trust. + tags: + - Trusts + operationId: CreateTrust + 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' + delete: + summary: Delete a Trust + description: | + Delete an existing Trust. + tags: + - Trusts + operationId: DeleteTrust + parameters: + - $ref: '#/components/parameters/trust-ids' + - $ref: '#/components/parameters/trusted-tenant-type' + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/tenant_trust_info' + 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' + /trust-validations: + post: + summary: Validates Trust + description: | + Validate trust. + tags: + - Trust Validations + operationId: ValidateTrust + 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/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' + /subscribed-tenants/{id}: + get: + summary: Get Subscribed Tenants + description: | + Retrieve a list of subscribed tenants. + tags: + - Subscribed Tenants + operationId: ListSubscribedTenantsByID + parameters: + - $ref: '#/components/parameters/uuid' + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/snippet_share_info' + 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' + /subscribed-tenants: + post: + summary: Create Subscribed Tenant + description: | + Create Subscribed Tenant. + tags: + - Subscribed Tenants + operationId: CreateSubscribedTenant + 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' + put: + summary: Update a subscribed tenant + description: | + Update an existing subscribed tenant. + tags: + - Subscribed Tenants + operationId: UpdateSubscribedTenantBySnippetID + 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' + delete: + summary: Delete a subscribed tenant + description: | + Delete an existing subscribed tenant. + tags: + - Subscribed Tenants + operationId: DeleteSubscribedTenantBySnippedID + 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' + /snippet-snapshots: + post: + summary: Save Snippet Snapshots + description: | + Save Snippet Snapshots. + tags: + - Snippet Snapshots + operationId: SaveSnippetSnapshot + 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' + /snippet-snapshots:publish: + post: + summary: Publish Snippet Snapshots + description: | + Publish Snippet Snapshots. + tags: + - Snippet Snapshots + operationId: PublishSnippetSnapshot + 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' + /snippet-snapshots:compare: + post: + summary: Compare Snippet Snapshots + description: | + Compare Snippet Snapshots. + tags: + - Snippet Snapshots + operationId: CompareSnippetSnapshot + 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' + /snippet-snapshots:diff: + post: + summary: Diff Snippet Snapshots + description: | + Diff Snippet Snapshots. + tags: + - Snippet Snapshots + operationId: DiffSnippetSnapshot + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/compare_tlo_payload' + description: The `Snippet Snapshots To Differentiate` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_snapshot_diff_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' + /snippet-snapshots:load: + post: + summary: Load Snippet Snapshots + description: | + Load Snippet Snapshots. + tags: + - Snippet Snapshots + operationId: LoadSnippetSnapshot + 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' + /snippet-snapshots:updates: + post: + summary: Update Snippet Snapshots + description: | + Update Snippet Snapshots. + tags: + - Snippet Snapshots + operationId: UpdateSnippetSnapshot + 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' + /snippet-snapshots:convert: + post: + summary: Convert Snippet Snapshots + description: | + Convert Snippet Snapshots. + tags: + - Snippet Snapshots + operationId: ConvertSnippetSnapshot + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/common_snippet_snapshot_payload' + description: The `Snippet Snapshots To Convert` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/dynamic_entry' + 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' + /shared-snippets: + get: + summary: Get Shared Snippets + description: | + Retrieve a list of shared snippets. + tags: + - Shared Snippets + operationId: ListSharedSnippets + responses: + '200': + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/snippet_share_info' + 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 Shared Snippets + description: | + Update Shared Snippets. + tags: + - Shared Snippets + operationId: ConvertSharedSnippets + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_share_upload_payload' + description: The `Shared Snippets To Update` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_share_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' + /shared-snippets:load: + post: + summary: Load Shared Snippets + description: | + Convert Snippet Snippets. + tags: + - Shared Snippets + operationId: LoadSharedSnippets + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_share_load_payload' + description: The `Snippet Snapshots To Convert` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_share_load_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' + '409': + $ref: '#/components/responses/conflict_errors' + default: + $ref: '#/components/responses/default_errors' + /snippet-audit-logs/{id}: + get: + summary: Get a snippet audit logs + description: | + Retrieve an existing snippet audit logs by UUID. + tags: + - Snippet Audit Logs + parameters: + - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/trusted-tenant-type' + operationId: GetSnippetAuditLogsByID + 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' + /snippet-audit-logs: + post: + summary: Create snippet audit logs configuration + description: | + Create snippet audit logs configuration. + tags: + - Snippet Audit Logs + operationId: CreateSnippetAuditLogs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_audit_payload' + description: The `Snippet Snapshots To Convert` resource definition + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_audit_history' + 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' +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 + pagination-optional: + name: pagination + in: query + required: false + schema: + type: boolean + description: The parameter to mention if the response should be paginated. By default, its set to false + 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 + trusted-tenant-type: + name: type + in: query + required: true + schema: + type: string + enum: + - subscriber + - publisher + description: | + Specifies the type of the tenant that is trusted, either 'subscriber' or 'publisher'. + trust-ids: + name: trustids + in: query + required: true + schema: + type: string + description: | + Comma-separated list of trust IDs + snippet-id: + name: snippet-id + in: query + required: true + schema: + type: string + description: | + The ID of the snippet + recipient-tsgs: + name: tsgs + in: query + required: true + schema: + type: string + description: | + Comma-separated list of recipient TSG IDs + 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: @@ -1127,363 +1914,1152 @@ components: generic_error: type: object properties: - _errors: - $ref: '#/components/schemas/error_detail_cause_infos' - _request_id: + _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: + oneOf: + - type: string + - 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-put: + type: object + properties: + "display_name": + type: string + description: The display name of the device + "folder": + type: string + description: The folder containing the device + "description": + type: string + description: The description 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 + 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 + "display_name": + type: string + description: The display 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 + snippet_categories: + type: object + properties: + name: + type: string + readOnly: true + id: + type: string + readOnly: true + enable_prefix: + type: boolean + readOnly: true + prefix: + type: string + readOnly: true + display_name: + type: string + readOnly: true + type: + type: string + readOnly: true + description: + type: string + readOnly: true + status: + type: string + readOnly: true + error: + type: string + readOnly: true + donor_tsg: + type: string + readOnly: true + donor_tenant_id: + type: string + readOnly: true + donor_tenant_name: + type: string + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_tenant_id: + type: string + readOnly: true + recipient_tenant_name: + type: string + readOnly: true + snippet_uuid: + type: string + readOnly: true + donor_snippet_version: + type: integer + readOnly: true + donor_snippet_file_id: + type: integer + readOnly: true + donor_created: + type: integer + readOnly: true + msg_uuid: + type: string + readOnly: true + created_in: + type: string + format: date-time + readOnly: true + last_update: + type: string + format: date-time + readOnly: true + folders: + type: array + items: + $ref: '#/components/schemas/used_folders' + shared_in: + type: string + readOnly: true + labels: + type: array + items: + type: string + readOnly: true + recipient_paused_update: + type: boolean + readOnly: true + recipient_validate_before_update: + type: boolean + readOnly: true + version: + type: integer + readOnly: true + required: + - name + - id + used_folders: + type: object + properties: + id: + type: string + name: + type: string + required: + - name + trusted_tenant_overview: + type: object + properties: + publisher: + type: object + properties: + total: + type: integer + readOnly: true + pending: + type: integer + readOnly: true + subscriber: + type: object + properties: + total: + type: integer + readOnly: true + pending: + type: integer + readOnly: true + trust_info_with_shared_snippets: + type: object + properties: + id: + type: integer + readOnly: true + donor_tsg: + type: string + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_paused_update: + type: integer + readOnly: true + recipient_validate_before_update: + type: integer + readOnly: true + snippet_uuid: + type: string + readOnly: true + snippet_name: + type: string + readOnly: true + donor_snippet_version: + type: integer + readOnly: true + donor_snippet_file_id: + type: integer + readOnly: true + donor_created: + type: integer + readOnly: true + recipient_snippet_version: + type: integer + readOnly: true + recipient_snippet_file_id: + type: integer + readOnly: true + msg_uuid: + type: string + readOnly: true + status: + type: string + readOnly: true + error: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + last_updated: + type: string + format: date-time + readOnly: true + updated_by: + type: string + readOnly: true + shared_snippets: + type: array + items: + $ref: '#/components/schemas/snippet_share_info' + snippet_share_info: + type: object + properties: + id: + type: integer + format: uint + readOnly: true + donor_tsg: type: string - error_detail_cause_infos: - type: array - items: - $ref: '#/components/schemas/error_detail_cause_info' - error_detail_cause_info: - title: Cause Info + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_paused_update: + type: boolean + readOnly: true + recipient_validate_before_update: + type: boolean + readOnly: true + snippet_uuid: + type: string + readOnly: true + snippet_name: + type: string + readOnly: true + donor_snippet_version: + type: integer + readOnly: true + donor_snippet_file_id: + type: integer + readOnly: true + donor_created: + type: integer + readOnly: true + recipient_snippet_version: + type: integer + readOnly: true + recipient_snippet_file_id: + type: integer + readOnly: true + msg_uuid: + type: string + readOnly: true + status: + type: string + readOnly: true + error: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + last_updated: + type: string + format: date-time + readOnly: true + donor_tenant_id: + type: string + readOnly: true + donor_tenant_name: + type: string + readOnly: true + recipient_tenant_id: + type: string + readOnly: true + recipient_tenant_name: + type: string + readOnly: true + properties: + type: array + items: + $ref: '#/components/schemas/snippet_share_property' + snippet_share_property: type: object properties: - 'code': + id: + type: integer + readOnly: true + donor_tsg: type: string - message: + readOnly: true + donor_tenant: type: string - details: - type: object - help: + readOnly: true + recipient_tsg: type: string - variables: + readOnly: true + recipient_tenant: + type: string + readOnly: true + snippet_uuid: + type: string + readOnly: true + snippet_name: + type: string + readOnly: true + property_name: + type: string + readOnly: true + property_value: + type: string + readOnly: true + msg_uuid: + type: string + readOnly: true + status: + type: string + readOnly: true + error: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + created_by: + type: string + readOnly: true + updated: + type: string + format: date-time + readOnly: true + updated_by: + type: string + readOnly: true + trusts: type: object - required: - - 'name' - - 'id' - - 'type' - - 'value' properties: - id: + tsg: type: string - description: UUID of the variable + donor_tenant_name: + type: string + recipient_tenant_name: + type: string + trust_id: + type: integer + nullable: true + psk: + type: string + tenant_trust_info: + type: object + properties: + trust_id: + type: integer + donor_trust_info_id: + type: integer readOnly: true - example: 123e4567-e89b-12d3-a456-426655440000 - name: + donor_tsg: type: string - description: The name of the variable - maxLength: 63 - type: + readOnly: true + donor_tenant_id: 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: + donor_tenant_name: + type: string + donor_cluster: 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: + donor_region: 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: + readOnly: true + donor_project: + type: string + readOnly: true + recipient_trust_info_id: + type: integer + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_tenant_id: + type: string + readOnly: true + recipient_tenant_name: + type: string + recipient_cluster: + type: string + readOnly: true + recipient_region: + type: string + readOnly: true + recipient_project: + type: string + readOnly: true + psk: + type: string + donor_msg_uuid: + type: string + readOnly: true + recipient_msg_uuid: + type: string + readOnly: true + current_status: + type: string + readOnly: true + error_details: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + created_by: + type: string + readOnly: true + last_updated: + type: string + format: date-time + readOnly: true + updated_by: + type: string + readOnly: true + trusts_validation_payload: type: object required: - - "name" - - "id" - - "parent" + - tsg + - donor_tenant_name + - recipient_tenant_name + - trust_id + - psk properties: - "name": + tsg: + type: string + donor_tenant_name: + type: string + recipient_tenant_name: + type: string + trust_id: + type: integer + nullable: true + psk: + type: string + add_subscriber_request_payload: + type: array + items: + type: object + required: + - tsg_id + - snippet_id + - snippet_name + properties: + tsg_id: + type: string + snippet_id: + type: string + snippet_name: + type: string + subscriber_property_payload: + type: object + required: + - tsg_id + - snippet_id + - snippet_name + properties: + tsg_id: + type: string + snippet_id: + type: string + snippet_name: + type: string + property: + type: array + items: + $ref: '#/components/schemas/property_item' + property_item: + type: object + properties: + id: + type: integer + name: + type: string + value: + type: string + deleted_subscriber: + type: object + properties: + info: + $ref: '#/components/schemas/snippet_share_info' + status: type: string - description: The name of the folder - "id": + details: type: string - readOnly: true - description: The UUID of the folder - "parent": + snippet_snapshot_publish_request: + type: object + properties: + id: type: string - description: The parent folder - "description": + name: type: string - description: The description of the folder - "labels": + tsgs: type: array items: type: string - description: Labels assigned to the folder - "snippets": + validation: + type: boolean + version: + type: integer + snippet_snapshot_publish_response: + type: object + readOnly: true + properties: + id: + type: string + readOnly: true + tsgs: type: array + readOnly: true items: type: string - description: Snippets associated with the folder - snippets: + version: + type: integer + readOnly: true + nullable: true + file_id: + type: integer + readOnly: true + nullable: true + job_id: + type: integer + readOnly: true + save_snippet_snapshot_payload: type: object - required: - - "name" - - "id" properties: - "name": + id: type: string - description: The name of the snippet - "description": + description: type: string - description: The description of the snippet - "id": + required: + - id + - description + save_snippet_snapshot_config_response: + type: object + readOnly: true + properties: + status: type: string - description: The UUID of the snippet readOnly: true - "type": - type: string + result: + type: object readOnly: true - enum: - - predefined - - custom - description: The snippet type - "labels": - type: array - items: - type: string - description: Labels applied to the snippet - labels: + properties: + version: + type: string + compare_snippet_snapshot_config_payload: type: object + properties: + id: + type: string + version: + type: integer + comparing_version: + type: integer required: - - "name" - - "id" + - id + - version + - comparing_version + compare_tlo_payload: + type: object properties: - "name": + snippet_id: type: string - description: The name of the label - "id": + object_id: type: string - readOnly: true - description: The UUID of the label - "description": + version: + type: integer + comparing_version: + type: integer + required: + - snippet_id + - object_id + - version + - comparing_version - + common_snippet_snapshot_payload: + type: object + properties: + id: type: string - description: The description of the label - devices: + keep_local: + type: boolean + snippet_snapshot_compare_entry: type: object - required: - - name - - id - - folder + readOnly: true properties: - "id": + id: type: string readOnly: true - description: The UUID of the device - "name": + admin: type: string - description: The name of the device - "folder": + readOnly: true + format: email + loc: type: string - description: The folder containing the device - "description": + loctype: type: string - description: The description of the device - "hostname": + objectname: type: string - readOnly: true - description: The hostname of the device - "ip_address": + objecttype: type: string - readOnly: true - description: The IPv4 address of the device - "ipV6_address": + operations: type: string - readOnly: true - description: The IPv6 address of the device - "mac_address": + enum: [edit, create] + timestamp: type: string + format: date-time + snippet_snapshot_compare_response: + type: array + readOnly: true + items: + $ref: '#/components/schemas/snippet_snapshot_compare_entry' + snippet_snapshot_diff_response: + type: object + properties: + after: + type: object readOnly: true - description: The MAC address of the device - "family": + properties: + '@ts': + type: string + readOnly: true + format: date-time + entry: + type: array + readOnly: true + items: + $ref: '#/components/schemas/dynamic_entry' + before: + type: object + properties: + '@ts': + type: string + format: date-time + entry: + type: array + items: + $ref: '#/components/schemas/dynamic_entry' + snippet_snapshot_load_snippet_payload: + type: object + properties: + id: type: string - readOnly: true - description: The product family of the device - "model": + version: 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": + required: + - id + - version + snippet_snapshot_load_snippet_response: + type: object + readOnly: true + properties: + status: type: string - readOnly: true - "threat_version": + snippet_snapshot_subscriber_compare_payload: + type: object + properties: + id: type: string - readOnly: true - "anti_virus_version": + tenant_id: type: string + description: Publisher Tenant ID + required: + - id + - tenant_id + snippet_snapshot_subscriber_compare_response: + type: object + properties: + publisher: + type: object readOnly: true - "wf_ver": - type: string + properties: + entry: + type: array + items: + $ref: '#/components/schemas/dynamic_entry' + subscriber: + type: object readOnly: true - "iot_version": + properties: + entry: + type: array + items: + $ref: '#/components/schemas/dynamic_entry' + dynamic_entry: + type: object + readOnly: true + additionalProperties: true + snippet_share_upload_payload: + type: object + required: + - id + properties: + id: type: string - readOnly: true - "url_db_type": + pause_update: + type: boolean + validate_before_update: + type: boolean + snippet_share_load_payload: + type: object + required: + - id + properties: + id: type: string + validation: + type: boolean + nullable: true + snippet_audit_history: + type: object + properties: + id: + type: integer + format: uint readOnly: true - "url_db_ver": + donor_tsg: type: string readOnly: true - "software_version": + donor_tenant_name: type: string readOnly: true - "vm_state": + recipient_tsg: type: string readOnly: true - "gp_client_verion": + recipient_tenant_name: type: string readOnly: true - "gp_data_version": - type: string + donor_created: + type: integer readOnly: true - "log_db_version": + snippet_uuid: type: string readOnly: true - "uptime": + user: type: string readOnly: true - "dev_cert_detail": + version: type: string readOnly: true - "dev_cert_expiry_date": + action: type: string readOnly: true - "ha_state": - type: string + display: + type: integer readOnly: true - "ha_peer_serial": + details: type: string readOnly: true - "ha_peer_state": + created: type: string + format: date-time readOnly: true - "is_connected": - type: boolean + deleted: + type: integer readOnly: true - "connected_since": + snippet_audit_payload: + type: object + properties: + donor_tsg: type: string - format: date-time - readOnly: true - "app_release_date": + donor_tenant_name: type: string - readOnly: true - "threat_release_date": + recipient_tsg: type: string - readOnly: true - "av_release_date": + recipient_tenant_name: type: string - readOnly: true - "wf_release_date": + donor_created: + type: integer + snippet_uuid: type: string - readOnly: true - "iot_release_date": + version: + type: string + action: + type: string + details: 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/network/network-services.yaml b/openapi-specs/scm/config/sase/network/network-services.yaml index 80f15d6c7..9b1b4cff4 100644 --- a/openapi-specs/scm/config/sase/network/network-services.yaml +++ b/openapi-specs/scm/config/sase/network/network-services.yaml @@ -85,8 +85,6 @@ tags: description: Route Prefix Lists - name: SD-WAN Error Correction Profiles description: SD-WAN Error Correction Profiles - - name: SD-WAN Interface Profiles - description: SD-WAN Interface Profiles - name: SD-WAN Path Quality Profiles description: SD-WAN Path Quality Profiles - name: SD-WAN Rules @@ -95,15 +93,18 @@ tags: description: SD-WAN SaaS Quality Profiles - name: SD-WAN Traffic Distribution Profiles description: SD-WAN Traffic Distribution Profiles + - name: Security Zones + description: Security Zones - name: Tunnel Interfaces description: Tunnel Interfaces - name: VLAN Interfaces description: VLAN Interfaces - name: Zone Protection Profiles description: Zone Protection Profiles - - name: Zones - description: Zones - + - name: Ssl Decryption Settings + description: Ssl Decrypt + - name: Remote Networks License + description: Remote Networks License Info paths: /ike-crypto-profiles: get: @@ -1058,7 +1059,7 @@ paths: /zones: get: tags: - - Zones + - Security Zones summary: List security zones description: | Retrieve a list of security zones. @@ -1103,7 +1104,7 @@ paths: $ref: '#/components/responses/default_errors' post: tags: - - Zones + - Security Zones summary: Create a security zone description: | Create a new security zone. @@ -1130,7 +1131,7 @@ paths: '/zones/{id}': get: tags: - - Zones + - Security Zones summary: Get a security zone description: | Get an existing security zone. @@ -1156,7 +1157,7 @@ paths: $ref: '#/components/responses/default_errors' put: tags: - - Zones + - Security Zones summary: Update a security zone description: | Update an existing security zone. @@ -1186,7 +1187,7 @@ paths: $ref: '#/components/responses/default_errors' delete: tags: - - Zones + - Security Zones summary: Delete a security zone description: | Delete a security zone. @@ -3822,6 +3823,7 @@ paths: Retrieve a list of logical routers. operationId: ListLogicalRouters parameters: + - $ref: '#/components/parameters/pagination-optional' - $ref: '#/components/parameters/limit' - $ref: '#/components/parameters/offset' - $ref: '#/components/parameters/name' @@ -3840,7 +3842,7 @@ paths: allOf: - type: array items: - $ref: '#/components/schemas/logical-routers' + $ref: '#/components/schemas/logical-routers-new' limit: type: number default: 200 @@ -3871,7 +3873,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/logical-routers' + $ref: '#/components/schemas/logical-routers-new' responses: '201': $ref: '#/components/responses/http_created' @@ -3901,7 +3903,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/logical-routers' + $ref: '#/components/schemas/logical-routers-new' '400': $ref: '#/components/responses/bad_request_errors_basic' '401': @@ -3926,7 +3928,7 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/logical-routers' + $ref: '#/components/schemas/logical-routers-new' responses: '200': $ref: '#/components/responses/http_ok' @@ -5459,161 +5461,6 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - - /sdwan-interface-profiles: - get: - tags: - - SD-WAN Interface Profiles - summary: List SD-WAN interface profiles - description: | - Retrieve a list of SD-WAN interface profiles. - operationId: ListSDWANInterfaceProfiles - parameters: - - $ref: '#/components/parameters/limit' - - $ref: '#/components/parameters/offset' - - $ref: '#/components/parameters/name' - - $ref: '#/components/parameters/folder' - - $ref: '#/components/parameters/snippet' - - $ref: '#/components/parameters/device' - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - data: - allOf: - - type: array - items: - $ref: '#/components/schemas/sdwan-interface-profiles' - limit: - type: number - default: 200 - offset: - type: number - default: 0 - total: - type: number - '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: - tags: - - SD-WAN Interface Profiles - summary: Create an SD-WAN interface profile - description: | - Create a new SD-WAN interface profile. - operationId: CreateSDWANInterfaceProfiles - requestBody: - description: Created - content: - application/json: - schema: - $ref: '#/components/schemas/sdwan-interface-profiles' - 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' - '/sdwan-interface-profiles/{id}': - get: - tags: - - SD-WAN Interface Profiles - summary: Get an SD-WAN interface profile - description: | - Get an existing SD-WAN interface profile. - operationId: GetSDWANInterfaceProfilesByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/sdwan-interface-profiles' - '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: - tags: - - SD-WAN Interface Profiles - summary: Update an SD-WAN interface profile - description: | - Update an existing SD-WAN interface profile. - operationId: UpdateSDWANInterfaceProfilesByID - parameters: - - $ref: '#/components/parameters/uuid' - requestBody: - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/sdwan-interface-profiles' - 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: - tags: - - SD-WAN Interface Profiles - summary: Delete an SD-WAN interface profile - description: | - Delete an SD-WAN interface profile. - operationId: DeleteSDWANInterfaceProfilesByID - parameters: - - $ref: '#/components/parameters/uuid' - responses: - '200': - $ref: '#/components/responses/http_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' - /sdwan-path-quality-profiles: get: tags: @@ -6532,6 +6379,151 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' + /ssl-decryption-settings: + get: + tags: + - Ssl Decryption Settings + summary: GET Ssl Decryption Settings + description: GET Ssl Decryption Settings + operationId: getSslDecryptionSettings + parameters: + - $ref: '#/components/parameters/folder' + - $ref: '#/components/parameters/snippet' + - $ref: '#/components/parameters/device' + - $ref: '#/components/parameters/offset' + - $ref: '#/components/parameters/limit' + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ssl-decryption-settings' + '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: + tags: + - Ssl Decryption Settings + summary: POST Ssl Decryption Settings + description: POST Ssl Decryption Settings + operationId: postSslDecryptionSettings + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/ssl-decryption-settings' + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ssl-decryption-settings' + '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' + put: + tags: + - Ssl Decryption Settings + summary: PUT Ssl Decryption Settings + description: PUT Ssl Decryption Settings + operationId: putSslDecryptionSettings + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ssl-decryption-settings' + '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: + tags: + - Ssl Decryption Settings + summary: DELETE Ssl Decryption Settings + description: DELETE Ssl Decryption Settings + operationId: deleteSslDecryptionSettings + responses: + '200': + description: Successful response + content: + application/json: + schema: + $ref: '#/components/schemas/ssl-decryption-settings' + '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' + /remote-networks-license-info: + get: + summary: Get Remote Networks License Info + description: Returns operational license model and site license counts. + operationId: getRemoteNetworksLicenseInfo + tags: + - Remote Networks License + responses: + '200': + description: License information retrieved successfully. + content: + application/json: + schema: + $ref: '#/components/schemas/LicenseResult' + '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' + '500': + description: Failed to fetch license information. + content: + application/json: + schema: + type: object + properties: + error: + type: string + example: Failed to retrieve license data components: parameters: name: @@ -6541,6 +6533,13 @@ components: required: false schema: type: string + pagination-optional: + name: pagination + in: query + required: false + schema: + type: boolean + description: The parameter to mention if the response should be paginated. By default, its set to false limit: name: limit in: query @@ -6928,34 +6927,106 @@ components: details: {} _request_id: 123e4567-e89b-12d3-a456-426655440000 schemas: - ike-crypto-profiles: + LicenseInfo: type: object properties: - id: + license_type: type: string - description: UUID of the resource - readOnly: true - example: 123e4567-e89b-12d3-a456-426655440000 - name: - type: string - description: 'Alphanumeric string begin with letter: [0-9a-zA-Z._-]' - maxLength: 31 - hash: + example: FWAAS-SITE-1000Mbps + count: + type: integer + example: 1 + LicenseResult: + type: object + properties: + license_model: type: array items: - enum: - - md5 - - sha1 - - sha256 - - sha384 - - sha512 - description: Hashing algorithm - default: sha1 - encryption: + type: string + example: [ "agg-bandwidth", "site" ] + purchased_licenses: type: array - description: Encryption algorithm items: - enum: + $ref: '#/components/schemas/LicenseInfo' + configured_licenses: + type: array + items: + $ref: '#/components/schemas/LicenseInfo' + operational_license: + type: string + description: > + Indicates the currently active license model. + Can be "agg-bandwidth", "site", or "none". + example: site + ssl-decryption-settings: + type: object + properties: + disabled_ssl_exclude_cert_from_predefined: + type: array + items: + type: object + forward_trust_certificate: + type: object + properties: + ecdsa: + type: string + rsa: + type: string + forward_untrust_certificate: + type: object + properties: + rsa: + type: string + ecdsa: + type: string + root_ca_exclude_list: + type: array + items: + type: object + ssl_exclude_cert: + type: array + items: + type: object + properties: + description: + type: string + exclude: + type: boolean + name: + type: string + trusted_root_CA: + type: array + items: + type: object + ike-crypto-profiles: + type: object + properties: + id: + type: string + description: UUID of the resource + readOnly: true + example: 123e4567-e89b-12d3-a456-426655440000 + name: + type: string + description: 'Alphanumeric string begin with letter: [0-9a-zA-Z._-]' + maxLength: 31 + hash: + type: array + items: + enum: + - md5 + - sha1 + - sha256 + - sha384 + - sha512 + - non-auth + description: Hashing algorithm + default: sha1 + encryption: + type: array + description: Encryption algorithm + items: + enum: - des - 3des - aes-128-cbc @@ -7068,6 +7139,13 @@ components: type: string description: 'Alphanumeric string begin with letter: [0-9a-zA-Z._-]' maxLength: 63 + local_address: + type: object + properties: + interface: + type: string + description: Interface variable or hardcoded vlan/loopback. vlan will be passed as default value + default: vlan authentication: type: object oneOf: @@ -7428,6 +7506,10 @@ components: type: string description: 'Alphanumeric string begin with letter: [0-9a-zA-Z._-]' maxLength: 63 + tunnel_interface: + type: string + description: Tunnel interface variable or hardcoded tunnel. Default will be tunnels. + default: tunnel auto_key: type: object properties: @@ -11418,732 +11500,3222 @@ components: example: My Device required: - device - - logical-routers: + logical-routers-new: type: object required: - - name - properties: - id: + - 'name' + properties: + name: type: string - description: UUID of the resource - readOnly: true - example: 123e4567-e89b-12d3-a456-426655440000 - name: - description: Logical router name + routing_stack: type: string - maxLength: 63 - vrf: - type: object - properties: - ecmp: - type: object - properties: - enable: - description: Enable ECMP routing? - type: boolean - max_path: - description: Max paths - type: integer - minimum: 2 - maximum: 4 - default: 2 - symmetric_return: - description: Symmetric return? - type: boolean - strict_source_path: - description: Strict source path? - type: boolean - algorithm: - type: object - properties: - ip_modulo: - type: object - ip_hash: - type: object - properties: - src_only: - description: Use source address only? - type: boolean - use_port: - description: Use source/destination port for hash? - type: boolean - hash_seed: - description: Hash seed - type: integer - minimum: 0 - maximum: 4294967295 - weighted_round_robin: - type: object - properties: - interface: - description: Interfaces - type: array - items: - type: object - properties: - name: - description: Interface name - type: string - example: ethernet1/1 - weight: - description: Weight - type: integer - minimum: 1 - maximum: 255 - balanced_round_robin: - type: object - interface: - description: Interfaces - type: array - items: - description: Interface name + enum: + - legacy + - advanced + vrf: + type: array + items: + type: object + required: + - 'name' + properties: + name: type: string - example: ethernet1/1 - admin_dists: - type: object - properties: - static: - description: Static routes - type: integer - minimum: 1 - maximum: 255 - default: 10 - ospf_intra: - description: OSPF intra area routes - type: integer - minimum: 1 - maximum: 255 - default: 110 - ospf_inter: - description: OSPF inter area routes - type: integer - minimum: 1 - maximum: 255 - default: 110 - ospf_ext: - description: OSPF external routes - type: integer - minimum: 1 - maximum: 255 - default: 110 - bgp_internal: - description: BGP AS internal routes - type: integer - minimum: 1 - maximum: 255 - default: 200 - bgp_external: - description: BGP AS external routes - type: integer - minimum: 1 - maximum: 255 - default: 20 - bgp_local: - description: BGP local routes - type: integer - minimum: 1 - maximum: 255 - default: 20 - rip: - description: RIP routes - type: integer - minimum: 1 - maximum: 255 - default: 120 - bgp: - type: object - properties: - enable: - description: Enable BGP routing? - type: boolean - router_id: - description: Router ID + interface: + type: array + items: type: string - local_as: - type: number - example: 1 - global_bfd: - type: object - properties: - profile: - description: BFD profile - type: string - enum: - - aggressive - - default - - passive-default - - None - peer_group: - description: Peer groups - type: array - items: + global_vrid: + type: number + zone_name: + type: string + admin_dists: + type: object + properties: + static: + type: number + static_ipv6: + type: number + ospf_inter: + type: number + ospf_intra: + type: number + ospf_ext: + type: number + ospfv3_inter: + type: number + ospfv3_intra: + type: number + ospfv3_ext: + type: number + bgp_internal: + type: number + bgp_external: + type: number + bgp_local: + type: number + rip: + type: number + vr_admin_dists: + type: object + properties: + static: + type: number + static_ipv6: + type: number + ospf_int: + type: number + ospf_ext: + type: number + ospfv3_int: + type: number + ospfv3_ext: + type: number + ibgp: + type: number + ebgp: + type: number + rip: + type: number + sdwan_type: + type: string + rib_filter: + type: object + properties: + ipv4: type: object - properties: - name: - description: Peer group name - type: string - enable: - description: Enable peer group? - type: boolean - 'type': + properties: + static: type: object - properties: - ibgp: - type: object - ebgp: - type: object - address_family: + properties: + route_map: + type: string + bgp: type: object - properties: - ipv4: - description: IPv4 address family + properties: + route_map: type: string - filtering_profile: + ospf: type: object - properties: - ipv4: - description: IPv4 filtering profile + properties: + route_map: + type: string + rip: + type: object + properties: + route_map: + type: string + ipv6: + type: object + properties: + static: + type: object + properties: + route_map: + type: string + bgp: + type: object + properties: + route_map: + type: string + ospfv3: + type: object + properties: + route_map: type: string - peer: - description: BGP peers + routing_table: + type: object + properties: + ip: + type: object + properties: + static_route: type: array - items: + items: type: object - properties: - name: - description: Peer name + required: + - 'name' + properties: + name: type: string - enable: - description: Enable BGP peer? - type: boolean - peer_as: - description: Peer AS - type: integer - minimum: 1 - maximum: 65535 - inherit: - description: Inherit addressing? - type: boolean - local_address: + destination: + type: string + interface: + type: string + nexthop: type: object - properties: - interface: - description: Local interface - type: string - ip: - description: Local IP address - type: string - peer_address: + oneOf: + - title: receive + required: + - receive + properties: + receive: + type: object + properties: {} + - title: discard + required: + - discard + properties: + discard: + type: object + properties: {} + - title: ipv6_address + required: + - ipv6_address + properties: + ipv6_address: + type: string + - title: fqdn + required: + - fqdn + properties: + fqdn: + type: string + - title: next_lr + required: + - next_lr + properties: + next_lr: + type: string + - title: next_vr + required: + - next_vr + properties: + next_vr: + type: string + - title: tunnel + required: + - tunnel + properties: + tunnel: + type: string + route_table: type: object - properties: - ip: - description: Peer IP address - type: string - connection_options: + oneOf: + - title: unicast + required: + - unicast + properties: + unicast: + type: object + properties: {} + - title: multicast + required: + - multicast + properties: + multicast: + type: object + properties: {} + - title: both + required: + - both + properties: + both: + type: object + properties: {} + - title: no_install + required: + - no_install + properties: + no_install: + type: object + properties: {} + admin_dist: + type: number + metric: + type: number + bfd: type: object - properties: - authentication: - description: Authentication profile - type: string - default: inherit - timers: - description: Timer profile + properties: + profile: type: string - default: inherit - multihop: - description: Multi-hop - type: string - default: inherit - dampening: - description: Dampening profile - type: string - default: inherit - enable_sender_side_loop_detection: - description: Enable sender side loop detection? - type: boolean - bfd: + path_monitor: type: object - properties: - profile: - description: BFD profile + properties: + enable: + type: boolean + failure_condition: type: string enum: - - aggressive - - Inherit-lh-global-setting - - default - - None - - passive-default - install_route: - description: Install route? - type: boolean - fast_external_failover: - description: Fast failover? - type: boolean - enforce_first_as: - description: Enforce first AS? - type: boolean - ecmp_multi_as: - description: ECMP multiple AS support? - type: boolean - graceful_shutdown: - description: Graceful shutdown? - type: boolean - default_local_preference: - description: Default local preference - type: integer - minimum: 0 - maximum: 4294967295 - graceful_restart: - type: object - properties: - enable: - description: Enable graceful restart? - type: boolean - stale_route_time: - description: Stale route time (seconds) - type: integer - minimum: 1 - maximum: 3600 - max_peer_restart_time: - description: Maximum peer restart time (seconds) - type: integer - minimum: 1 - maximum: 3600 - local_restart_time: - description: Local restart time (seconds) - type: integer - minimum: 1 - maximum: 3600 - med: - type: object - properties: - always_compare_med: - description: Always compare MED? - type: boolean - deterministic_med_comparison: - description: Deterministic MED comparison? - type: boolean - always_advertise_network_route: - description: Always advertise network route? - type: boolean - advertise_network: - type: object - properties: - ipv4: - type: object - properties: - network: - description: IPv4 networks - type: array - items: - type: object + - 'any' + - 'all' + hold_time: + type: number + monitor_destinations: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + source: + type: string + destination: + type: string + destination_fqdn: + type: string + interval: + type: number + count: + type: number + ipv6: + type: object + properties: + static_route: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + destination: + type: string + interface: + type: string + nexthop: + type: object + oneOf: + - title: receive + required: + - receive + properties: + receive: + type: object + properties: {} + - title: discard + required: + - discard + properties: + discard: + type: object + properties: {} + - title: ipv6_address + required: + - ipv6_address + properties: + ipv6_address: + type: string + - title: fqdn + required: + - fqdn + properties: + fqdn: + type: string + - title: next_lr + required: + - next_lr + properties: + next_lr: + type: string + - title: next_vr + required: + - next_vr + properties: + next_vr: + type: string + - title: tunnel + required: + - tunnel + properties: + tunnel: + type: string + admin_dist: + type: number + metric: + type: number + option: + type: object + properties: + passive: + type: object + properties: {} + route_table: + type: object + properties: + unicast: + type: object + properties: {} + multicast: + type: object + properties: {} + both: + type: object + properties: {} + no_install: + type: object + properties: {} + bfd: + type: object + properties: + profile: + type: string + path_monitor: + type: object + properties: + enable: + type: boolean + failure_condition: + type: string + enum: + - 'any' + - 'all' + hold_time: + type: number + monitor_destinations: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + source: + type: string + destination: + type: string + destination_fqdn: + type: string + interval: + type: number + count: + type: number + ospf: + type: object + properties: + router_id: + type: string + global_bfd: + type: object + properties: + profile: + type: string + enable: + type: boolean + rfc1583: + type: boolean + reject_default_route: + type: boolean + allow_redist_default_route: + type: boolean + flood_prevention: + type: object + properties: + hello: + type: object + properties: + enable: + type: boolean + max_packet: + type: number + lsa: + type: object + properties: + enable: + type: boolean + max_packet: + type: number + spf_timer: + type: string + global_if_timer: + type: string + vr_timers: + type: object + properties: + spf_calculation_delay: + type: number + lsa_interval: + type: number + auth_profile: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + oneOf: + - title: password + required: + - password + properties: + password: + type: string + - title: md5 + required: + - md5 + properties: + md5: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: number + key: + type: string + preferred: + type: boolean + redistribution_profile: + type: string + area: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + authentication: + type: string + type: + type: object + oneOf: + - title: normal + required: + - normal + properties: + normal: + type: object + properties: + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + - title: stub + required: + - stub + properties: + stub: + type: object + properties: + no_summary: + type: boolean + accept_summary: + type: boolean + default_route: + type: object + oneOf: + - title: disable + required: + - disable + properties: + disable: + type: object + properties: {} + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: + metric: + type: number + default_route_metric: + type: number + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + - title: nssa + required: + - nssa + properties: + nssa: + type: object + properties: + no_summary: + type: boolean + accept_summary: + type: boolean + default_information_originate: + type: object + properties: + metric: + type: number + metric_type: + type: string + enum: + - 'type-1' + - 'type-2' + default_route: + type: object + oneOf: + - title: disable + required: + - disable + properties: + disable: + type: object + properties: {} + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: + metric: + type: number + type: + type: string + enum: + - 'ext-1' + - 'ext-2' + nssa_ext_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + oneOf: + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: {} + - title: suppress + required: + - suppress + properties: + suppress: + type: object + properties: {} + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + nssa_ext_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + route_tag: + type: number + advertise: + type: boolean + range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + substitute: + type: string + advertise: + type: boolean + vr_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + oneOf: + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: {} + - title: suppress + required: + - suppress + properties: + suppress: + type: object + properties: {} + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + mtu_ignore: + type: boolean + passive: + type: boolean + priority: + type: number + link_type: + type: object + oneOf: + - title: broadcast + required: + - broadcast + properties: + broadcast: + type: object + properties: {} + - title: p2p + required: + - p2p + properties: + p2p: + type: object + properties: {} + - title: p2mp + required: + - p2mp + properties: + p2mp: + type: object + properties: + neighbor: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + priority: + type: number + metric: + type: number + authentication: + type: string + bfd: + type: object + properties: + profile: + type: string + timing: + type: string + vr_timing: + type: object + properties: + hello_interval: + type: number + dead_counts: + type: number + retransmit_interval: + type: number + transit_delay: + type: number + gr_delay: + type: number + virtual_link: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + neighbor_id: + type: string + transit_area_id: + type: string + enable: + type: boolean + interface_id: + type: number + instance_id: + type: number + timing: + type: string + vr_timing: + type: object + properties: + hello_interval: + type: number + dead_counts: + type: number + retransmit_interval: + type: number + transit_delay: + type: number + passive: + type: boolean + authentication: + type: string + bfd: + type: object + properties: + profile: + type: string + export_rules: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + new_path_type: + type: string + enum: + - 'ext-1' + - 'ext-2' + new_tag: + type: string + metric: + type: number + graceful_restart: + type: object + properties: + enable: + type: boolean + grace_period: + type: number + helper_enable: + type: boolean + strict_LSA_checking: + type: boolean + max_neighbor_restart_time: + type: number + ospfv3: + type: object + properties: + enable: + type: boolean + reject_default_route: + type: boolean + allow_redist_default_route: + type: boolean + router_id: + type: string + global_bfd: + type: object + properties: + profile: + type: string + disable_transit_traffic: + type: boolean + vr_timers: + type: object + properties: + spf_calculation_delay: + type: number + lsa_interval: + type: number + auth_profile: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + spi: + type: string + oneOf: + - title: esp + required: + - esp + properties: + esp: + type: object + properties: + authentication: + type: object + oneOf: + - title: sha1 + required: + - sha1 + properties: + sha1: + type: object + properties: + key: + type: string + - title: sha256 + required: + - sha256 + properties: + sha256: + type: object + properties: + key: + type: string + - title: sha384 + required: + - sha384 + properties: + sha384: + type: object + properties: + key: + type: string + - title: sha512 + required: + - sha512 + properties: + sha512: + type: object + properties: + key: + type: string + - title: md5 + required: + - md5 + properties: + md5: + type: object + properties: + key: + type: string + - title: none + required: + - none + properties: + none: + type: object + properties: {} + encryption: + type: object + properties: + algorithm: + type: string + enum: + - '3des' + - 'aes-128-cbc' + - 'aes-192-cbc' + - 'aes-256-cbc' + - 'null' + key: + type: string + - title: ah + required: + - ah + properties: + ah: + type: object + oneOf: + - title: sha1 + required: + - sha1 + properties: + sha1: + type: object + properties: + key: + type: string + - title: sha256 + required: + - sha256 + properties: + sha256: + type: object + properties: + key: + type: string + - title: sha384 + required: + - sha384 + properties: + sha384: + type: object + properties: + key: + type: string + - title: sha512 + required: + - sha512 + properties: + sha512: + type: object + properties: + key: + type: string + - title: md5 + required: + - md5 + properties: + md5: + type: object + properties: + key: + type: string + spf_timer: + type: string + global_if_timer: + type: string + redistribution_profile: + type: string + area: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + authentication: + type: string + type: + type: object + oneOf: + - title: normal + required: + - normal + properties: + normal: + type: object + properties: + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + - title: stub + required: + - stub properties: + stub: + type: object + properties: + accept_summary: + type: boolean + default_route: + type: object + oneOf: + - title: disable + required: + - disable + properties: + disable: + type: object + properties: {} + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: + metric: + type: number + no_summary: + type: boolean + default_route_metric: + type: number + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + - title: nssa + required: + - nssa + properties: + nssa: + type: object + properties: + nssa_ext_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + route_tag: + type: number + oneOf: + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: {} + - title: suppress + required: + - suppress + properties: + suppress: + type: object + properties: {} + no_summary: + type: boolean + default_information_originate: + type: object + properties: + metric: + type: number + metric_type: + type: string + enum: + - 'type-1' + - 'type-2' + accept_summary: + type: boolean + default_route: + type: object + oneOf: + - title: disable + required: + - disable + properties: + disable: + type: object + properties: {} + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: + metric: + type: number + type: + type: string + enum: + - 'ext-1' + - 'ext-2' + abr: + type: object + properties: + import_list: + type: string + export_list: + type: string + inbound_filter_list: + type: string + outbound_filter_list: + type: string + nssa_ext_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + route_tag: + type: number + oneOf: + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: {} + - title: suppress + required: + - suppress + properties: + suppress: + type: object + properties: {} + range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + advertise: + type: boolean + vr_range: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + oneOf: + - title: advertise + required: + - advertise + properties: + advertise: + type: object + properties: {} + - title: suppress + required: + - suppress + properties: + suppress: + type: object + properties: {} + interface: + type: array + items: + type: object + required: + - 'name' + properties: name: - description: IPv4 network type: string - unicast: - description: Unicast? + enable: type: boolean - multicast: - description: Multicast? + mtu_ignore: type: boolean - backdoor: - description: Backdoor? + passive: type: boolean - redistribution_profile: - type: object - properties: - ipv4: + priority: + type: number + link_type: + type: object + oneOf: + - title: broadcast + required: + - broadcast + properties: + broadcast: + type: object + properties: {} + - title: p2p + required: + - p2p + properties: + p2p: + type: object + properties: {} + - title: p2mp + required: + - p2mp + properties: + p2mp: + type: object + properties: + neighbor: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + priority: + type: number + neighbor: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + vr_timing: + type: object + properties: + hello_interval: + type: number + dead_counts: + type: number + retransmit_interval: + type: number + transit_delay: + type: number + gr_delay: + type: number + metric: + type: number + instance_id: + type: number + authentication: + type: string + bfd: + type: object + properties: + profile: + type: string + timing: + type: string + virtual_link: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + neighbor_id: + type: string + transit_area_id: + type: string + enable: + type: boolean + interface_id: + type: number + instance_id: + type: number + timing: + type: string + vr_timing: + type: object + properties: + hello_interval: + type: number + dead_counts: + type: number + retransmit_interval: + type: number + transit_delay: + type: number + passive: + type: boolean + authentication: + type: string + bfd: + type: object + properties: + profile: + type: string + export_rules: + type: array + items: type: object + required: + - 'name' + properties: + name: + type: string + new_path_type: + type: string + enum: + - 'ext-1' + - 'ext-2' + new_tag: + type: string + metric: + type: number + graceful_restart: + type: object + properties: + enable: + type: boolean + grace_period: + type: number + helper_enable: + type: boolean + strict_LSA_checking: + type: boolean + max_neighbor_restart_time: + type: number + ecmp: + type: object + properties: + enable: + type: boolean + algorithm: + type: object + oneOf: + - title: ip_modulo + required: + - ip_modulo + properties: + ip_modulo: + type: object + properties: {} + - title: ip_hash + required: + - ip_hash + properties: + ip_hash: + type: object + properties: + src_only: + type: boolean + use_port: + type: boolean + hash_seed: + type: number + - title: weighted_round_robin + required: + - weighted_round_robin + properties: + weighted_round_robin: + type: object + properties: + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + weight: + type: number + - title: balanced_round_robin + required: + - balanced_round_robin properties: - unicast: - description: Redistribution profile name + balanced_round_robin: + type: object + properties: {} + max_path: + type: number + symmetric_return: + type: boolean + strict_source_path: + type: boolean + multicast: + type: object + properties: + enable: + type: boolean + enable_v6: + type: boolean + static_route: + type: array + items: + type: object + required: + - 'name' + properties: + name: type: string - aggregate_routes: - type: array - items: + destination: + type: string + interface: + type: string + nexthop: + type: object + properties: + ip_address: + type: string + preference: + type: number + pim: + type: object + properties: + enable: + type: boolean + rpf_lookup_mode: + type: string + enum: + - 'mrib-then-urib' + - 'mrib-only' + - 'urib-only' + route_ageout_time: + type: number + if_timer_global: + type: string + group_permission: + type: string + ssm_address_space: + type: object + properties: + group_list: + type: string + spt_threshold: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + threshold: + type: string + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + description: + type: string + dr_priority: + type: number + send_bsm: + type: boolean + if_timer: + type: string + neighbor_filter: + type: string + rp: + type: object + properties: + local_rp: + type: object + oneOf: + - title: static_rp + required: + - static_rp + properties: + static_rp: + type: object + properties: + interface: + type: string + address: + type: string + override: + type: boolean + group_list: + type: string + - title: candidate_rp + required: + - candidate_rp + properties: + candidate_rp: + type: object + properties: + interface: + type: string + address: + type: string + priority: + type: number + advertisement_interval: + type: number + group_list: + type: string + external_rp: + type: array + items: + type: object + properties: + name: + type: string + group_list: + type: string + override: + type: boolean + igmp: + type: object + properties: + enable: + type: boolean + dynamic: + type: object + properties: + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + version: + type: string + enum: + - '2' + - '3' + robustness: + type: string + enum: + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + group_filter: + type: string + max_groups: + type: string + max_sources: + type: string + query_profile: + type: string + router_alert_policing: + type: boolean + static: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + interface: + type: string + group_address: + type: string + source_address: + type: string + msdp: + type: object + properties: + enable: + type: boolean + global_timer: + type: string + global_authentication: + type: string + originator_id: + type: object + properties: + interface: + type: string + ip: + type: string + peer: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + local_address: + type: object + properties: + interface: + type: string + ip: + type: string + peer_as: + type: string + peer_address: + type: object + oneOf: + - title: ip + required: + - ip + properties: + ip: + type: string + - title: fqdn + required: + - fqdn + properties: + fqdn: + type: string + authentication: + type: string + max_sa: + type: number + inbound_sa_filter: + type: string + outbound_sa_filter: + type: string + mode: + type: string + enum: + - PIM-SM + - IGMP-Proxy + route_ageout_time: + type: number + interface_group: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + description: + type: string + interface: + type: array + items: + type: string + group_permission: + type: object + properties: + any_source_multicast: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + group_address: + type: string + included: + type: boolean + source_specific_multicast: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + group_address: + type: string + source_address: + type: string + included: + type: boolean + igmp: + type: object + properties: + enable: + type: boolean + version: + type: string + enum: + - '1' + - '2' + - '3' + mode: + type: string + enum: + - 'router' + - 'host' + max_query_response_time: + type: number + query_interval: + type: number + last_member_query_interval: + type: number + immediate_leave: + type: boolean + robustness: + type: string + enum: + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + max_groups: + type: string + max_sources: + type: string + router_alert_policing: + type: boolean + pim: + type: object + properties: + enable: + type: boolean + assert_interval: + type: number + hello_interval: + type: number + join_prune_interval: + type: number + dr_priority: + type: number + bsr_border: + type: boolean + allowed_neighbors: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + ssm_address_space: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + group_address: + type: string + included: + type: boolean + spt_threshold: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + threshold: + type: string + rp: + type: object + properties: + local_rp: + type: object + oneOf: + - title: static_rp + required: + - static_rp + properties: + static_rp: + type: object + properties: + interface: + type: string + address: + type: string + override: + type: boolean + group_addresses: + type: array + items: + type: string + - title: candidate_rp + required: + - candidate_rp + properties: + candidate_rp: + type: object + properties: + interface: + type: string + address: + type: string + priority: + type: number + advertisement_interval: + type: number + group_addresses: + type: array + items: + type: string + external_rp: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + group_addresses: + type: array + items: + type: string + override: + type: boolean + rip: + type: object + properties: + enable: + type: boolean + default_information_originate: + type: boolean + global_timer: + type: string + auth_profile: + type: string + redistribution_profile: + type: string + global_bfd: + type: object + properties: + profile: + type: string + global_inbound_distribute_list: type: object - properties: - name: - description: Aggregate route name + properties: + access_list: type: string - description: - description: Description + global_outbound_distribute_list: + type: object + properties: + access_list: type: string - enable: - description: Enable aggregate route? + interface: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + mode: + type: string + enum: + - active + - passive + - send-only + split_horizon: + type: string + enum: + - split-horizon + - no-split-horizon + - no-split-horizon-with-poison-reverse + authentication: + type: string + bfd: + type: object + properties: + profile: + type: string + interface_inbound_distribute_list: + type: object + properties: + access_list: + type: string + metric: + type: number + interface_outbound_distribute_list: + type: object + properties: + access_list: + type: string + metric: + type: number + bgp: + type: object + properties: + enable: + type: boolean + router_id: + type: string + local_as: + type: string + confederation_member_as: + type: string + install_route: + type: boolean + enforce_first_as: + type: boolean + fast_external_failover: + type: boolean + ecmp_multi_as: + type: boolean + default_local_preference: + type: number + graceful_shutdown: + type: boolean + always_advertise_network_route: + type: boolean + reject_default_route: + type: boolean + allow_redist_default_route: + type: boolean + as_format: + type: string + med: + type: object + properties: + always_compare_med: type: boolean - summary_only: - description: Summary only? + deterministic_med_comparison: type: boolean - as_set: - description: AS set? + aggregate: + type: object + properties: + aggregate_med: type: boolean - same_med: - description: Same MED? + graceful_restart: + type: object + properties: + enable: type: boolean - type: - type: object - properties: - ipv4: - type: object + stale_route_time: + type: number + max_peer_restart_time: + type: number + local_restart_time: + type: number + global_bfd: + type: object + properties: + profile: + type: string + peer_group: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + aggregated_confed_as_path: + type: boolean + soft_reset_with_stored_info: + type: boolean + type: + type: object + oneOf: + - title: ibgp + required: + - ibgp + properties: + ibgp: + type: object + properties: + export_nexthop: + type: string + - title: ebgp_confed + required: + - ebgp_confed + properties: + ebgp_confed: + type: object + properties: + export_nexthop: + type: string + - title: ibgp_confed + required: + - ibgp_confed + properties: + ibgp_confed: + type: object + properties: + export_nexthop: + type: string + - title: ebgp + required: + - ebgp properties: - summary_prefix: - description: Summary prefix + ebgp: + type: object + properties: + import_nexthop: + type: string + export_nexthop: + type: string + remove_private_as: + type: boolean + address_family: + type: object + properties: + ipv4: + type: string + ipv6: + type: string + filtering_profile: + type: object + properties: + ipv4: + type: string + ipv6: + type: string + connection_options: + type: object + properties: + timers: + type: string + multihop: + type: number + authentication: + type: string + dampening: + type: string + peer: + type: array + items: + type: object + required: + - 'name' + properties: + name: type: string - suppress_map: - description: Suppress map + enable: + type: boolean + passive: + type: boolean + peer_as: type: string - attribute_map: - description: Attribute map + peering_type: type: string - ospf: - type: object - properties: - enable: - description: Enable OSPF routing? - type: boolean - router_id: - description: Router ID - type: string - global_bfd: - type: object - properties: - profile: - description: BFD profile - type: string - enum: - - aggressive - - passive-default - - default - - None - area: - description: OSPF areas - type: array - items: + reflector_client: + type: string + subsequent_address_family_identifier: + type: object + properties: + unicast: + type: boolean + multicast: + type: boolean + enable_sender_side_loop_detection: + type: boolean + enable_mp_bgp: + type: boolean + inherit: + type: object + oneOf: + - title: ipv4 + required: + - ipv4 + properties: + yes: + type: object + properties: {} + - title: 'no' + required: + - 'no' + properties: + no: + type: object + properties: + address_family: + type: object + properties: + ipv4: + type: string + ipv6: + type: string + filtering_profile: + type: object + properties: + ipv4: + type: string + ipv6: + type: string + local_address: + type: object + properties: + interface: + type: string + ip: + type: string + peer_address: + type: object + oneOf: + - title: ip + required: + - ip + properties: + ip: + type: string + - title: fqdn + required: + - fqdn + properties: + fqdn: + type: string + connection_options: + type: object + properties: + keep_alive_interval: + type: string + hold_time: + type: string + idle_hold_time: + type: number + min_route_adv_interval: + type: number + multihop: + type: string + open_delay_time: + type: number + incoming_bgp_connection: + type: object + properties: + remote_port: + type: number + allow: + type: boolean + outgoing_bgp_connection: + type: object + properties: + local_port: + type: number + allow: + type: boolean + max_prefixes: + type: string + timers: + type: string + authentication: + type: string + dampening: + type: string + bfd: + type: object + properties: + profile: + type: string + multihop: + type: object + properties: + min_received_ttl: + type: number + aggregate_routes: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + description: + type: string + enable: + type: boolean + summary_only: + type: boolean + as_set: + type: boolean + same_med: + type: boolean + type: + type: object + oneOf: + - title: ipv4 + required: + - ipv4 + properties: + ipv4: + type: object + properties: + summary_prefix: + type: string + suppress_map: + type: string + attribute_map: + type: string + - title: ipv6 + required: + - ipv6 + properties: + ipv6: + type: object + properties: + summary_prefix: + type: string + suppress_map: + type: string + attribute_map: + type: string + redistribution_profile: type: object - properties: - name: - description: Area ID - type: string - authentication: - description: Authentication profile - type: string - type: + properties: + ipv4: type: object - oneOf: - - title: normal - required: - - normal - properties: - normal: + properties: + unicast: + type: string + ipv6: + type: object + properties: + unicast: + type: string + advertise_network: + type: object + properties: + ipv4: + type: object + properties: + network: + type: array + items: type: object - properties: - abr: + required: + - 'name' + properties: + name: + type: string + unicast: + type: boolean + multicast: + type: boolean + backdoor: + type: boolean + ipv6: + type: object + properties: + network: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + unicast: + type: boolean + policy: + type: object + properties: + import: + type: object + properties: + rules: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + used_by: + type: array + items: + type: string + match: type: object - properties: - import_list: - description: Import list + properties: + afi: + type: string + enum: + - ip + - ipv6 + safi: type: string - export_list: - description: Export list + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: number + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + action: + type: object + oneOf: + - title: deny + required: + - deny + properties: + deny: + type: object + properties: {} + - title: allow + required: + - allow + properties: + allow: + type: object + properties: + dampening: + type: string + update: + type: object + properties: + local_preference: + type: number + med: + type: number + weight: + type: number + nexthop: + type: string + origin: + type: string + enum: + - igp + - egp + - incomplete + as_path_limit: + type: number + as_path: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove + required: + - remove + properties: + remove: + type: object + properties: {} + - title: prepend + required: + - prepend + properties: + prepend: + type: number + - title: remove_and_prepend + required: + - remove_and_prepend + properties: + remove_and_prepend: + type: number + community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + extended_community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + export: + type: object + properties: + rules: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + used_by: + type: array + items: + type: string + match: + type: object + properties: + afi: type: string - inbound_filter_list: - description: Inbound filter list + enum: + - ip + - ipv6 + safi: type: string - outbound_filter_list: - description: Outbound filter list + enum: + - ip + - ipv6 + route_table: type: string - - title: stub - required: - - stub - properties: - stub: + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: number + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + action: + type: object + oneOf: + - title: deny + required: + - deny + properties: + deny: + type: object + properties: {} + - title: allow + required: + - allow + properties: + allow: + type: object + properties: + update: + type: object + properties: + local_preference: + type: number + med: + type: number + nexthop: + type: string + origin: + type: string + enum: + - igp + - egp + - multicast + as_path_limit: + type: number + as_path: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove + required: + - remove + properties: + remove: + type: object + properties: {} + - title: prepend + required: + - prepend + properties: + prepend: + type: number + - title: remove_and_prepend + required: + - remove_and_prepend + properties: + remove_and_prepend: + type: number + community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + extended_community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + conditional_advertisement: + type: object + properties: + policy: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + used_by: + type: array + items: + type: object + properties: {} + non_exist_filters: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + match: + type: object + properties: + afi: + type: string + enum: + - ip + - ipv6 + safi: + type: string + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: number + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + advertise_filters: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + match: + type: object + properties: + afi: + type: string + enum: + - ip + - ipv6 + safi: + type: string + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: number + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + aggregation: + type: object + properties: + address: + type: array + items: type: object - properties: - no_summary: - description: No summary? + required: + - 'name' + properties: + name: + type: string + prefix: + type: string + enable: type: boolean - abr: - type: object - properties: - import_list: - description: Import list - type: string - export_list: - description: Export list - type: string - inbound_filter_list: - description: Inbound filter list - type: string - outbound_filter_list: - description: Outbound filter list - type: string - - title: nssa - required: - - nssa - properties: - nssa: - type: object - properties: - no_summary: - description: No summary? + summary: type: boolean - default_information_originate: - type: object - properties: - metric: - description: Metric - type: integer - minimum: 1 - maximum: 16677214 - default: 10 - metric_type: - type: string - enum: - - type-1 - - type-2 - abr: + as_set: + type: boolean + aggregate_route_attributes: type: object - properties: - import_list: - description: Import list - type: string - export_list: - description: Export list + properties: + local_preference: + type: number + med: + type: number + weight: + type: number + nexthop: type: string - inbound_filter_list: - description: Inbound filter list + origin: type: string - outbound_filter_list: - description: Outbound filter list - type: string - nssa_ext_range: - description: Address range for external summary routes - type: array - items: - type: object + enum: + - igp + - egp + - incomplete + as_path_limit: + type: number + as_path: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove + required: + - remove + properties: + remove: + type: object + properties: {} + - title: prepend + required: + - prepend + properties: + prepend: + type: number + - title: remove_and_prepend + required: + - remove_and_prepend properties: - name: - description: IPv4 prefix + remove_and_prepend: + type: number + community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: type: string - advertise: - description: Advertise? - type: boolean - range: - description: Ranges - type: array - items: - type: object - properties: - name: - description: IPv4 address/netmask - type: string - substitute: - description: Substitute - type: string - advertise: - description: Advertise? - type: boolean - interface: - description: Interfaces - type: array - items: - type: object - properties: - name: - description: Interface name - type: string - # autogenerated: - # type: string - enable: - description: Enable? - type: boolean - mtu_ignore: - description: MTU ignore? - type: boolean - passive: - description: Passive? - type: boolean - priority: - description: Priority - type: integer - minimum: 1 - maximum: 255 - default: 1 - timing: - description: Timer profile - type: string - authentication: - description: Authentication profile - type: string - bfd: - type: object - properties: - profile: - type: string - enum: - - aggressive - metric: - description: Cost - type: integer - minimum: 1 - maximum: 65535 - default: 10 - link_type: - type: object - properties: - broadcast: - type: object - p2p: - type: object - p2mp: - type: object - properties: - neighbor: - type: array - items: - type: object + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite + properties: + overwrite: + type: array + items: + type: string + extended_community: + type: object + oneOf: + - title: none + required: + - none + properties: + none: + type: object + properties: {} + - title: remove_all + required: + - remove_all + properties: + remove_all: + type: object + properties: {} + - title: remove_regex + required: + - remove_regex + properties: + remove_regex: + type: string + - title: append + required: + - append + properties: + append: + type: array + items: + type: string + - title: overwrite + required: + - overwrite properties: - name: - description: Neighbor IPv4 address + overwrite: + type: array + items: + type: string + suppress_filters: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + match: + type: object + properties: + afi: type: string - priority: - description: Priority - type: integer - minimum: 1 - maximum: 255 - default: 1 - graceful_restart: - type: object - properties: - enable: - description: Enable graceful restart? - type: boolean - helper_enable: - description: Enable helper mode? - type: boolean - strict_LSA_checking: - description: Enable strict LSA checking? - type: boolean - grace_period: - description: Grace period (seconds) - type: integer - minimum: 5 - maximum: 1800 - default: 120 - max_neighbor_restart_time: - description: Maximum neighbor restart time (seconds) - type: integer - minimum: 5 - maximum: 1800 - default: 140 - rfc1583: - description: RFC1583 compatibility? - type: boolean - spf_timer: - description: Global general timer - type: string - enum: - - default - global_if_timer: - description: Global interface timer - type: string - enum: - - aggressive - - default - routing_table: - type: object - properties: - ip: - type: object - properties: - static_route: - description: IPv4 static routes - type: array - items: - type: object - properties: - name: - description: Static route name - type: string - destination: - description: Description - type: string - interface: - description: Interface + enum: + - ip + - ipv6 + safi: + type: string + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: number + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + advertise_filters: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + enable: + type: boolean + match: + type: object + properties: + afi: + type: string + enum: + - ip + - ipv6 + safi: + type: string + enum: + - ip + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + address_prefix: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + exact: + type: boolean + nexthop: + type: array + items: + type: string + from_peer: + type: array + items: + type: string + med: + type: number + as_path: + type: object + properties: + regex: + type: string + community: + type: object + properties: + regex: + type: string + extended_community: + type: object + properties: + regex: + type: string + redist_rules: + type: array + items: + type: object + required: + - 'name' + properties: + name: + type: string + address_family_identifier: + type: string + enum: + - ipv4 + - ipv6 + route_table: + type: string + enum: + - unicast + - multicast + - both + enable: + type: boolean + set_origin: + type: string + enum: + - igp + - egp + - incomplete + set_med: + type: number + set_local_preference: + type: number + set_as_path_limit: + type: number + set_community: + type: array + items: + type: string + set_extended_community: + type: array + items: type: string - nexthop: - type: object - properties: - discard: - type: object - ip_address: - description: IPv4 address - type: string - admin_dist: - description: Administrative distance - type: integer - minimum: 10 - maximum: 240 - metric: - type: integer - minimum: 1 - maximum: 65535 - bfd: - type: object - properties: - profile: - description: BFD profile - type: string - enum: - - aggressive - - default - - passive-default - - None - path_monitor: - type: object - properties: - enable: - description: Enable path monitoring? - type: boolean - default: false - 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 - + metric: + type: number ospf-auth-profiles: type: object required: @@ -12970,9 +15542,15 @@ components: type: string priority: description: Priority - type: integer - minimum: 1 - maximum: 8 + enum: + - '1' + - '2' + - '3' + - '4' + - '5' + - '6' + - '7' + - '8' logical_router: description: Router type: string @@ -14493,125 +17071,6 @@ components: required: - device - sdwan-interface-profiles: - type: object - required: - - name - properties: - id: - type: string - description: UUID of the resource - readOnly: true - example: 123e4567-e89b-12d3-a456-426655440000 - name: - description: Name of the interface profile - type: string - maxLength: 31 - pattern: ^[0-9a-zA-Z._-]+$ - comment: - description: The description of the interface profile - type: string - maxLength: 1023 - link_tag: - description: The link tag of the interface profile - type: string - maxLength: 31 - link_type: - description: The type of link - type: string - enum: - - ADSL/DSL - - Cablemodem - - Ethernet - - Fiber - - LTE/3G/4G/5G - - MPLS - - Microwave/Radio - - Satellite - - WiFi - - Private1 - - Private2 - - Private3 - - Private4 - - Other - default: Ethernet - vpn_data_tunnel_support: - description: Enable data traffic over VPN? - type: boolean - maximum_download: - description: Maximum download capacity in Mbps - type: integer - minimum: 0 - maximum: 100000 - maximum_upload: - description: Maximum upload capacity in Mbps - type: integer - minimum: 0 - maximum: 100000 - error_correction: - description: Allow this interface for FEC / Packet Duplication - type: boolean - path_monitoring: - description: Path monitoring profile - type: string - enum: - - Aggressive - - Relaxed - vpn_failover_metric: - description: Metric for vpn tunnels on this interface - type: integer - minimum: 1 - maximum: 65535 - probe_frequency: - description: Number of probes sent per second - type: integer - minimum: 1 - maximum: 5 - probe_idle_time: - description: Idle time in seconds when no probes are sent - type: integer - minimum: 1 - maximum: 86400 - failback_hold_time: - description: Failback hold time in seconds before reverting session to original path - type: integer - minimum: 20 - maximum: 120 - 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 - sdwan-path-quality-profiles: type: object required: @@ -15550,7 +18009,9 @@ components: message: type: string details: - type: object + oneOf: + - type: string + - type: object help: type: string security: diff --git a/openapi-specs/scm/config/sase/operations/config-operations.yaml b/openapi-specs/scm/config/sase/operations/config-operations.yaml index 153a8e716..60cff0292 100644 --- a/openapi-specs/scm/config/sase/operations/config-operations.yaml +++ b/openapi-specs/scm/config/sase/operations/config-operations.yaml @@ -127,10 +127,9 @@ paths: properties: admin: type: array - description: Push only the changes for these administrators and/or service accounts + description: Use this field to list administrators or service accounts. If you intend to push all folders, do not include this admin field; instead, list each folder individually in the folder field. items: type: string - default: all description: type: string description: A description of the changes being pushed diff --git a/openapi-specs/scm/config/sase/security/security-services.yaml b/openapi-specs/scm/config/sase/security/security-services.yaml index 85d1193d7..232f7752c 100644 --- a/openapi-specs/scm/config/sase/security/security-services.yaml +++ b/openapi-specs/scm/config/sase/security/security-services.yaml @@ -5456,6 +5456,11 @@ components: log_end: type: boolean description: Log at session end? + tenant_restrictions: + type: array + items: + type: string + default: any required: - name - from @@ -5802,6 +5807,10 @@ components: safe_search_enforcement: type: boolean default: false + redirect: + type: array + items: + type: string required: - name oneOf: @@ -6553,7 +6562,9 @@ components: message: type: string details: - type: object + oneOf: + - type: string + - type: object help: type: string security: diff --git a/openapi-specs/scm/config/sase/setup/paloaltonetworks-snippet-sharing.yaml b/openapi-specs/scm/config/sase/setup/config-setup.yaml similarity index 65% rename from openapi-specs/scm/config/sase/setup/paloaltonetworks-snippet-sharing.yaml rename to openapi-specs/scm/config/sase/setup/config-setup.yaml index 1f340ccce..78f675875 100644 --- a/openapi-specs/scm/config/sase/setup/paloaltonetworks-snippet-sharing.yaml +++ b/openapi-specs/scm/config/sase/setup/config-setup.yaml @@ -1,1471 +1,449 @@ -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 +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 - 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 June 27,\ - \ 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" + name: Palo Alto Networks Technical Support + url: 'https://support.paloaltonetworks.com' 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 +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 + - name: Snippet Categories + description: Configuration snippets and category information + - name: Trusted Tenants Overview + description: Overview of published and subscribed tenants + - name: Trust Information + description: Trust Information with shared snippets + - name: Trusts + description: Trusts between tenants + - name: Trust Validations + description: Validates trust information + - name: Subscribed Tenants + description: Subscribed Tenants information + - name: Snippet Snapshots + description: Snippet Snapshots + - name: Shared Snippets + description: Shared Snippets + - name: Snippet Audit Logs + description: Snippet Audit Logs paths: - /devices: + /labels: get: - description: 'Retrieve a list of devices. - - ' - operationId: get-devices + 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' + - $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: - - items: - $ref: '#/components/schemas/devices' - type: array + - type: array + items: + $ref: '#/components/schemas/labels' limit: - default: 200 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' + $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' - '404': - $ref: '#/components/responses/not_found' + '409': + $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: List devices - tags: - - Devices - /devices/{id}: + /snippets/{id}: get: - description: 'Retrieve an existing device. - - ' - operationId: get-devices-id + summary: Get a snippet + description: | + Retrieve an existing snippet. + tags: + - Snippets parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' + operationId: GetSnippetByID responses: '200': content: application/json: schema: - $ref: '#/components/schemas/devices' + $ref: '#/components/schemas/snippets' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -1477,24 +455,21 @@ paths: $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 + summary: Update a snippet + description: | + Update an existing snippet. + tags: + - Snippets + operationId: UpdateSnippetByID parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' requestBody: content: application/json: schema: - $ref: '#/components/schemas/devices' - description: The `device` resource definition. + $ref: '#/components/schemas/snippets' + description: The `snippet` resource definition. responses: '200': $ref: '#/components/responses/http_ok' @@ -1510,41 +485,66 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Update a device + delete: + summary: Delete a snippet + description: | + Delete an existing snippet. tags: - - Devices + - 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: - description: 'Retrieve a list of folders. - - ' - operationId: get-folders + 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' + - $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: - - items: - $ref: '#/components/schemas/folders' - type: array + - type: array + items: + $ref: '#/components/schemas/folders' limit: - default: 200 type: number + default: 200 offset: - default: 0 type: number + default: 0 total: type: number - type: object description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -1556,16 +556,13 @@ paths: $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 + summary: Create a folder + description: | + Create a new folder. + tags: + - Folders + operationId: CreateFolder requestBody: content: application/json: @@ -1585,50 +582,16 @@ paths: $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 + summary: Get a folder + description: | + Retrieve an existing folder. + tags: + - Folders + operationId: GetFolderByID parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' responses: '200': content: @@ -1646,18 +609,15 @@ paths: $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 + summary: Update a folder + description: | + Update an existing folder. + tags: + - Folders + operationId: UpdateFolderByID parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' requestBody: content: application/json: @@ -1679,42 +639,18 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Update a folder + delete: + summary: Delete a folder + description: | + Delete an existing folder. tags: - - Folders - /labels: - get: - description: 'Retrieve a list of labels. - - ' - operationId: get-labels + - Folders + operationId: DeleteFolderByID parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' + - $ref: '#/components/parameters/uuid' 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 + $ref: '#/components/responses/http_ok' '400': $ref: '#/components/responses/bad_request_errors_basic' '401': @@ -1723,56 +659,43 @@ paths: $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 + /devices: + get: + summary: List devices + description: | + Retrieve a list of devices. tags: - - Labels - /labels/{id}: - delete: - description: 'Delete an existing label. - - ' - operationId: delete-labels-id + - Devices + operationId: ListDevices parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/pagination-optional' + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' responses: '200': content: application/json: schema: - $ref: '#/components/schemas/labels' + 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' @@ -1782,28 +705,24 @@ paths: $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 + /devices/{id}: get: - description: 'Retrieve an existing label. - - ' - operationId: get-labels-id + summary: Get a device + description: | + Retrieve an existing device. + tags: + - Devices + operationId: GetDeviceByID parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' responses: '200': content: application/json: schema: - $ref: '#/components/schemas/labels' + $ref: '#/components/schemas/devices' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -1815,24 +734,21 @@ paths: $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 + summary: Update a device + description: | + Update an existing device. + tags: + - Devices + operationId: UpdateDeviceByID parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' requestBody: content: application/json: schema: - $ref: '#/components/schemas/labels' - description: The `label` resource definition. + $ref: '#/components/schemas/devices-put' + description: The `device` resource definition. responses: '200': $ref: '#/components/responses/http_ok' @@ -1848,26 +764,38 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Update label - tags: - - Labels - /snippet-audit-logs/{id}: + /snippet-categories: get: - description: 'Retrieve an existing snippet audit logs by UUID. - - ' - operationId: get-snippet-audit-logs-id + summary: List snippets categories + description: | + Retrieve a list of snippet categories. + tags: + - Snippet Categories + operationId: ListSnippetCategories parameters: - - $ref: '#/components/parameters/uuid' - - $ref: '#/components/parameters/trusted-tenant-type' + - $ref: '#/components/parameters/limit-optional' + - $ref: '#/components/parameters/offset-optional' + - $ref: '#/components/parameters/name-optional' responses: '200': content: application/json: schema: - $ref: '#/components/schemas/snippet_audit_history' + type: object + properties: + data: + allOf: + - type: array + items: + $ref: '#/components/schemas/snippet_categories' + limit: + type: number + default: 200 + offset: + type: number + default: 0 + total: + type: number description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -1879,165 +807,136 @@ paths: $ref: '#/components/responses/not_found' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Get a snippet audit logs + /snippet-categories/{id}: + get: + summary: Get a snippet category + description: | + Retrieve an existing snippet category. 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 + - Snippet Categories + parameters: + - $ref: '#/components/parameters/uuid' + operationId: GetSnippetCategoryByID responses: '200': content: application/json: schema: - $ref: '#/components/schemas/save_snippet_snapshot_config_response' + $ref: '#/components/schemas/snippet_categories' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' + $ref: '#/components/responses/bad_request_errors_basic' '401': $ref: '#/components/responses/auth_errors' '403': $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' + '404': + $ref: '#/components/responses/not_found' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Save Snippet Snapshots + delete: + summary: Delete a snippet category + description: | + Delete an existing snippet category. 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 + - Snippet Categories + operationId: DeleteSnippetCategoryByID + parameters: + - $ref: '#/components/parameters/uuid' responses: '200': content: application/json: schema: - $ref: '#/components/schemas/snippet_snapshot_compare_response' + $ref: '#/components/schemas/snippet_categories' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' + $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: Compare Snippet Snapshots + /trusted-tenant-overview: + get: + summary: Trusted Tenants Overview + description: | + Overview of publishers and subscribers. 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 + - Trusted Tenants Overview + operationId: GetTrustedTenantsOverview responses: '200': content: application/json: schema: - $ref: '#/components/schemas/snippet_snapshot_load_snippet_response' + $ref: '#/components/schemas/trusted_tenant_overview' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' + $ref: '#/components/responses/bad_request_errors_basic' '401': $ref: '#/components/responses/auth_errors' '403': $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' + '404': + $ref: '#/components/responses/not_found' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Load Snippet Snapshots + /trusted-tenants: + get: + summary: Trusted Tenants With Snippets + description: | + Retrieve a list of trusted tenants with snippets. 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 + - Trust Information + operationId: ListTrustedTenantsWithSnippets + parameters: + - $ref: '#/components/parameters/trusted-tenant-type' responses: '200': content: application/json: schema: - $ref: '#/components/schemas/snippet_snapshot_publish_response' + type: array + items: + $ref: '#/components/schemas/trust_info_with_shared_snippets' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic_with_body' + $ref: '#/components/responses/bad_request_errors_basic' '401': $ref: '#/components/responses/auth_errors' '403': $ref: '#/components/responses/access_errors' - '409': - $ref: '#/components/responses/conflict_errors' + '404': + $ref: '#/components/responses/not_found' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Publish Snippet Snapshots - tags: - - Snippet Snapshots - /snippet-snapshots:updates: + /trusts: post: - description: 'Update Snippet Snapshots. - - ' - operationId: post-snippet-snapshots:updates + summary: Create a trust + description: | + Create a new trust. + tags: + - Trusts + operationId: CreateTrust requestBody: content: application/json: schema: - $ref: '#/components/schemas/snippet_snapshot_subscriber_compare_payload' - description: The `Snippet Snapshots To Update` resource definition + $ref: '#/components/schemas/trusts' + description: The `trusts` resource definition responses: - '200': + '201': content: application/json: schema: - $ref: '#/components/schemas/snippet_snapshot_subscriber_compare_response' - description: OK + $ref: '#/components/schemas/tenant_trust_info' + description: CREATED '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' '401': @@ -2048,41 +947,24 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Update Snippet Snapshots + delete: + summary: Delete a Trust + description: | + Delete an existing Trust. tags: - - Snippet Snapshots - /snippets: - get: - description: 'Retrieve a list of snippets. - - ' - operationId: get-snippets + - Trusts + operationId: DeleteTrust parameters: - - $ref: '#/components/parameters/limit-optional' - - $ref: '#/components/parameters/offset-optional' - - $ref: '#/components/parameters/name-optional' + - $ref: '#/components/parameters/trust-ids' + - $ref: '#/components/parameters/trusted-tenant-type' 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 + type: array + items: + $ref: '#/components/schemas/tenant_trust_info' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -2092,27 +974,31 @@ paths: $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: Snippet list - tags: - - Snippets + /trust-validations: post: - description: 'Create a snippet. - - ' - operationId: post-snippets + summary: Validates Trust + description: | + Validate trust. + tags: + - Trust Validations + operationId: ValidateTrust requestBody: content: application/json: schema: - $ref: '#/components/schemas/snippets' - description: The `snippet` resource definition. + $ref: '#/components/schemas/trusts_validation_payload' + description: The `trust validation` resource definition responses: - '201': - $ref: '#/components/responses/http_created' + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/tenant_trust_info' + description: OK '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' '401': @@ -2123,25 +1009,24 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: New snippet + /subscribed-tenants/{id}: + get: + summary: Get Subscribed Tenants + description: | + Retrieve a list of subscribed tenants. tags: - - Snippets - /snippets/{id}: - delete: - description: 'Delete an existing snippet. - - ' - operationId: delete-snippets-id + - Subscribed Tenants + operationId: ListSubscribedTenantsByID parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' responses: '200': content: application/json: schema: - $ref: '#/components/schemas/snippets' + type: array + items: + $ref: '#/components/schemas/snippet_share_info' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -2151,60 +1036,59 @@ paths: $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 + /subscribed-tenants: + post: + summary: Create Subscribed Tenant + description: | + Create Subscribed Tenant. tags: - - Snippets - get: - description: 'Retrieve an existing snippet. - - ' - operationId: get-snippets-id - parameters: - - $ref: '#/components/parameters/uuid' + - Subscribed Tenants + operationId: CreateSubscribedTenant + 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/snippets' + $ref: '#/components/schemas/tenant_trust_info' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic' + $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: Get a snippet - tags: - - Snippets put: - description: 'Update a snippet. - - ' - operationId: put-snippets-id - parameters: - - $ref: '#/components/parameters/uuid' + summary: Update a subscribed tenant + description: | + Update an existing subscribed tenant. + tags: + - Subscribed Tenants + operationId: UpdateSubscribedTenantBySnippetID requestBody: content: application/json: schema: - $ref: '#/components/schemas/snippets' - description: The `snippet` resource definition. + $ref: '#/components/schemas/subscriber_property_payload' + description: The `subscribed tenant` resource definition. responses: '200': - $ref: '#/components/responses/http_ok' + content: + application/json: + schema: + $ref: '#/components/schemas/subscriber_property_payload' + description: OK '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' '401': @@ -2217,20 +1101,16 @@ paths: $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 + summary: Delete a subscribed tenant + description: | + Delete an existing subscribed tenant. + tags: + - Subscribed Tenants + operationId: DeleteSubscribedTenantBySnippedID parameters: - - $ref: '#/components/parameters/snippet-id' - - $ref: '#/components/parameters/recipient-tsgs' + - $ref: '#/components/parameters/snippet-id' + - $ref: '#/components/parameters/recipient-tsgs' responses: '200': content: @@ -2250,28 +1130,26 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Delete a subscribed tenant - tags: - - Subscribed Tenants + /snippet-snapshots: post: - description: 'Create Subscribed Tenant. - - ' - operationId: post-subscribed-tenants + summary: Save Snippet Snapshots + description: | + Save Snippet Snapshots. + tags: + - Snippet Snapshots + operationId: SaveSnippetSnapshot requestBody: content: application/json: schema: - $ref: '#/components/schemas/add_subscriber_request_payload' - description: The `Subscribed Tenant` resource definition + $ref: '#/components/schemas/save_snippet_snapshot_payload' + description: The `Save Snippet Snapshots` resource definition responses: '200': content: application/json: schema: - $ref: '#/components/schemas/tenant_trust_info' + $ref: '#/components/schemas/save_snippet_snapshot_config_response' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' @@ -2283,28 +1161,26 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Create Subscribed Tenant + /snippet-snapshots:publish: + post: + summary: Publish Snippet Snapshots + description: | + Publish Snippet Snapshots. tags: - - Subscribed Tenants - put: - description: 'Update an existing subscribed tenant. - - ' - operationId: put-subscribed-tenants + - Snippet Snapshots + operationId: PublishSnippetSnapshot requestBody: content: application/json: schema: - $ref: '#/components/schemas/subscriber_property_payload' - description: The `subscribed tenant` resource definition. + $ref: '#/components/schemas/snippet_snapshot_publish_request' + description: The `Snippet Snapshots To Publish` resource definition responses: '200': content: application/json: schema: - $ref: '#/components/schemas/subscriber_property_payload' + $ref: '#/components/schemas/snippet_snapshot_publish_response' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' @@ -2312,65 +1188,30 @@ paths: $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: + /snippet-snapshots:compare: post: - description: "Validate trust. \n" - operationId: post-trust-validations + summary: Compare Snippet Snapshots + description: | + Compare Snippet Snapshots. + tags: + - Snippet Snapshots + operationId: CompareSnippetSnapshot requestBody: content: application/json: schema: - $ref: '#/components/schemas/trusts_validation_payload' - description: The `trust validation` resource definition + $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/trust_validation_info' + $ref: '#/components/schemas/snippet_snapshot_compare_response' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' @@ -2382,122 +1223,120 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Validates Trust + /snippet-snapshots:diff: + post: + summary: Diff Snippet Snapshots + description: | + Diff Snippet Snapshots. tags: - - Trust Validations - /trusted-tenant-overview: - get: - description: "Overview of publishers and subscribers. \n" - operationId: get-trusted-tenant-overview + - Snippet Snapshots + operationId: DiffSnippetSnapshot + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/compare_tlo_payload' + description: The `Snippet Snapshots To Differentiate` resource definition responses: '200': content: application/json: schema: - $ref: '#/components/schemas/trusted_tenant_overview' + $ref: '#/components/schemas/snippet_snapshot_diff_response' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic' + $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: Trusted Tenants Overview + /snippet-snapshots:load: + post: + summary: Load Snippet Snapshots + description: | + Load Snippet Snapshots. 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' + - Snippet Snapshots + operationId: LoadSnippetSnapshot + 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: - items: - $ref: '#/components/schemas/trust_info_with_shared_snippets' - type: array + $ref: '#/components/schemas/snippet_snapshot_load_snippet_response' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic' + $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: Trusted Tenants With Snippets + /snippet-snapshots:updates: + post: + summary: Update Snippet Snapshots + description: | + Update Snippet Snapshots. 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' + - Snippet Snapshots + operationId: UpdateSnippetSnapshot + 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: - items: - $ref: '#/components/schemas/tenant_trust_info' - type: array + $ref: '#/components/schemas/snippet_snapshot_subscriber_compare_response' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic' + $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: Delete a Trust - tags: - - Trusts + /snippet-snapshots:convert: post: - description: 'Create a new trust. - - ' - operationId: post-trusts + summary: Convert Snippet Snapshots + description: | + Convert Snippet Snapshots. + tags: + - Snippet Snapshots + operationId: ConvertSnippetSnapshot requestBody: content: application/json: schema: - $ref: '#/components/schemas/trusts' - description: The `trusts` resource definition + $ref: '#/components/schemas/common_snippet_snapshot_payload' + description: The `Snippet Snapshots To Convert` resource definition responses: - '201': + '200': content: application/json: schema: - $ref: '#/components/schemas/tenant_trust_info' - description: CREATED + $ref: '#/components/schemas/dynamic_entry' + description: OK '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' '401': @@ -2508,44 +1347,22 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Create a trust - tags: - - Trusts - /variables: + /shared-snippets: 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' + summary: Get Shared Snippets + description: | + Retrieve a list of shared snippets. + tags: + - Shared Snippets + operationId: ListSharedSnippets 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 + type: array + items: + $ref: '#/components/schemas/snippet_share_info' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -2557,27 +1374,26 @@ paths: $ref: '#/components/responses/not_found' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: List variables + put: + summary: Update Shared Snippets + description: | + Update Shared Snippets. tags: - - Variables - post: - description: "Create a variable. \n" - operationId: post-variables - parameters: - - $ref: '#/components/parameters/folder' - - $ref: '#/components/parameters/snippet' - - $ref: '#/components/parameters/device' + - Shared Snippets + operationId: ConvertSharedSnippets requestBody: content: application/json: schema: - $ref: '#/components/schemas/variables' - description: The `variable` resource definition. + $ref: '#/components/schemas/snippet_share_upload_payload' + description: The `Shared Snippets To Update` resource definition responses: - '201': - $ref: '#/components/responses/http_created' + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_share_info' + description: OK '400': $ref: '#/components/responses/bad_request_errors_basic_with_body' '401': @@ -2588,56 +1404,54 @@ paths: $ref: '#/components/responses/conflict_errors' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Create variables + /shared-snippets:load: + post: + summary: Load Shared Snippets + description: | + Convert Snippet Snippets. tags: - - Variables - /variables/{id}: - delete: - description: 'Delete a variable. - - ' - operationId: delete-variables-id - parameters: - - $ref: '#/components/parameters/uuid' + - Shared Snippets + operationId: LoadSharedSnippets + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_share_load_payload' + description: The `Snippet Snapshots To Convert` resource definition responses: '200': content: application/json: schema: - $ref: '#/components/schemas/variables' + $ref: '#/components/schemas/snippet_share_load_payload' description: OK '400': - $ref: '#/components/responses/bad_request_errors_basic' + $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: Delete variable - tags: - - Variables + /snippet-audit-logs/{id}: get: - description: 'Retrieve an existing variable. - - ' - operationId: get-variables-id + summary: Get a snippet audit logs + description: | + Retrieve an existing snippet audit logs by UUID. + tags: + - Snippet Audit Logs parameters: - - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/uuid' + - $ref: '#/components/parameters/trusted-tenant-type' + operationId: GetSnippetAuditLogsByID responses: '200': content: application/json: schema: - $ref: '#/components/schemas/variables' + $ref: '#/components/schemas/snippet_audit_history' description: OK '400': $ref: '#/components/responses/bad_request_errors_basic' @@ -2649,92 +1463,1603 @@ paths: $ref: '#/components/responses/not_found' default: $ref: '#/components/responses/default_errors' - security: - - Bearer: [] - summary: Get a variables + /snippet-audit-logs: + post: + summary: Create snippet audit logs configuration + description: | + Create snippet audit logs configuration. tags: - - Variables - put: - description: 'Update a variable. - - ' - operationId: put-variables-id - parameters: - - $ref: '#/components/parameters/uuid' + - Snippet Audit Logs + operationId: CreateSnippetAuditLogs requestBody: content: application/json: schema: - $ref: '#/components/schemas/variables' - description: The `variable` resource definition. + $ref: '#/components/schemas/snippet_audit_payload' + description: The `Snippet Snapshots To Convert` resource definition responses: '200': - $ref: '#/components/responses/http_ok' + content: + application/json: + schema: + $ref: '#/components/schemas/snippet_audit_history' + 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 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 +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 + pagination-optional: + name: pagination + in: query + required: false + schema: + type: boolean + description: The parameter to mention if the response should be paginated. By default, its set to false + 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 + trusted-tenant-type: + name: type + in: query + required: true + schema: + type: string + enum: + - subscriber + - publisher + description: | + Specifies the type of the tenant that is trusted, either 'subscriber' or 'publisher'. + trust-ids: + name: trustids + in: query + required: true + schema: + type: string + description: | + Comma-separated list of trust IDs + snippet-id: + name: snippet-id + in: query + required: true + schema: + type: string + description: | + The ID of the snippet + recipient-tsgs: + name: tsgs + in: query + required: true + schema: + type: string + description: | + Comma-separated list of recipient TSG IDs + 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: + oneOf: + - type: string + - 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-put: + type: object + properties: + "display_name": + type: string + description: The display name of the device + "folder": + type: string + description: The folder containing the device + "description": + type: string + description: The description 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 + 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 + "display_name": + type: string + description: The display 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 + snippet_categories: + type: object + properties: + name: + type: string + readOnly: true + id: + type: string + readOnly: true + enable_prefix: + type: boolean + readOnly: true + prefix: + type: string + readOnly: true + display_name: + type: string + readOnly: true + type: + type: string + readOnly: true + description: + type: string + readOnly: true + status: + type: string + readOnly: true + error: + type: string + readOnly: true + donor_tsg: + type: string + readOnly: true + donor_tenant_id: + type: string + readOnly: true + donor_tenant_name: + type: string + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_tenant_id: + type: string + readOnly: true + recipient_tenant_name: + type: string + readOnly: true + snippet_uuid: + type: string + readOnly: true + donor_snippet_version: + type: integer + readOnly: true + donor_snippet_file_id: + type: integer + readOnly: true + donor_created: + type: integer + readOnly: true + msg_uuid: + type: string + readOnly: true + created_in: + type: string + format: date-time + readOnly: true + last_update: + type: string + format: date-time + readOnly: true + folders: + type: array + items: + $ref: '#/components/schemas/used_folders' + shared_in: + type: string + readOnly: true + labels: + type: array + items: + type: string + readOnly: true + recipient_paused_update: + type: boolean + readOnly: true + recipient_validate_before_update: + type: boolean + readOnly: true + version: + type: integer + readOnly: true + required: + - name + - id + used_folders: + type: object + properties: + id: + type: string + name: + type: string + required: + - name + trusted_tenant_overview: + type: object + properties: + publisher: + type: object + properties: + total: + type: integer + readOnly: true + pending: + type: integer + readOnly: true + subscriber: + type: object + properties: + total: + type: integer + readOnly: true + pending: + type: integer + readOnly: true + trust_info_with_shared_snippets: + type: object + properties: + id: + type: integer + readOnly: true + donor_tsg: + type: string + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_paused_update: + type: integer + readOnly: true + recipient_validate_before_update: + type: integer + readOnly: true + snippet_uuid: + type: string + readOnly: true + snippet_name: + type: string + readOnly: true + donor_snippet_version: + type: integer + readOnly: true + donor_snippet_file_id: + type: integer + readOnly: true + donor_created: + type: integer + readOnly: true + recipient_snippet_version: + type: integer + readOnly: true + recipient_snippet_file_id: + type: integer + readOnly: true + msg_uuid: + type: string + readOnly: true + status: + type: string + readOnly: true + error: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + last_updated: + type: string + format: date-time + readOnly: true + updated_by: + type: string + readOnly: true + shared_snippets: + type: array + items: + $ref: '#/components/schemas/snippet_share_info' + snippet_share_info: + type: object + properties: + id: + type: integer + format: uint + readOnly: true + donor_tsg: + type: string + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_paused_update: + type: boolean + readOnly: true + recipient_validate_before_update: + type: boolean + readOnly: true + snippet_uuid: + type: string + readOnly: true + snippet_name: + type: string + readOnly: true + donor_snippet_version: + type: integer + readOnly: true + donor_snippet_file_id: + type: integer + readOnly: true + donor_created: + type: integer + readOnly: true + recipient_snippet_version: + type: integer + readOnly: true + recipient_snippet_file_id: + type: integer + readOnly: true + msg_uuid: + type: string + readOnly: true + status: + type: string + readOnly: true + error: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + last_updated: + type: string + format: date-time + readOnly: true + donor_tenant_id: + type: string + readOnly: true + donor_tenant_name: + type: string + readOnly: true + recipient_tenant_id: + type: string + readOnly: true + recipient_tenant_name: + type: string + readOnly: true + properties: + type: array + items: + $ref: '#/components/schemas/snippet_share_property' + snippet_share_property: + type: object + properties: + id: + type: integer + readOnly: true + donor_tsg: + type: string + readOnly: true + donor_tenant: + type: string + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_tenant: + type: string + readOnly: true + snippet_uuid: + type: string + readOnly: true + snippet_name: + type: string + readOnly: true + property_name: + type: string + readOnly: true + property_value: + type: string + readOnly: true + msg_uuid: + type: string + readOnly: true + status: + type: string + readOnly: true + error: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + created_by: + type: string + readOnly: true + updated: + type: string + format: date-time + readOnly: true + updated_by: + type: string + readOnly: true + trusts: + type: object + properties: + tsg: + type: string + donor_tenant_name: + type: string + recipient_tenant_name: + type: string + trust_id: + type: integer + nullable: true + psk: + type: string + tenant_trust_info: + type: object + properties: + trust_id: + type: integer + donor_trust_info_id: + type: integer + readOnly: true + donor_tsg: + type: string + readOnly: true + donor_tenant_id: + type: string + donor_tenant_name: + type: string + donor_cluster: + type: string + readOnly: true + donor_region: + type: string + readOnly: true + donor_project: + type: string + readOnly: true + recipient_trust_info_id: + type: integer + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_tenant_id: + type: string + readOnly: true + recipient_tenant_name: + type: string + recipient_cluster: + type: string + readOnly: true + recipient_region: + type: string + readOnly: true + recipient_project: + type: string + readOnly: true + psk: + type: string + donor_msg_uuid: + type: string + readOnly: true + recipient_msg_uuid: + type: string + readOnly: true + current_status: + type: string + readOnly: true + error_details: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + created_by: + type: string + readOnly: true + last_updated: + type: string + format: date-time + readOnly: true + updated_by: + type: string + readOnly: true + trusts_validation_payload: + type: object + required: + - tsg + - donor_tenant_name + - recipient_tenant_name + - trust_id + - psk + properties: + tsg: + type: string + donor_tenant_name: + type: string + recipient_tenant_name: + type: string + trust_id: + type: integer + nullable: true + psk: + type: string + add_subscriber_request_payload: + type: array + items: + type: object + required: + - tsg_id + - snippet_id + - snippet_name + properties: + tsg_id: + type: string + snippet_id: + type: string + snippet_name: + type: string + subscriber_property_payload: + type: object + required: + - tsg_id + - snippet_id + - snippet_name + properties: + tsg_id: + type: string + snippet_id: + type: string + snippet_name: + type: string + property: + type: array + items: + $ref: '#/components/schemas/property_item' + property_item: + type: object + properties: + id: + type: integer + name: + type: string + value: + type: string + deleted_subscriber: + type: object + properties: + info: + $ref: '#/components/schemas/snippet_share_info' + status: + type: string + details: + type: string + snippet_snapshot_publish_request: + type: object + properties: + id: + type: string + name: + type: string + tsgs: + type: array + items: + type: string + validation: + type: boolean + version: + type: integer + snippet_snapshot_publish_response: + type: object + readOnly: true + properties: + id: + type: string + readOnly: true + tsgs: + type: array + readOnly: true + items: + type: string + version: + type: integer + readOnly: true + nullable: true + file_id: + type: integer + readOnly: true + nullable: true + job_id: + type: integer + readOnly: true + save_snippet_snapshot_payload: + type: object + properties: + id: + type: string + description: + type: string + required: + - id + - description + save_snippet_snapshot_config_response: + type: object + readOnly: true + properties: + status: + type: string + readOnly: true + result: + type: object + readOnly: true + properties: + version: + type: string + compare_snippet_snapshot_config_payload: + type: object + properties: + id: + type: string + version: + type: integer + comparing_version: + type: integer + required: + - id + - version + - comparing_version + compare_tlo_payload: + type: object + properties: + snippet_id: + type: string + object_id: + type: string + version: + type: integer + comparing_version: + type: integer + required: + - snippet_id + - object_id + - version + - comparing_version - + common_snippet_snapshot_payload: + type: object + properties: + id: + type: string + keep_local: + type: boolean + snippet_snapshot_compare_entry: + type: object + readOnly: true + properties: + id: + type: string + readOnly: true + admin: + type: string + readOnly: true + format: email + loc: + type: string + loctype: + type: string + objectname: + type: string + objecttype: + type: string + operations: + type: string + enum: [edit, create] + timestamp: + type: string + format: date-time + snippet_snapshot_compare_response: + type: array + readOnly: true + items: + $ref: '#/components/schemas/snippet_snapshot_compare_entry' + snippet_snapshot_diff_response: + type: object + properties: + after: + type: object + readOnly: true + properties: + '@ts': + type: string + readOnly: true + format: date-time + entry: + type: array + readOnly: true + items: + $ref: '#/components/schemas/dynamic_entry' + before: + type: object + properties: + '@ts': + type: string + format: date-time + entry: + type: array + items: + $ref: '#/components/schemas/dynamic_entry' + snippet_snapshot_load_snippet_payload: + type: object + properties: + id: + type: string + version: + type: string + required: + - id + - version + snippet_snapshot_load_snippet_response: + type: object + readOnly: true + properties: + status: + type: string + snippet_snapshot_subscriber_compare_payload: + type: object + properties: + id: + type: string + tenant_id: + type: string + description: Publisher Tenant ID + required: + - id + - tenant_id + snippet_snapshot_subscriber_compare_response: + type: object + properties: + publisher: + type: object + readOnly: true + properties: + entry: + type: array + items: + $ref: '#/components/schemas/dynamic_entry' + subscriber: + type: object + readOnly: true + properties: + entry: + type: array + items: + $ref: '#/components/schemas/dynamic_entry' + dynamic_entry: + type: object + readOnly: true + additionalProperties: true + snippet_share_upload_payload: + type: object + required: + - id + properties: + id: + type: string + pause_update: + type: boolean + validate_before_update: + type: boolean + snippet_share_load_payload: + type: object + required: + - id + properties: + id: + type: string + validation: + type: boolean + nullable: true + snippet_audit_history: + type: object + properties: + id: + type: integer + format: uint + readOnly: true + donor_tsg: + type: string + readOnly: true + donor_tenant_name: + type: string + readOnly: true + recipient_tsg: + type: string + readOnly: true + recipient_tenant_name: + type: string + readOnly: true + donor_created: + type: integer + readOnly: true + snippet_uuid: + type: string + readOnly: true + user: + type: string + readOnly: true + version: + type: string + readOnly: true + action: + type: string + readOnly: true + display: + type: integer + readOnly: true + details: + type: string + readOnly: true + created: + type: string + format: date-time + readOnly: true + deleted: + type: integer + readOnly: true + snippet_audit_payload: + type: object + properties: + donor_tsg: + type: string + donor_tenant_name: + type: string + recipient_tsg: + type: string + recipient_tenant_name: + type: string + donor_created: + type: integer + snippet_uuid: + type: string + version: + type: string + action: + type: string + details: + type: string +security: + - scmToken: [] +x-internal: false \ No newline at end of file