From 6141bb7a8d863fb7da361a31015a5e2176c63cfb Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 17 Feb 2026 09:46:56 +0000 Subject: [PATCH 1/5] sync: fetch 2026-02-17 spec and apply patches --- .../fabricv4/oas3.fetched/openapi.yaml | 2192 +++++++++++++++-- 1 file changed, 1976 insertions(+), 216 deletions(-) diff --git a/spec/services/fabricv4/oas3.fetched/openapi.yaml b/spec/services/fabricv4/oas3.fetched/openapi.yaml index f9004d48..6abf222f 100644 --- a/spec/services/fabricv4/oas3.fetched/openapi.yaml +++ b/spec/services/fabricv4/oas3.fetched/openapi.yaml @@ -9,7 +9,7 @@ info: license: name: Equinix Inc url: https://developer.equinix.com/agreement - version: "4.26" + version: "4.27" externalDocs: description: Find more information on Equinix Docs Portal url: https://docs.equinix.com/fabric/ @@ -23,6 +23,8 @@ tags: description: Cloud Events - name: Cloud Routers description: Cloud Routers + - name: Company Profiles + description: Company Profiles Beta - name: Connections description: Connections - name: Metrics @@ -295,11 +297,40 @@ paths: $ref: "#/components/schemas/AssetId" - name: name in: query - description: | - Name of the metric types:
- equinix.fabric.connection.bandwidth_rx.usage
- equinix.fabric.connection.bandwidth_tx.usage
- equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count
- equinix.fabric.port.bandwidth_rx.usage
- equinix.fabric.port.bandwidth_tx.usage
- equinix.fabric.port.packets_dropped_rx.count
- equinix.fabric.port.packets_dropped_tx.count
- equinix.fabric.port.packets_erred_rx.count
- equinix.fabric.port.packets_erred_tx.count
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.latency
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.jitter_avg
+ description: "Name of the metric types: \n- `equinix.fabric.connection.bandwidth_rx.usage`\n- `equinix.fabric.connection.bandwidth_tx.usage`\n- `equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count`\n- `equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count`\n- `equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count`\n- `equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count`\n- `equinix.fabric.port.bandwidth_rx.usage`\n- `equinix.fabric.port.bandwidth_tx.usage`\n- `equinix.fabric.port.packets_dropped_rx.count`\n- `equinix.fabric.port.packets_dropped_tx.count`\n- `equinix.fabric.port.packets_erred_rx.count`\n- `equinix.fabric.port.packets_erred_tx.count`\n- `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.latency`\n- `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.jitter_avg`\n" required: true schema: - $ref: "#/components/schemas/MetricTypeQueryParams" + pattern: ^equinix\.fabric\.(connection|port|metro)\..+ + type: string + examples: + connectionRxUsageExample: + value: equinix.fabric.connection.bandwidth_rx.usage + connectionTxUsageExample: + value: equinix.fabric.connection.bandwidth_tx.usage + connectionRxPacketAsideDroppedExample: + value: equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count + connectionTxPacketAsideDroppedExample: + value: equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count + connectionRxPacketZsideDroppedExample: + value: equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count + connectionTxPacketZsideDroppedExample: + value: equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count + portRxUsageExample: + value: equinix.fabric.port.bandwidth_rx.usage + portTxUsageExample: + value: equinix.fabric.port.bandwidth_tx.usage + portRxPacketDroppedExample: + value: equinix.fabric.port.packets_dropped_rx.count + portTxPacketDroppedExample: + value: equinix.fabric.port.packets_dropped_tx.count + portRxPacketErredExample: + value: equinix.fabric.port.packets_erred_rx.count + portTxPacketErredExample: + value: equinix.fabric.port.packets_erred_tx.count + metroLatencyExample: + value: equinix.fabric.metro.sv_dc.latency + metroJitterExample: + value: equinix.fabric.metro.sv_dc.jitter_avg - name: fromDateTime in: query description: Start date and time @@ -370,6 +401,90 @@ paths: examples: example: $ref: "#/components/examples/500" + /fabric/v4/metrics: + get: + tags: + - Metrics + summary: Get Metrics by Name + description: This API provides capability to retrieve Metrics by specific wildcard metric types + operationId: getMetricByName + parameters: + - name: name + in: query + description: "Name of the metric types with wildcard: \n- `equinix.fabric.metro.*.latency`\n- `equinix.fabric.metro.*.jitter_avg`\n" + required: true + schema: + pattern: ^equinix\.fabric\.metro\.\*\..+ + type: string + examples: + metroLatencyExample: + value: equinix.fabric.metro.*.latency + metroJitterExample: + value: equinix.fabric.metro.*.jitter_avg + - name: value + in: query + description: value + required: true + schema: + $ref: "#/components/schemas/Value" + - name: offset + in: query + description: offset + required: false + schema: + $ref: "#/components/schemas/Offset" + - name: limit + in: query + description: limit + required: false + schema: + $ref: "#/components/schemas/Limit_1" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetMetricsByNameResponse" + examples: + Example: + $ref: "#/components/examples/get-metrics-by-name" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" /fabric/v4/metrics/search: post: tags: @@ -537,7 +652,7 @@ paths: Vd2Colo: $ref: "#/components/examples/Vd2Colo" Vd2Colo-vlanTag: - $ref: "#/components/examples/Vd2ColoVlanTag" + $ref: "#/components/examples/Vd2Colo-VlanTag" Vd2Colo-vlanCTag: $ref: "#/components/examples/Vd2Colo-VlanCTag" Vd2ColoUntagged: @@ -564,6 +679,8 @@ paths: $ref: "#/components/examples/Fcr2Sp-Aws" Fcr2Sp-Oracle: $ref: "#/components/examples/Fcr2Sp-Oracle" + Fcr2Sp-Alibaba: + $ref: "#/components/examples/Fcr2Sp-Alibaba" Fcr2Vd: $ref: "#/components/examples/Fcr2Vd" Fcr2Vd-Redundant-Secondary: @@ -679,7 +796,7 @@ paths: Vd2Sp: $ref: "#/components/examples/Vd2Sp-Response" Vd2Token: - $ref: "#/components/examples/Vd2ServiceToken_Response" + $ref: "#/components/examples/Vd2ServiceToken-Response" Vd2Colo: $ref: "#/components/examples/Vd2Colo-Response" Vd2Colo-tag: @@ -2622,6 +2739,8 @@ paths: $ref: "#/components/examples/VirtualPortProduct" virtualPortProductUPP: $ref: "#/components/examples/VirtualPortProductUPP" + virtualPortProductIX: + $ref: "#/components/examples/VirtualPortProductIX" precisionTimeProductNtpStandardPackageCode: $ref: "#/components/examples/PrecisionTimeNtpStandardPackage" precisionTimeProductNtpEnterprisePackageCode: @@ -2649,6 +2768,8 @@ paths: $ref: "#/components/examples/VirtualPort" virtualPortUPP: $ref: "#/components/examples/VirtualPortUPP" + virtualPortIX: + $ref: "#/components/examples/VirtualPortIX" precisionTimeService: $ref: "#/components/examples/PrecisionTimeService" "400": @@ -2882,7 +3003,7 @@ paths: tags: - Service Profiles summary: Create Profile - description: Create Service Profile creates Equinix Fabric™ Service Profile. + description: Create Service Profile creates Equinix Fabric? Service Profile. operationId: createServiceProfile parameters: [] requestBody: @@ -3276,7 +3397,7 @@ paths: content: application/json-patch+json: schema: - $ref: "#/components/schemas/JsonPatch" + $ref: "#/components/schemas/JsonPatch_1" examples: ServiceProfilePatchRequest: $ref: "#/components/examples/ServiceProfilePatchRequest" @@ -3668,7 +3789,7 @@ paths: tags: - Service Tokens summary: Create Service Token - description: Create Service Tokens generates Equinix Fabric™ service tokens. These tokens authorize users to access protected resources and services. + description: Create Service Tokens generates Equinix Fabric? service tokens. These tokens authorize users to access protected resources and services. operationId: createServiceToken parameters: - name: dryRun @@ -4087,7 +4208,7 @@ paths: tags: - Ports summary: Create Port - description: Creates Equinix Fabric™ Port. + description: Creates Equinix Fabric? Port. operationId: createPort parameters: - name: dryRun @@ -8461,6 +8582,10 @@ paths: $ref: "#/components/examples/UpdateName" UpdateNotificationEmail: $ref: "#/components/examples/UpdateNotifications" + UpdateTermLength: + $ref: "#/components/examples/UpdateTermLength" + UpdatePackageAndTermLength: + $ref: "#/components/examples/UpdatePackageAndTermLength" required: true responses: "200": @@ -12739,6 +12864,752 @@ paths: examples: example: $ref: "#/components/examples/500" + /fabric/v4/companyProfiles: + post: + tags: + - Company Profiles + summary: Create Company Profile + description: Create a new company profile Beta + operationId: createCompanyProfile + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CompanyProfileRequest" + required: true + responses: + "201": + description: Company profile created successfully + content: + application/json: + schema: + $ref: "#/components/schemas/CompanyProfileResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/companyProfiles/{companyProfileId}": + get: + tags: + - Company Profiles + summary: Get Company Profile by UUID + description: Get company profile details by UUID Beta + operationId: getCompanyProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/CompanyProfileResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + delete: + tags: + - Company Profiles + summary: Delete Company Profile + description: Delete company profile by UUID Beta + operationId: deleteCompanyProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/CompanyProfileResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + /fabric/v4/companyProfiles/search: + post: + tags: + - Company Profiles + summary: Search Company Profiles + description: Search company profiles based on filter criteria Beta + operationId: searchCompanyProfile + parameters: + - name: viewPoint + in: query + description: Viewpoint for the request, either 'aSide' or 'zSide' + required: false + schema: + type: string + default: aSide + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CompanyProfileSearchRequest" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/CompanyProfileSearchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/companyProfiles/{companyProfileId}/serviceProfiles": + get: + tags: + - Company Profiles + summary: Get Service Profiles + description: Get all service profiles attached to a company profile Beta + operationId: getCompanyProfileServiceProfiles + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceProfileListResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/companyProfiles/{companyProfileId}/serviceProfiles/{serviceProfileId}": + put: + tags: + - Company Profiles + summary: Attach Service Profile + description: Attach a service profile to a company profile Beta + operationId: attachServiceProfileToProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AttachServiceProfileResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + delete: + tags: + - Company Profiles + summary: Detach Service Profile + description: Detach a service profile from a company profile Beta + operationId: detachServiceProfileFromProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AttachServiceProfileResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/companyProfiles/{companyProfileId}/tags": + get: + tags: + - Company Profiles + summary: Get Tags + description: Get all tags attached to a company profile Beta + operationId: getTags + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/TagListResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/companyProfiles/{companyProfileId}/tags/{tagId}": + put: + tags: + - Company Profiles + summary: Attach Tag + description: Attach a tag to a company profile Beta + operationId: attachTagToProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + - name: tagId + in: path + description: Tag UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AttachTagResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + delete: + tags: + - Company Profiles + summary: Detach Tag + description: Detach a tag from a company profile Beta + operationId: detachTagFromProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + - name: tagId + in: path + description: Tag UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AttachTagResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/companyProfiles/{companyProfileId}/privateServices": + get: + tags: + - Company Profiles + summary: Get Private Services + description: Get all private services attached to a company profile Beta + operationId: getCompanyProfilePrivateServices + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/PrivateServiceListResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/companyProfiles/{companyProfileId}/privateServices/{privateServiceId}": + put: + tags: + - Company Profiles + summary: Attach Private Service + description: Attach a private service to a company profile Beta + operationId: attachPrivateServiceToProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + - name: privateServiceId + in: path + description: Private Service UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AttachPrivateServiceResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + delete: + tags: + - Company Profiles + summary: Detach Private Service + description: Detach a private service from a company profile Beta + operationId: detachPrivateServiceFromProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + - name: privateServiceId + in: path + description: Private Service UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AttachPrivateServiceResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/logos/{uuid}": + get: + tags: + - Logos + summary: Get Logo + description: Get Logo by UUID + operationId: getLogoByUuid + parameters: + - name: uuid + in: path + description: UUID of the Logo + required: true + schema: + type: string + format: uuid + responses: + "200": + description: Successful Get operation + content: + multipart/mixed: + schema: + type: string + format: binary + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + delete: + tags: + - Logos + summary: Delete Logo + description: Delete Logo by UUID + operationId: deleteLogoByUuid + parameters: + - name: uuid + in: path + description: UUID of the Logo + required: true + schema: + type: string + format: uuid + responses: + "202": + description: Successful Delete operation + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/LogoResponse" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + /fabric/v4/tags: + get: + tags: + - Tags + summary: List Tags + description: Get all Tags + operationId: listTags + parameters: + - name: type + in: query + description: Filter by tag type + required: false + schema: + type: array + items: + type: string + - name: offset + in: query + description: Offset for pagination + required: false + schema: + type: integer + format: int32 + default: 0 + - name: limit + in: query + description: Limit for pagination + required: false + schema: + maximum: 100 + type: integer + format: int32 + default: 20 + responses: + "200": + description: Successful List operation + content: + application/json: + schema: + $ref: "#/components/schemas/TagListResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + post: + tags: + - Tags + summary: Create Tag + description: Create Tag for Equinix Fabric?. + operationId: createTag + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TagRequest" + required: true + responses: + "201": + description: Successful Create operation + content: + application/json: + schema: + $ref: "#/components/schemas/TagResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" components: schemas: CloudEventAssetType: @@ -12747,6 +13618,7 @@ components: - ports - connections - routers + - metros - serviceTokens - networks - projects @@ -12914,10 +13786,6 @@ components: - ports - connections - metros - MetricTypeQueryParams: - type: string - description: Name of the metric types - example: equinix.fabric.port.bandwidth_rx.usage Limit_1: type: integer description: Pagination limit @@ -12933,6 +13801,20 @@ components: description: Data returned from the API call. items: $ref: "#/components/schemas/Metric" + Value: + type: string + description: Which value to retrieve + example: last + GetMetricsByNameResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: Data returned from the API call. + items: + $ref: "#/components/schemas/Metric" MetricsSearchRequest: required: - filter @@ -14279,7 +15161,7 @@ components: type: string description: Service Profile UUID format: uuid - JsonPatch: + JsonPatch_1: type: array items: $ref: "#/components/schemas/JsonPatchOperation" @@ -14478,7 +15360,7 @@ components: description: List of Fabric Metros. items: $ref: "#/components/schemas/Metro" - description: GET Metros retrieves all Equinix® Fabric™ metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. + description: GET Metros retrieves all Equinix? Fabric? metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. Metro: type: object properties: @@ -14523,7 +15405,7 @@ components: description: List of supported geographic boundaries of a Fabric Metro. items: $ref: "#/components/schemas/GeoScopeType" - description: GET Metros retrieves all Equinix® Fabric™ metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. + description: GET Metros retrieves all Equinix? Fabric? metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. GeoCoordinates: type: object properties: @@ -14567,6 +15449,10 @@ components: - CANADA - CONUS - JAPAN + - UK + - AUSTRALIA + - BRAZIL + - SWITZERLAND MetroErrorList: type: array items: @@ -18034,6 +18920,8 @@ components: $ref: "#/components/schemas/Notification" webUrl: type: string + contactUrl: + type: string CompanyProfileResponse: type: object properties: @@ -18057,6 +18945,10 @@ components: type: string state: $ref: "#/components/schemas/CompanyProfileState" + metros: + type: array + items: + $ref: "#/components/schemas/CompanyMetro" logo: $ref: "#/components/schemas/CompanyLogo" tags: @@ -18077,6 +18969,10 @@ components: $ref: "#/components/schemas/Notification" webUrl: type: string + contactUrl: + type: string + change: + $ref: "#/components/schemas/CompanyProfileChange" changeLog: $ref: "#/components/schemas/Changelog" PatchOperation: @@ -18092,6 +18988,8 @@ components: description: The operation to perform enum: - replace + - add + - remove path: minLength: 1 pattern: ^/ @@ -18101,13 +18999,6 @@ components: value: type: object description: The value to update the field to - CompanyProfileUpdateResponse: - type: object - properties: - companyProfile: - $ref: "#/components/schemas/CompanyProfileResponse" - change: - $ref: "#/components/schemas/CompanyProfileChange" CompanyProfileSearchRequest: type: object properties: @@ -18115,6 +19006,8 @@ components: $ref: "#/components/schemas/CompanyProfileSearchFilter" pagination: $ref: "#/components/schemas/Pagination" + sort: + $ref: "#/components/schemas/Sort" CompanyProfileSearchFilter: type: object properties: @@ -18141,6 +19034,14 @@ components: OperatorEnum: type: string description: Comparison operators for filtering + Sort: + type: object + properties: + property: + type: string + description: Property to sort by + direction: + $ref: "#/components/schemas/CompanyProfileSortDirection" CompanyProfileSearchResponse: required: - data @@ -18220,6 +19121,9 @@ components: displayName: type: string example: Environment + weight: + type: integer + example: 10000 description: Equinix Fabric Tag Response Object AttachTagResponse: required: @@ -18283,6 +19187,9 @@ components: attachmentStatus: type: string description: Status of the attachment operation + extensionType: + type: string + description: Extension type of logo LogoRequest: required: - description @@ -18332,6 +19239,9 @@ components: status: type: string example: CREATED + extensionType: + type: string + example: png changelog: $ref: "#/components/schemas/Changelog" description: Equinix Fabric Logo Response Object @@ -18835,7 +19745,6 @@ components: ConnectionRouteTableEntry: required: - changeLog - - state - type type: object properties: @@ -19132,6 +20041,37 @@ components: value: $ref: "#/components/schemas/RoutingProtocolBase" description: Routing Protocol change operation data + PlatformChangelog: + type: object + properties: + createdBy: + type: string + description: Created by User Key + example: johnsmith + createdDateTime: + type: string + description: Created by Date and Time + format: date-time + example: 2020-11-06T07:00:00Z + updatedBy: + type: string + description: Updated by User Key + example: johnsmith + updatedDateTime: + type: string + description: Updated by Date and Time + format: date-time + example: 2020-11-06T07:00:00Z + deletedBy: + type: string + description: Deleted by User Key + example: johnsmith + deletedDateTime: + type: string + description: Deleted by Date and Time + format: date-time + example: 2020-11-06T07:00:00Z + description: Change log SortDirection: type: string description: Sorting direction @@ -19383,7 +20323,7 @@ components: type: object properties: purchaseOrder: - $ref: "#/components/schemas/PortOrder_purchaseOrder" + $ref: "#/components/schemas/PortOrderPurchaseOrder" orderId: type: string description: Order Identification @@ -19399,7 +20339,7 @@ components: format: uuid deprecated: true signature: - $ref: "#/components/schemas/PortOrder_signature" + $ref: "#/components/schemas/PortOrderSignature" PortOperation: type: object properties: @@ -20345,9 +21285,7 @@ components: maximum: 9000 minimum: 16 type: integer - description: | - Ping Command DataBytes. - This field is only applicable for commands of type `PING_COMMAND`. + description: "Ping Command DataBytes. \nThis field is only applicable for commands of type `PING_COMMAND`.\n" example: 100 default: 64 probes: @@ -20396,9 +21334,7 @@ components: maximum: 9000 minimum: 16 type: integer - description: | - Ping Command DataBytes. - This field is only applicable for commands of type `PING_COMMAND`. + description: "Ping Command DataBytes. \nThis field is only applicable for commands of type `PING_COMMAND`.\n" example: 100 default: 64 interval: @@ -21088,6 +22024,13 @@ components: type: object CompanyProfileState: type: object + CompanyMetro: + type: object + properties: + href: + type: string + metroCode: + type: string CompanyLogo: type: object properties: @@ -21095,6 +22038,8 @@ components: type: string uuid: type: string + extensionType: + type: string CompanyServiceProfile: type: object properties: @@ -21112,6 +22057,8 @@ components: CompanyProfileChange: type: object properties: + uuid: + type: string type: type: string status: @@ -21119,8 +22066,18 @@ components: createdDateTime: type: string format: date-time + updatedDateTime: + type: string + format: date-time data: $ref: "#/components/schemas/CompanyProfileChangeItem" + CompanyProfileSortDirection: + type: string + description: Sorting direction + default: ASC + enum: + - DESC + - ASC ConnectionPriority: type: string description: Connection priority in redundancy group @@ -21272,6 +22229,7 @@ components: - DRAFT - CANCELLED - PENDING_INTERFACE_CONFIGURATION + - PENDING_ACTIVATION RouteTableEntryType: type: string description: Route table entry type @@ -21415,6 +22373,8 @@ components: $ref: "#/components/schemas/VirtualPortConfiguration" package: $ref: "#/components/schemas/VirtualPortPackage" + serviceCode: + $ref: "#/components/schemas/VirtualPortServiceCode" description: Preferences and settings for a virtual port connected to an internet service provider (ISP) or other Equinix platform entity. TimeServicePrice: type: object @@ -21439,6 +22399,66 @@ components: items: $ref: "#/components/schemas/AccessPointSelector" description: Connection link protocol,virtual device or network configuration + PortOrderPurchaseOrder: + type: object + properties: + number: + type: string + description: purchase order number + amount: + type: string + description: purchase order amount + startDate: + type: string + format: date-time + endDate: + type: string + format: date-time + attachmentId: + type: string + format: uuid + selectionType: + type: string + deprecated: true + enum: + - EXEMPTION + - EXISTING + - NEW + - BLANKET + type: + type: string + enum: + - EXEMPTION + - EXISTING + - NEW + - BLANKET + description: purchase order + PortOrderSignature: + type: object + properties: + signatory: + type: string + description: Port signature Type + enum: + - DELEGATE + - SELF + - ACCOUNT_SUPPORT + delegate: + $ref: "#/components/schemas/PortOrderSignatureDelegate" + description: Port signature details + PortOrderSignatureDelegate: + type: object + properties: + firstName: + type: string + description: first name of delegate + lastName: + type: string + description: last Name of delegate + email: + type: string + description: email of delegate + description: order delegate details PortDeviceRedundancy: type: object properties: @@ -22013,6 +23033,9 @@ components: code: $ref: "#/components/schemas/VirtualPortPackageCode" description: Virtual Port Package + VirtualPortServiceCode: + type: string + description: Port service code. TimeServicePriceConnection: type: object properties: @@ -22368,6 +23391,36 @@ components: items: $ref: "#/components/schemas/ValidateRequest_filter_and" description: Filters + Response_incomplete_details: + type: object + properties: + reason: + type: string + description: The reason why the response is incomplete. + enum: + - max_output_tokens + - content_filter + description: | + Details about why the response is incomplete. + nullable: true + ResponseUsage_input_tokens_details: + required: + - cached_tokens + type: object + properties: + cached_tokens: + type: integer + description: "The number of tokens that were retrieved from the cache. \n[More on prompt caching](https://platform.openai.com/docs/guides/prompt-caching).\n" + description: A detailed breakdown of the input tokens. + ResponseUsage_output_tokens_details: + required: + - reasoning_tokens + type: object + properties: + reasoning_tokens: + type: integer + description: The number of reasoning tokens. + description: A detailed breakdown of the output tokens. Metric_resource: type: object properties: @@ -22380,6 +23433,9 @@ components: type: type: string description: Metric resource type + state: + type: string + description: Metric resource state name: type: string description: Metric resource name @@ -22413,66 +23469,6 @@ components: href: type: string example: https://api.equinix.com/fabric/v4/connections/3066ab1d-af87-49d7-8a14-c9bdb57ac809 - PortOrder_purchaseOrder: - type: object - properties: - number: - type: string - description: purchase order number - amount: - type: string - description: purchase order amount - startDate: - type: string - format: datetime - endDate: - type: string - format: datetime - attachmentId: - type: string - format: uuid - selectionType: - type: string - deprecated: true - enum: - - EXEMPTION - - EXISTING - - NEW - - BLANKET - type: - type: string - enum: - - EXEMPTION - - EXISTING - - NEW - - BLANKET - description: purchase order - PortOrder_signature_delegate: - type: object - properties: - firstName: - type: string - description: name of delegate - lastName: - type: string - description: last Name of delegate - email: - type: string - description: email of delegate - description: delegate oder details - PortOrder_signature: - type: object - properties: - signatory: - type: string - description: Port signature Type - enum: - - DELEGATE - - SELF - - ACCOUNT_SUPPORT - delegate: - $ref: "#/components/schemas/PortOrder_signature_delegate" - description: Port signature Type RouteTableEntry_connection: type: object properties: @@ -22885,6 +23881,9 @@ components: resource: href: https://api.equinix.com/fabric/v4/ports/0689734d-25c6-40d1-a9ff-3e4edea07a72 uuid: 0689734d-25c6-40d1-a9ff-3e4edea07a72 + type: XF_PORT + state: PROVISIONED + name: my-port-name summary: mean: 102.15384615384616 max: 107 @@ -22952,6 +23951,46 @@ components: value: 251 - endDateTime: 2025-05-14T14:57:46.000Z value: 243 + get-metrics-by-name: + value: + pagination: + offset: 0 + limit: 5000 + total: 3 + data: + - type: GAUGE + name: equinix.fabric.metro.at_am.latency + unit: ms + resource: + href: https://uatapi.equinix.com/fabric/v4/metros/AT + type: XF_METRO + code: AT + description: Atlanta to Amsterdam intermetro latency, average in milliseconds + datapoints: + - endDateTime: 2026-02-03T23:05:04Z + value: 94.8 + - type: GAUGE + name: equinix.fabric.metro.at_ba.latency + unit: ms + resource: + href: https://uatapi.equinix.com/fabric/v4/metros/AT + type: XF_METRO + code: AT + description: Atlanta to Barcelona intermetro latency, average in milliseconds + datapoints: + - endDateTime: 2026-02-03T23:05:04Z + value: 111 + - type: GAUGE + name: equinix.fabric.metro.at_bg.latency + unit: ms + resource: + href: https://uatapi.equinix.com/fabric/v4/metros/AT + type: XF_METRO + code: AT + description: Atlanta to Bogota intermetro latency, average in milliseconds + datapoints: + - endDateTime: 2026-02-03T23:05:04Z + value: 69.8 search-metrics: value: filter: @@ -23820,7 +24859,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: accessPoint: type: NETWORK @@ -24070,7 +25109,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: accessPoint: type: SP @@ -24102,7 +25141,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: accessPoint: type: SP @@ -24131,7 +25170,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: accessPoint: type: COLO @@ -24147,7 +25186,7 @@ components: emails: - test@equinix.com - test1@equinix.com - Vd2ColoVlanTag: + Vd2Colo-VlanTag: value: type: EVPL_VC bandwidth: 1000 @@ -24160,7 +25199,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: accessPoint: type: COLO @@ -24190,7 +25229,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: accessPoint: type: COLO @@ -24220,7 +25259,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: accessPoint: type: COLO @@ -24252,7 +25291,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: serviceToken: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 @@ -24525,6 +25564,35 @@ components: - test@equinix.com project: projectId: "567" + Fcr2Sp-Alibaba: + value: + type: IP_VC + name: My-FCR-AlibabaConnection + bandwidth: 50 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + uuid: 66a21614-1c4a-11ec-9621-0242ac130002 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + authenticationKey: xx-xx-xx + sellerRegion: us-west-1 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com Fcr2Vd: value: type: IP_VC @@ -24545,7 +25613,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 project: projectId: "567" notifications: @@ -24574,7 +25642,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 project: projectId: "567" notifications: @@ -25908,7 +26976,7 @@ components: providerStatus: NOT_AVAILABLE changeLog: createdDateTime: 2022-10-05T19:37:12.748Z - Vd2ServiceToken_Response: + Vd2ServiceToken-Response: value: href: https://api.equinix.com/fabric/v4/connections/ebc37e2e-c36b-4e93-86a4-fc4efce7abc8 type: EVPL_VC @@ -26010,6 +27078,9 @@ components: virtualDevice: type: EDGE uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 15229 interface: uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d type: NETWORK @@ -27537,8 +28608,8 @@ components: role: LEAF Vd2IAProfile-Response: value: - type: IA_VC href: https://uatapi.npclouda.equinix.com/fabric/v4/connections/ce42ca81-538d-4f38-b020-d45fb48d20c7 + type: IA_VC uuid: ce42ca81-538d-4f38-b020-d45fb48d20c7 name: vd2eia-connection-1 operation: @@ -27585,8 +28656,8 @@ components: uuid: 32d81829-0bf8-45d5-84e2-7289a553dbb6 Vd2NETWORK-Response: value: - type: EVPLAN_VC href: https://api.equinix.com/fabric/v4/connections/e1f165fd-29bb-4c15-8ec7-56242677e6fc + type: EVPLAN_VC uuid: e1f165fd-29bb-4c15-8ec7-56242677e6fc name: vd2network-connection operation: @@ -27636,8 +28707,8 @@ components: location: null Vd2AwsSP-Response: value: - type: EVPL_VC href: https://api.equinix.com/fabric/v4/connections/f0a954e7-bdc5-4727-90cc-869f990e289f + type: EVPL_VC uuid: f0a954e7-bdc5-4727-90cc-869f990e289f name: vd2aws-connection-1 operation: @@ -27687,8 +28758,8 @@ components: authenticationKey: xxxx-xxx-xxx Vd2AzureSP-Response: value: - type: EVPL_VC href: https://api.equinix.com/fabric/v4/connections/3da14bba-d81c-4497-93c3-3f4a3cb0bc40 + type: EVPL_VC uuid: 3da14bba-d81c-4497-93c3-3f4a3cb0bc40 name: vd2azure-connection-1 operation: @@ -27737,8 +28808,8 @@ components: authenticationKey: xxxx-xxx-xxxx Vd2OracleSP-Response: value: - type: EVPL_VC href: https://api.equinix.com/fabric/v4/connections/53c89f1a-0be7-44a1-9c03-28059632a72d + type: EVPL_VC uuid: 53c89f1a-0be7-44a1-9c03-28059632a72d name: vd2oracle-connection-1 operation: @@ -27788,8 +28859,8 @@ components: authenticationKey: ocid1.virtualcircuit.oc1 Vd2AlibabaSP-Response: value: - type: EVPL_VC href: https://api.equinix.com/fabric/v4/connections/66ed4e8a-584c-4027-9788-748fecb5ce35 + type: EVPL_VC uuid: 66ed4e8a-584c-4027-9788-748fecb5ce35 name: vd2alibaba-connection-1 operation: @@ -27838,8 +28909,8 @@ components: authenticationKey: xxxx-xxx-xxxx Vd2GoogleSP-Response: value: - type: EVPL_VC href: https://api.equinix.com/fabric/v4/connections/50ae793c-b466-4d71-9724-c32b5e402bbe + type: EVPL_VC uuid: 50ae793c-b466-4d71-9724-c32b5e402bbe name: vd2googleSp-connection-1 operation: @@ -30345,6 +31416,238 @@ components: bfd: enabled: true interval: "100" + AllPeeringProtocolResponse: + value: + pagination: + offset: 0 + limit: 10 + total: 1 + data: + - href: https://api.equinix.com/fabric/v4/connections/e8ba52fe-faae-43b5-b0b1-6904d37ee011/peeringProtocols/a8ba52de-faae-43b5-b0b1-6904d37ee011 + uuid: a8ba52de-faae-43b5-b0b1-6904d37ee011 + type: BGP + name: ix_bgp + description: ix_bgp + customerAsn: 5555 + vlan: 99 + routeServerAsn: 24115 + state: PROVISIONING + macAddress: 00:11:22:33:44:55 + bgpIpv4: + customerPeerIp: 12.1.1.1 + domainName: gw01.sin.example.net + primaryRouteServerIp: 10.1.1.1 + secondaryRouteServerIp: 10.1.1.2 + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5Key12345 + prefixes: + - 203.0.113.0/24 + maxPrefixLimit: 300 + prependSelfEnabled: true + bgpIpv6: + customerPeerIp: 2001:db8:c59b::22 + domainName: gw01.sin.example.net + primaryRouteServerIp: 2001:db8:c59b::33 + secondaryRouteServerIp: 2001:db8:c59b::322 + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5Key123456 + prefixes: + - 2001:DB8:123::/48 + maxPrefixLimit: 300 + prependSelfEnabled: true + routeCollector: + asn: 1238 + ipV4: 10.255.255.254 + ipV6: 2001:db8:85a3::8a2e:370:7334 + changelog: + createdBy: "12345" + createdDateTime: 2025-08-30T07:21:39Z + Peering_400: + value: + - errorCode: EQ-3067103 + errorMessage: Peering Protocol does not exist or does not belong to the user. Please check ConnectionID and PeeringProtocolId + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + details: Peering Protocol Service does not exist or does not belong to the user. Please check ConnectionID and PeeringProtocolId + Peering_401: + value: + - errorCode: EQ-3067106 + errorMessage: User not found in request or invalid. + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + Peering_403: + value: + - errorCode: EQ-3067102 + errorMessage: Operation not allowed + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Operation not allowed for current user + Peering_404: + value: + - errorCode: EQ-3067101 + errorMessage: Peering Protocol not found; it may not exist or could have already been deleted. + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Peering Protocol Service not found or already deleted + Peering_500: + value: + - errorCode: EQ-3067104 + errorMessage: Internal Server Error + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Internal Server Error + PeeringProtocolCreateRequest: + value: + type: BGP + name: ix_bgp + description: ix_bgp + customerAsn: 5555 + macAddress: 00:11:22:33:44:55 + bgpIpv4: + domainName: gw01.sin.example.net + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5KEY12345 + prefixes: + - 203.0.113.0/24 + bgpIpv6: + domainName: gw01.sin.example.net + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5KEY123456 + prefixes: + - 2001:DB8:123::/48 + PeeringProtocolResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/e8ba52fe-faae-43b5-b0b1-6904d37ee011/peeringProtocols/a8ba52de-faae-43b5-b0b1-6904d37ee011 + uuid: a8ba52de-faae-43b5-b0b1-6904d37ee011 + type: BGP + name: ix_bgp + description: ix_bgp + customerAsn: 5555 + vlan: 99 + routeServerAsn: 24115 + state: PROVISIONING + macAddress: 00:11:22:33:44:55 + bgpIpv4: + customerPeerIp: 12.1.1.1 + domainName: gw01.sin.example.net + primaryRouteServerIp: 10.1.1.1 + secondaryRouteServerIp: 10.1.1.2 + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5Key12345 + prefixes: + - 203.0.113.0/24 + maxPrefixLimit: 300 + prependSelfEnabled: true + bgpIpv6: + customerPeerIp: 2001:db8:c59b::22 + domainName: gw01.sin.example.net + primaryRouteServerIp: 2001:db8:c59b::33 + secondaryRouteServerIp: 2001:db8:c59b::322 + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5Key123456 + prefixes: + - 2001:DB8:123::/48 + maxPrefixLimit: 300 + prependSelfEnabled: true + routeCollector: + asn: 1238 + ipV4: 10.255.255.254 + ipV6: 2001:db8:85a3::8a2e:370:7334 + changelog: + createdBy: "12345" + createdDateTime: 2025-08-30T07:21:39Z + PeeringProtocolDeleteResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/e8ba52fe-faae-43b5-b0b1-6904d37ee011/peeringProtocols/a8ba52de-faae-43b5-b0b1-6904d37ee011 + uuid: a8ba52de-faae-43b5-b0b1-6904d37ee011 + type: BGP + name: ix_bgp + description: ix_bgp + customerAsn: 5555 + vlan: 99 + routeServerAsn: 24115 + state: DEPROVISIONING + macAddress: 00:11:22:33:44:55 + bgpIpv4: + customerPeerIp: 12.1.1.1 + domainName: gw01.sin.example.net + primaryRouteServerIp: 10.1.1.1 + secondaryRouteServerIp: 10.1.1.2 + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5KEY12345 + prefixes: + - 203.0.113.0/24 + maxPrefixLimit: 300 + prependSelfEnabled: true + bgpIpv6: + customerPeerIp: 2001:db8:c59b::22 + domainName: gw01.sin.example.net + primaryRouteServerIp: 2001:db8:c59b::33 + secondaryRouteServerIp: 2001:db8:c59b::322 + asSet: AS-EC-SV + mlpeEnabled: true + rcMd5AuthKey: TESTMD5KEY123456 + prefixes: + - 2001:DB8:123::/48 + maxPrefixLimit: 300 + prependSelfEnabled: true + routeCollector: + asn: 1238 + ipV4: 10.255.255.254 + ipV6: 2001:db8:85a3::8a2e:370:7334 + changelog: + createdBy: "12345" + createdDateTime: 2025-08-30T07:21:39Z + PeeringProtocolPatchRequest: + value: + - op: replace + path: /macAddress + value: 00:1A:2B:3C:4D:5E + PeeringProtocolPatchResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/e8ba52fe-faae-43b5-b0b1-6904d37ee011/peeringProtocols/a8ba52de-faae-43b5-b0b1-6904d37ee011 + uuid: a8ba52de-faae-43b5-b0b1-6904d37ee011 + type: BGP + name: ix_bgp + description: ix_bgp + customerAsn: 5555 + vlan: 99 + routeServerAsn: 24115 + state: REPROVISIONING + macAddress: 00:1A:2B:3C:4D:5E + bgpIpv4: + customerPeerIp: 12.1.1.1 + domainName: gw01.sin.example.net + primaryRouteServerIp: 10.1.1.1 + secondaryRouteServerIp: 10.1.1.2 + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5Key12345 + prefixes: + - 203.0.113.0/24 + maxPrefixLimit: 300 + prependSelfEnabled: true + bgpIpv6: + customerPeerIp: 2001:db8:c59b::22 + domainName: gw01.sin.example.net + primaryRouteServerIp: 2001:db8:c59b::33 + secondaryRouteServerIp: 2001:db8:c59b::322 + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5Key123456 + prefixes: + - 2001:DB8:123::/48 + maxPrefixLimit: 300 + prependSelfEnabled: true + routeCollector: + asn: 1238 + ipV4: 10.255.255.254 + ipV6: 2001:db8:85a3::8a2e:370:7334 + changelog: + createdBy: "12345" + createdDateTime: 2025-08-30T07:21:39Z ConnectionSearchDirection: value: filter: @@ -31508,6 +32811,34 @@ components: operator: = values: - "false" + VirtualPortProductIX: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_PORT_PRODUCT + - property: /port/location/ibx + operator: = + values: + - DA1 + - property: /port/type + operator: = + values: + - XF_PORT + - property: /port/bandwidth + operator: = + values: + - "1000" + - property: /port/serviceCode + operator: = + values: + - IX + - property: /port/connectivitySource/type + operator: = + values: + - COLO PrecisionTimeNtpStandardPackage: value: filter: @@ -31745,6 +33076,36 @@ components: serviceType: EPL package: code: UNLIMITED_PLUS + VirtualPortIX: + value: + pagination: + offset: 0 + limit: 1 + total: 1 + data: + - type: VIRTUAL_PORT_PRODUCT + code: IX00008.PROD + name: Equinix Internet Exchange Port Product + description: Internet Exchange Port + account: + accountNumber: 200001 + charges: + - type: MONTHLY_RECURRING + price: 500 + - type: NON_RECURRING + price: 100 + currency: USD + port: + type: XF_PORT + location: + ibx: DA1 + lag: + enabled: false + physicalPortsQuantity: 1 + bandwidth: 1000 + connectivitySource: + type: COLO + serviceCode: IX PrecisionTimeService: value: pagination: @@ -33614,6 +34975,12 @@ components: ibx: SV2 order: purchaseOrderNumber: 156576 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -33643,6 +35010,8 @@ components: - uuid: 64de7e5-7fe7-41e6-b984-80d5aa159a0e order: purchaseOrderNumber: 156576 + signature: + signatory: SELF project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -33699,6 +35068,12 @@ components: order: purchaseOrderNumber: 156576 orderNumber: 1-129105284100 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -33757,6 +35132,8 @@ components: order: purchaseOrderNumber: 156576 orderNumber: 1-129105284100 + signature: + signatory: SELF project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -33800,10 +35177,6 @@ components: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: accountNumber: 270848 - notifications: - - type: ALL - emails: - - test@test.com - type: FABRIC_MC bandwidth: 10000 connectionDestinationType: COLO @@ -33831,10 +35204,6 @@ components: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: accountNumber: 270848 - notifications: - - type: ALL - emails: - - test@test.com RemoteMetroConnectBulkCreate: value: data: @@ -33861,10 +35230,6 @@ components: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: accountNumber: 270848 - notifications: - - type: ALL - emails: - - test@test.com - type: FABRIC_MC bandwidth: 10000 connectionDestinationType: REMOTE @@ -33888,10 +35253,6 @@ components: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: accountNumber: 270848 - notifications: - - type: ALL - emails: - - test@test.com ColoMetroConnectBulkCreateWithOrder: value: data: @@ -33920,14 +35281,16 @@ components: ibx: SV2 order: purchaseOrderNumber: 156576 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: accountNumber: 270848 - notifications: - - type: ALL - emails: - - test@test.com - type: FABRIC_MC bandwidth: 10000 connectionDestinationType: COLO @@ -33953,14 +35316,16 @@ components: ibx: SV2 order: purchaseOrderNumber: 156576 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: accountNumber: 270848 - notifications: - - type: ALL - emails: - - test@test.com ColoMetroConnectBulkResponseExample: value: data: @@ -34257,6 +35622,12 @@ components: order: purchaseOrderNumber: 156576 orderNumber: 1-129105284100 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -34319,6 +35690,12 @@ components: order: purchaseOrderNumber: 156576 orderNumber: 1-129105284100 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -34404,6 +35781,12 @@ components: order: purchaseOrderNumber: 156576 orderNumber: 1-129105284100 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -34462,6 +35845,12 @@ components: order: purchaseOrderNumber: 156576 orderNumber: 1-129105284100 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -34587,6 +35976,12 @@ components: order: purchaseOrderNumber: 156576 orderNumber: 1-129105284100 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -34646,6 +36041,12 @@ components: order: purchaseOrderNumber: 126758 orderNumber: 1-139105284200 + signature: + signatory: DELEGATE + delegate: + firstName: Tom + lastName: Lim + email: tom.lim@company.com project: projectId: 66a2d2f7-b79b-49bc-8642-d2b3c1c138b4 account: @@ -34732,6 +36133,14 @@ components: services: - type: ETHERNET_IP_SERVICE - type: TIME_SERVICE + geoScopes: + - CANADA + - CONUS + - JAPAN + - UK + - AUSTRALIA + - BRAZIL + - SWITZERLAND 400_metros: value: - errorCode: EQ-3036013 @@ -34810,6 +36219,14 @@ components: services: - type: ETHERNET_IP_SERVICE - type: TIME_SERVICE + geoScopes: + - CANADA + - CONUS + - JAPAN + - UK + - AUSTRALIA + - BRAZIL + - SWITZERLAND 400_metroCode: value: - errorCode: EQ-3036013 @@ -38961,6 +40378,19 @@ components: emails: - testEmail1@equinix.com - testEmail2@equinix.com + UpdateTermLength: + value: + - op: replace + path: /order/termLength + value: 12 + UpdatePackageAndTermLength: + value: + - op: replace + path: /package/code + value: PREMIUM + - op: replace + path: /order/termLength + value: 12 CloudRouterPatchResponseExample: value: href: https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d @@ -38992,6 +40422,13 @@ components: status: REQUESTED createdDateTime: 2022-04-19T04:20:55.471Z updatedDateTime: 2022-04-19T04:20:55.471Z + data: + - op: replace + path: /package/code + value: PREMIUM + - op: replace + path: /order/termLength + value: 12 changeLog: createdBy: abc@xyz.com createdByFullName: abc @@ -39131,15 +40568,7 @@ components: count: 5 interval: 1000 response: - output: |- - PING 8.8.8.8 (8.8.8.8): 100 data bytes - 108 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=9.839 ms - 108 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=16.051 ms - 108 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=9.271 ms - 108 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=26.771 ms - --- 8.8.8.8 ping statistics --- - 4 packets transmitted, 4 packets received, 0.0% packet loss - round-trip min/avg/max/stddev = 9.271/15.483/26.771/7.039 ms + output: "PING 8.8.8.8 (8.8.8.8): 100 data bytes\n108 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=9.839 ms\n108 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=16.051 ms\n108 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=9.271 ms\n108 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=26.771 ms \n--- 8.8.8.8 ping statistics ---\n4 packets transmitted, 4 packets received, 0.0% packet loss\nround-trip min/avg/max/stddev = 9.271/15.483/26.771/7.039 ms" outputStructuredPing: destinationIp: 8.8.8.8 destinationName: 8.8.8.8 @@ -39313,15 +40742,7 @@ components: count: 5 interval: 1000 response: - output: |- - PING 8.8.8.8 (8.8.8.8): 100 data bytes - 108 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=9.839 ms - 108 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=16.051 ms - 108 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=9.271 ms - 108 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=26.771 ms - --- 8.8.8.8 ping statistics --- - 4 packets transmitted, 4 packets received, 0.0% packet loss - round-trip min/avg/max/stddev = 9.271/15.483/26.771/7.039 ms + output: "PING 8.8.8.8 (8.8.8.8): 100 data bytes\n108 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=9.839 ms\n108 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=16.051 ms\n108 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=9.271 ms\n108 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=26.771 ms \n--- 8.8.8.8 ping statistics ---\n4 packets transmitted, 4 packets received, 0.0% packet loss\nround-trip min/avg/max/stddev = 9.271/15.483/26.771/7.039 ms" outputStructuredPing: destinationIp: 8.8.8.8 destinationName: 8.8.8.8 @@ -39383,15 +40804,7 @@ components: count: 5 interval: 1000 response: - output: |- - PING 8.8.8.8 (8.8.8.8): 100 data bytes - 108 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=9.839 ms - 108 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=16.051 ms - 108 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=9.271 ms - 108 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=26.771 ms - --- 8.8.8.8 ping statistics --- - 4 packets transmitted, 4 packets received, 0.0% packet loss - round-trip min/avg/max/stddev = 9.271/15.483/26.771/7.039 ms + output: "PING 8.8.8.8 (8.8.8.8): 100 data bytes\n108 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=9.839 ms\n108 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=16.051 ms\n108 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=9.271 ms\n108 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=26.771 ms \n--- 8.8.8.8 ping statistics ---\n4 packets transmitted, 4 packets received, 0.0% packet loss\nround-trip min/avg/max/stddev = 9.271/15.483/26.771/7.039 ms" outputStructuredPing: destinationIp: 8.8.8.8 destinationName: 8.8.8.8 @@ -44064,18 +45477,12 @@ components: correlationId: 11091aa7-322a-461e-b6af-40fd10543c94 additionalInfo: - reason: Only accept DESC and ASC for sorting direction. - PrivateLinkAttachDomain: - value: - subdomains: - - equinixjira PrivateLinkAttachDomainAttachResponse: value: href: /fabric/v4/privateLinks/23cd19ab-d3bb-478b-9f25-bd12a3af1914/privateDomains/20f3ef8e-d670-4236-86fa-bb0038adcfc3 uuid: 20f3ef8e-d670-4236-86fa-bb0038adcfc3 type: PRIVATE_DOMAIN name: atlassian.net - subdomains: - - equinixjira attachmentStatus: ATTACHING PrivateLink_400_InvalidAttachState: value: @@ -44089,8 +45496,6 @@ components: uuid: 20f3ef8e-d670-4236-86fa-bb0038adcfc3 type: PRIVATE_DOMAIN name: atlassian.net - subdomains: - - equinixjira attachmentStatus: DETACHING PrivateLinkAttachDomainSearchFilterByStatus: value: @@ -44128,8 +45533,6 @@ components: uuid: 20f3ef8e-d670-4236-86fa-bb0038adcfc3 type: PRIVATE_DOMAIN name: atlassian.net - subdomains: - - equinixjira attachmentStatus: ATTACHED PrivateLinkAttachService: value: @@ -44194,11 +45597,9 @@ components: type: PRIVATE_SERVICE name: Atlassian Private Service description: Atlassian Private Service in SV - domains: - - name: atlassian.net - subdomains: - - equinixjira - sourceDomainNames: + endpoints: + - equinixjira.atlassian.net + sourceDomains: - equinix.com project: projectId: 71b55fef-fd2e-402f-ae3c-01d5f00bf2d4 @@ -44210,14 +45611,9 @@ components: name: Atlassian Private Service description: Atlassian Private Service in SV state: PROVISIONING - domains: - - href: https://api.equinix.com/fabric/v4/privateDomains/20f3ef8e-d670-4236-86fa-bb0038adcfc3 - uuid: 20f3ef8e-d670-4236-86fa-bb0038adcfc3 - type: PRIVATE_DOMAIN - name: atlassian.net - subdomains: - - equinixjira - sourceDomainNames: + endpoints: + - equinixjira.atlassian.net + sourceDomains: - equinix.com project: projectId: 71b55fef-fd2e-402f-ae3c-01d5f00bf2d4 @@ -44265,14 +45661,9 @@ components: name: Atlassian Private Service description: Atlassian Private Service in SV state: PROVISIONED - domains: - - href: https://api.equinix.com/fabric/v4/privateDomains/20f3ef8e-d670-4236-86fa-bb0038adcfc3 - uuid: 20f3ef8e-d670-4236-86fa-bb0038adcfc3 - type: PRIVATE_DOMAIN - name: atlassian.net - subdomains: - - equinixjira - sourceDomainNames: + endpoints: + - equinixjira.atlassian.net + sourceDomains: - equinix.com project: projectId: 71b55fef-fd2e-402f-ae3c-01d5f00bf2d4 @@ -44290,14 +45681,9 @@ components: name: Atlassian Private Service description: Atlassian Private Service in SV state: DEPROVISIONING - domains: - - href: https://api.equinix.com/fabric/v4/privateDomains/20f3ef8e-d670-4236-86fa-bb0038adcfc3 - uuid: 20f3ef8e-d670-4236-86fa-bb0038adcfc3 - type: PRIVATE_DOMAIN - name: atlassian.net - subdomains: - - equinixjira - sourceDomainNames: + endpoints: + - equinixjira.atlassian.net + sourceDomains: - equinix.com project: projectId: 71b55fef-fd2e-402f-ae3c-01d5f00bf2d4 @@ -44371,14 +45757,9 @@ components: name: Atlassian Private Service description: Atlassian Private Service in SV state: PROVISIONED - domains: - - href: https://api.equinix.com/fabric/v4/privateDomains/20f3ef8e-d670-4236-86fa-bb0038adcfc3 - uuid: 20f3ef8e-d670-4236-86fa-bb0038adcfc3 - type: PRIVATE_DOMAIN - name: atlassian.net - subdomains: - - equinixjira - sourceDomainNames: + endpoints: + - equinixjira.atlassian.net + sourceDomains: - equinix.com project: projectId: 71b55fef-fd2e-402f-ae3c-01d5f00bf2d4 @@ -44400,7 +45781,7 @@ components: target: privateService: uuid: e18c15f4-c8aa-4c18-9e35-a7e9b288201d - geoScope: CONUS + geoScope: GLOBAL prioritization: LATENCY project: projectId: 71b55fef-fd2e-402f-ae3c-01d5f00bf2d4 @@ -44417,7 +45798,7 @@ components: target: privateService: uuid: e18c15f4-c8aa-4c18-9e35-a7e9b288201d - geoScope: CONUS + geoScope: GLOBAL prioritization: LATENCY state: PROVISIONING project: @@ -44462,7 +45843,7 @@ components: target: privateService: uuid: e18c15f4-c8aa-4c18-9e35-a7e9b288201d - geoScope: CONUS + geoScope: GLOBAL prioritization: LATENCY state: PROVISIONED project: @@ -44486,7 +45867,7 @@ components: target: privateService: uuid: e18c15f4-c8aa-4c18-9e35-a7e9b288201d - geoScope: CONUS + geoScope: GLOBAL prioritization: LATENCY state: DEPROVISIONED project: @@ -44548,7 +45929,7 @@ components: target: privateService: uuid: e18c15f4-c8aa-4c18-9e35-a7e9b288201d - geoScope: CONUS + geoScope: GLOBAL prioritization: LATENCY state: PROVISIONED project: @@ -44616,11 +45997,390 @@ components: - errorCode: EQ-3222002 errorMessage: ENA is disabled for this user and/or user's organization correlationId: 123e4567-e89b-12d3-a456-426614174000 - 500-internal-server-error: + 500-reactions-internal-server-error: value: - errorCode: EQ-3222100 errorMessage: Failed to store reaction correlationId: 123e4567-e89b-12d3-a456-426614174000 + standard-request: + value: + input: + - content: + - text: Which of my connections are at risk of exceeding their bandwidth limits? + type: input_text + role: user + type: message + string-input: + value: + input: Which of my connections are at risk of exceeding their bandwidth limits? + standard-streaming-request: + value: + input: + - content: + - text: Use the equinix_intelligence_search_docs tool to answer my questions about What is VPN + type: input_text + role: user + type: message + stream: true + response-chaining: + value: + input: + - content: + - text: Which of my connections are at risk of exceeding their bandwidth limits? + type: input_text + role: user + type: message + previous_response_id: resp_08b22a5f-63c6-4892-8cd6-2a4b1ef591c0 + related-prompts-request: + value: + input: + - content: + - text: Use the equinix_intelligence_search_docs tool to answer my questions about What is VPN + type: input_text + role: user + type: message + metadata: + prompt_source: user/related_prompt + include_related_prompts: "true" + response_created: + summary: response.created + value: + response: + id: resp_4542cc2f-7e4c-4694-a5fb-7797a150d0e0 + created_at: 1765358850.078279 + model: ena-agent + object: response + output: + - id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + content: + - annotations: [] + text: "" + type: output_text + role: assistant + status: in_progress + type: message + parallel_tool_calls: false + tool_choice: none + tools: [] + status: in_progress + sequence_number: 0 + type: response.created + response_in_progress: + summary: response.in_progress + value: + response: + id: resp_4542cc2f-7e4c-4694-a5fb-7797a150d0e0 + created_at: 1765358850.078279 + model: ena-agent + object: response + output: + - id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + content: + - annotations: [] + text: "" + type: output_text + role: assistant + status: in_progress + type: message + parallel_tool_calls: false + tool_choice: none + tools: [] + status: in_progress + sequence_number: 1 + type: response.in_progress + response_output_item_added: + summary: response.output_item.added + value: + item: + id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + content: + - annotations: [] + text: "" + type: output_text + role: assistant + status: in_progress + type: message + output_index: 0 + sequence_number: 2 + type: response.output_item.added + response_content_part_added: + summary: response.content_part.added + value: + content_index: 0 + item_id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + output_index: 0 + part: + annotations: [] + text: "" + type: output_text + sequence_number: 3 + type: response.content_part.added + response_output_text_delta: + summary: response.output_text.delta + value: + content_index: 0 + delta: I can retrieve that ? I just need one + item_id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + logprobs: [] + output_index: 0 + sequence_number: 5 + type: response.output_text.delta + response_output_text_done: + summary: response.output_text.done + value: + content_index: 0 + item_id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + logprobs: [] + output_index: 0 + sequence_number: 24 + text: |- + I can retrieve that ? I just need one detail from you. + + What I need + - Provide the stream UUID (preferred) ? e.g., the stream's unique ID. + - Or, if you don't have the UUID, tell me the stream name (or confirm you want me to list your streams so you can pick one). + + Options I can perform for you + - If you give a stream UUID ? I'll fetch the stream details and return the stream state and project ID. + - If you give a stream name ? I can search/list streams matching that name (you may need to pick the correct one) and then fetch details. + - If you ask me to list streams now ? I can return a paged list of your streams so you can choose which to inspect. + + Tell me which option you prefer and, if available, paste the stream UUID (or stream name). + type: response.output_text.done + response_content_part_done: + summary: response.content_part.done + value: + content_index: 0 + item_id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + output_index: 0 + part: + annotations: [] + text: |- + I can retrieve that ? I just need one detail from you. + + What I need + - Provide the stream UUID (preferred) ? e.g., the stream's unique ID. + - Or, if you don't have the UUID, tell me the stream name (or confirm you want me to list your streams so you can pick one). + + Options I can perform for you + - If you give a stream UUID ? I'll fetch the stream details and return the stream state and project ID. + - If you give a stream name ? I can search/list streams matching that name (you may need to pick the correct one) and then fetch details. + - If you ask me to list streams now ? I can return a paged list of your streams so you can choose which to inspect. + + Tell me which option you prefer and, if available, paste the stream UUID (or stream name). + type: output_text + sequence_number: 25 + type: response.content_part.done + response_output_item_done: + summary: response.output_item.done + value: + item: + id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + content: + - annotations: [] + text: |- + I can retrieve that ? I just need one detail from you. + + What I need + - Provide the stream UUID (preferred) ? e.g., the stream's unique ID. + - Or, if you don't have the UUID, tell me the stream name (or confirm you want me to list your streams so you can pick one). + + Options I can perform for you + - If you give a stream UUID ? I'll fetch the stream details and return the stream state and project ID. + - If you give a stream name ? I can search/list streams matching that name (you may need to pick the correct one) and then fetch details. + - If you ask me to list streams now ? I can return a paged list of your streams so you can choose which to inspect. + + Tell me which option you prefer and, if available, paste the stream UUID (or stream name). + type: output_text + role: assistant + status: completed + type: message + output_index: 0 + sequence_number: 26 + type: response.output_item.done + response_completed: + summary: response.completed + value: + response: + id: resp_4542cc2f-7e4c-4694-a5fb-7797a150d0e0 + created_at: 1765358850.078279 + metadata: + related_prompt_1: List streams + related_prompt_2: Get stream stream state & project + related_prompt_3: Search streams by name '' stream + model: ena-agent + object: response + output: + - id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + content: + - annotations: [] + text: |- + I can retrieve that ? I just need one detail from you. + + What I need + - Provide the stream UUID (preferred) ? e.g., the stream's unique ID. + - Or, if you don't have the UUID, tell me the stream name (or confirm you want me to list your streams so you can pick one). + + Options I can perform for you + - If you give a stream UUID ? I'll fetch the stream details and return the stream state and project ID. + - If you give a stream name ? I can search/list streams matching that name (you may need to pick the correct one) and then fetch details. + - If you ask me to list streams now ? I can return a paged list of your streams so you can choose which to inspect. + + Tell me which option you prefer and, if available, paste the stream UUID (or stream name). + type: output_text + role: assistant + status: completed + type: message + parallel_tool_calls: false + tool_choice: none + tools: [] + status: completed + sequence_number: 27 + type: response.completed + standard-response: + value: + id: resp_08b22a5f-63c6-4892-8cd6-2a4b1ef591c0 + created_at: 1765339923 + model: ena-agent + object: response + output: + - id: msg_14af23c6-15ea-4f11-8fa6-0cc80ffba850 + content: + - annotations: [] + text: Output data from Equinix Networking Assistant in response to prompt + type: output_text + role: assistant + status: completed + type: message + parallel_tool_calls: false + tool_choice: none + tools: [] + safety_identifier: + status: completed + text: + format: + type: text + usage: + input_tokens: 86146 + input_tokens_details: + cached_tokens: 0 + output_tokens: 1803 + output_tokens_details: + reasoning_tokens: 960 + total_tokens: 87949 + user: + response-with-related-prompt: + value: + id: resp_08b22a5f-63c6-4892-8cd6-2a4b1ef591c0 + created_at: 1765339923 + metadata: + related_prompt_1: Get Network Edge service IPsec/IKE example + related_prompt_2: Pair Network Edge service VPN with FCR router BGP config + related_prompt_3: Compare Equinix Fabric service vs VPN for metro SV (cost/latency/SLAs) + model: ena-agent + object: response + output: + - id: msg_14af23c6-15ea-4f11-8fa6-0cc80ffba850 + content: + - annotations: [] + text: Output data from Equinix Networking Assistant in response to prompt + type: output_text + role: assistant + status: completed + type: message + parallel_tool_calls: false + tool_choice: none + tools: [] + safety_identifier: + status: completed + text: + format: + type: text + usage: + input_tokens: 86146 + input_tokens_details: + cached_tokens: 0 + output_tokens: 1803 + output_tokens_details: + reasoning_tokens: 960 + total_tokens: 87949 + user: + response-with-annotations: + value: + id: resp_08b22a5f-63c6-4892-8cd6-2a4b1ef591c0 + created_at: 1765339923 + model: ena-agent + object: response + output: + - id: msg_14af23c6-15ea-4f11-8fa6-0cc80ffba850 + content: + - annotations: + - start_index: 0 + end_index: 0 + type: url_citation + title: "" + url: https://docs.equinix.com/managed-solutions/regional/united-kingdom/gms-uk-ips-infrastructure-platform-service + - start_index: 0 + end_index: 0 + type: url_citation + title: "" + url: https://docs.equinix.com/connecting-to-service-provider/fabric-connect-akamai + text: Output data from Equinix Networking Assistant in response to prompt + type: output_text + role: assistant + status: completed + type: message + parallel_tool_calls: false + tool_choice: none + tools: [] + safety_identifier: + status: completed + text: + format: + type: text + usage: + input_tokens: 86146 + input_tokens_details: + cached_tokens: 0 + output_tokens: 1803 + output_tokens_details: + reasoning_tokens: 960 + total_tokens: 87949 + user: + 500-responses-internal-server-error: + value: + - errorCode: EQ-3222201 + errorMessage: | + I'm so sorry, we were unable to process your prompt due to a system level issue. Equinix Networking Assistant needs some tender, loving care. Please report this error to maintainers with error code EQ-3222201. + correlationId: 123e4567-e89b-12d3-a456-426614174000 + response-deleted: + value: + id: resp_08b22a5f-63c6-4892-8cd6-2a4b1ef591c0 + deleted: true + object: response + input-items: + summary: Standard input items response + value: + data: + - id: msg_16fb930e-c71a-4cfc-9b5d-4871c6a98aef + content: + - annotations: [] + text: |- + Results ? connections in DC with Fabric Cloud Router (FCR), active (limit 20) + ..... + type: output_text + role: assistant + status: completed + type: message + - id: msg_3920f72c-5172-42d1-8f5b-7eafd490411e + content: + - text: Show connections in DC with FCRs; active, either side, limit 20 + type: input_text + role: user + first_id: msg_16fb930e-c71a-4cfc-9b5d-4871c6a98aef + has_more: false + last_id: msg_3920f72c-5172-42d1-8f5b-7eafd490411e + object: list headers: ETag: description: response header - identifier for a specific version of a resource. From d2af8933f8b057b308c88b0e59add1806892c53a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 17 Feb 2026 09:46:56 +0000 Subject: [PATCH 2/5] sync: patch spec with 2026-02-17 spec --- .../fabricv4/oas3.patched/openapi.yaml | 2192 +++++++++++++++-- 1 file changed, 1976 insertions(+), 216 deletions(-) diff --git a/spec/services/fabricv4/oas3.patched/openapi.yaml b/spec/services/fabricv4/oas3.patched/openapi.yaml index b243c140..1a5e3c71 100644 --- a/spec/services/fabricv4/oas3.patched/openapi.yaml +++ b/spec/services/fabricv4/oas3.patched/openapi.yaml @@ -9,7 +9,7 @@ info: license: name: Equinix Inc url: https://developer.equinix.com/agreement - version: "4.26" + version: "4.27" externalDocs: description: Find more information on Equinix Docs Portal url: https://docs.equinix.com/fabric/ @@ -23,6 +23,8 @@ tags: description: Cloud Events - name: Cloud Routers description: Cloud Routers + - name: Company Profiles + description: Company Profiles Beta - name: Connections description: Connections - name: Metrics @@ -295,11 +297,40 @@ paths: $ref: "#/components/schemas/AssetId" - name: name in: query - description: | - Name of the metric types:
- equinix.fabric.connection.bandwidth_rx.usage
- equinix.fabric.connection.bandwidth_tx.usage
- equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count
- equinix.fabric.port.bandwidth_rx.usage
- equinix.fabric.port.bandwidth_tx.usage
- equinix.fabric.port.packets_dropped_rx.count
- equinix.fabric.port.packets_dropped_tx.count
- equinix.fabric.port.packets_erred_rx.count
- equinix.fabric.port.packets_erred_tx.count
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.latency
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.jitter_avg
+ description: "Name of the metric types: \n- `equinix.fabric.connection.bandwidth_rx.usage`\n- `equinix.fabric.connection.bandwidth_tx.usage`\n- `equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count`\n- `equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count`\n- `equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count`\n- `equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count`\n- `equinix.fabric.port.bandwidth_rx.usage`\n- `equinix.fabric.port.bandwidth_tx.usage`\n- `equinix.fabric.port.packets_dropped_rx.count`\n- `equinix.fabric.port.packets_dropped_tx.count`\n- `equinix.fabric.port.packets_erred_rx.count`\n- `equinix.fabric.port.packets_erred_tx.count`\n- `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.latency`\n- `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.jitter_avg`\n" required: true schema: - $ref: "#/components/schemas/MetricTypeQueryParams" + pattern: ^equinix\.fabric\.(connection|port|metro)\..+ + type: string + examples: + connectionRxUsageExample: + value: equinix.fabric.connection.bandwidth_rx.usage + connectionTxUsageExample: + value: equinix.fabric.connection.bandwidth_tx.usage + connectionRxPacketAsideDroppedExample: + value: equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count + connectionTxPacketAsideDroppedExample: + value: equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count + connectionRxPacketZsideDroppedExample: + value: equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count + connectionTxPacketZsideDroppedExample: + value: equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count + portRxUsageExample: + value: equinix.fabric.port.bandwidth_rx.usage + portTxUsageExample: + value: equinix.fabric.port.bandwidth_tx.usage + portRxPacketDroppedExample: + value: equinix.fabric.port.packets_dropped_rx.count + portTxPacketDroppedExample: + value: equinix.fabric.port.packets_dropped_tx.count + portRxPacketErredExample: + value: equinix.fabric.port.packets_erred_rx.count + portTxPacketErredExample: + value: equinix.fabric.port.packets_erred_tx.count + metroLatencyExample: + value: equinix.fabric.metro.sv_dc.latency + metroJitterExample: + value: equinix.fabric.metro.sv_dc.jitter_avg - name: fromDateTime in: query description: Start date and time @@ -370,6 +401,90 @@ paths: examples: example: $ref: "#/components/examples/500" + /fabric/v4/metrics: + get: + tags: + - Metrics + summary: Get Metrics by Name + description: This API provides capability to retrieve Metrics by specific wildcard metric types + operationId: getMetricByName + parameters: + - name: name + in: query + description: "Name of the metric types with wildcard: \n- `equinix.fabric.metro.*.latency`\n- `equinix.fabric.metro.*.jitter_avg`\n" + required: true + schema: + pattern: ^equinix\.fabric\.metro\.\*\..+ + type: string + examples: + metroLatencyExample: + value: equinix.fabric.metro.*.latency + metroJitterExample: + value: equinix.fabric.metro.*.jitter_avg + - name: value + in: query + description: value + required: true + schema: + $ref: "#/components/schemas/Value" + - name: offset + in: query + description: offset + required: false + schema: + $ref: "#/components/schemas/Offset" + - name: limit + in: query + description: limit + required: false + schema: + $ref: "#/components/schemas/Limit_1" + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/GetMetricsByNameResponse" + examples: + Example: + $ref: "#/components/examples/get-metrics-by-name" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/401" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/403" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/404" + "500": + description: Internal server error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + examples: + example: + $ref: "#/components/examples/500" /fabric/v4/metrics/search: post: tags: @@ -537,7 +652,7 @@ paths: Vd2Colo: $ref: "#/components/examples/Vd2Colo" Vd2Colo-vlanTag: - $ref: "#/components/examples/Vd2ColoVlanTag" + $ref: "#/components/examples/Vd2Colo-VlanTag" Vd2Colo-vlanCTag: $ref: "#/components/examples/Vd2Colo-VlanCTag" Vd2ColoUntagged: @@ -564,6 +679,8 @@ paths: $ref: "#/components/examples/Fcr2Sp-Aws" Fcr2Sp-Oracle: $ref: "#/components/examples/Fcr2Sp-Oracle" + Fcr2Sp-Alibaba: + $ref: "#/components/examples/Fcr2Sp-Alibaba" Fcr2Vd: $ref: "#/components/examples/Fcr2Vd" Fcr2Vd-Redundant-Secondary: @@ -679,7 +796,7 @@ paths: Vd2Sp: $ref: "#/components/examples/Vd2Sp-Response" Vd2Token: - $ref: "#/components/examples/Vd2ServiceToken_Response" + $ref: "#/components/examples/Vd2ServiceToken-Response" Vd2Colo: $ref: "#/components/examples/Vd2Colo-Response" Vd2Colo-tag: @@ -2622,6 +2739,8 @@ paths: $ref: "#/components/examples/VirtualPortProduct" virtualPortProductUPP: $ref: "#/components/examples/VirtualPortProductUPP" + virtualPortProductIX: + $ref: "#/components/examples/VirtualPortProductIX" precisionTimeProductNtpStandardPackageCode: $ref: "#/components/examples/PrecisionTimeNtpStandardPackage" precisionTimeProductNtpEnterprisePackageCode: @@ -2649,6 +2768,8 @@ paths: $ref: "#/components/examples/VirtualPort" virtualPortUPP: $ref: "#/components/examples/VirtualPortUPP" + virtualPortIX: + $ref: "#/components/examples/VirtualPortIX" precisionTimeService: $ref: "#/components/examples/PrecisionTimeService" "400": @@ -2882,7 +3003,7 @@ paths: tags: - Service Profiles summary: Create Profile - description: Create Service Profile creates Equinix Fabric™ Service Profile. + description: Create Service Profile creates Equinix Fabric? Service Profile. operationId: createServiceProfile parameters: [] requestBody: @@ -3276,7 +3397,7 @@ paths: content: application/json-patch+json: schema: - $ref: "#/components/schemas/JsonPatch" + $ref: "#/components/schemas/JsonPatch_1" examples: ServiceProfilePatchRequest: $ref: "#/components/examples/ServiceProfilePatchRequest" @@ -3668,7 +3789,7 @@ paths: tags: - Service Tokens summary: Create Service Token - description: Create Service Tokens generates Equinix Fabric™ service tokens. These tokens authorize users to access protected resources and services. + description: Create Service Tokens generates Equinix Fabric? service tokens. These tokens authorize users to access protected resources and services. operationId: createServiceToken parameters: - name: dryRun @@ -4087,7 +4208,7 @@ paths: tags: - Ports summary: Create Port - description: Creates Equinix Fabric™ Port. + description: Creates Equinix Fabric? Port. operationId: createPort parameters: - name: dryRun @@ -8461,6 +8582,10 @@ paths: $ref: "#/components/examples/UpdateName" UpdateNotificationEmail: $ref: "#/components/examples/UpdateNotifications" + UpdateTermLength: + $ref: "#/components/examples/UpdateTermLength" + UpdatePackageAndTermLength: + $ref: "#/components/examples/UpdatePackageAndTermLength" required: true responses: "200": @@ -12739,6 +12864,752 @@ paths: examples: example: $ref: "#/components/examples/500" + /fabric/v4/companyProfiles: + post: + tags: + - Company Profiles + summary: Create Company Profile + description: Create a new company profile Beta + operationId: createCompanyProfile + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CompanyProfileRequest" + required: true + responses: + "201": + description: Company profile created successfully + content: + application/json: + schema: + $ref: "#/components/schemas/CompanyProfileResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/companyProfiles/{companyProfileId}": + get: + tags: + - Company Profiles + summary: Get Company Profile by UUID + description: Get company profile details by UUID Beta + operationId: getCompanyProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/CompanyProfileResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + delete: + tags: + - Company Profiles + summary: Delete Company Profile + description: Delete company profile by UUID Beta + operationId: deleteCompanyProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/CompanyProfileResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + /fabric/v4/companyProfiles/search: + post: + tags: + - Company Profiles + summary: Search Company Profiles + description: Search company profiles based on filter criteria Beta + operationId: searchCompanyProfile + parameters: + - name: viewPoint + in: query + description: Viewpoint for the request, either 'aSide' or 'zSide' + required: false + schema: + type: string + default: aSide + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/CompanyProfileSearchRequest" + required: true + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/CompanyProfileSearchResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/companyProfiles/{companyProfileId}/serviceProfiles": + get: + tags: + - Company Profiles + summary: Get Service Profiles + description: Get all service profiles attached to a company profile Beta + operationId: getCompanyProfileServiceProfiles + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/ServiceProfileListResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/companyProfiles/{companyProfileId}/serviceProfiles/{serviceProfileId}": + put: + tags: + - Company Profiles + summary: Attach Service Profile + description: Attach a service profile to a company profile Beta + operationId: attachServiceProfileToProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AttachServiceProfileResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + delete: + tags: + - Company Profiles + summary: Detach Service Profile + description: Detach a service profile from a company profile Beta + operationId: detachServiceProfileFromProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + - name: serviceProfileId + in: path + description: Service Profile UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AttachServiceProfileResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/companyProfiles/{companyProfileId}/tags": + get: + tags: + - Company Profiles + summary: Get Tags + description: Get all tags attached to a company profile Beta + operationId: getTags + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/TagListResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/companyProfiles/{companyProfileId}/tags/{tagId}": + put: + tags: + - Company Profiles + summary: Attach Tag + description: Attach a tag to a company profile Beta + operationId: attachTagToProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + - name: tagId + in: path + description: Tag UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AttachTagResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + delete: + tags: + - Company Profiles + summary: Detach Tag + description: Detach a tag from a company profile Beta + operationId: detachTagFromProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + - name: tagId + in: path + description: Tag UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AttachTagResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/companyProfiles/{companyProfileId}/privateServices": + get: + tags: + - Company Profiles + summary: Get Private Services + description: Get all private services attached to a company profile Beta + operationId: getCompanyProfilePrivateServices + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/PrivateServiceListResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/companyProfiles/{companyProfileId}/privateServices/{privateServiceId}": + put: + tags: + - Company Profiles + summary: Attach Private Service + description: Attach a private service to a company profile Beta + operationId: attachPrivateServiceToProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + - name: privateServiceId + in: path + description: Private Service UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AttachPrivateServiceResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + delete: + tags: + - Company Profiles + summary: Detach Private Service + description: Detach a private service from a company profile Beta + operationId: detachPrivateServiceFromProfile + parameters: + - name: companyProfileId + in: path + description: Company Profile UUID + required: true + schema: + type: string + - name: privateServiceId + in: path + description: Private Service UUID + required: true + schema: + type: string + responses: + "200": + description: Successful operation + content: + application/json: + schema: + $ref: "#/components/schemas/AttachPrivateServiceResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "/fabric/v4/logos/{uuid}": + get: + tags: + - Logos + summary: Get Logo + description: Get Logo by UUID + operationId: getLogoByUuid + parameters: + - name: uuid + in: path + description: UUID of the Logo + required: true + schema: + type: string + format: uuid + responses: + "200": + description: Successful Get operation + content: + multipart/mixed: + schema: + type: string + format: binary + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + delete: + tags: + - Logos + summary: Delete Logo + description: Delete Logo by UUID + operationId: deleteLogoByUuid + parameters: + - name: uuid + in: path + description: UUID of the Logo + required: true + schema: + type: string + format: uuid + responses: + "202": + description: Successful Delete operation + content: + application/json; charset=UTF-8: + schema: + $ref: "#/components/schemas/LogoResponse" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + /fabric/v4/tags: + get: + tags: + - Tags + summary: List Tags + description: Get all Tags + operationId: listTags + parameters: + - name: type + in: query + description: Filter by tag type + required: false + schema: + type: array + items: + type: string + - name: offset + in: query + description: Offset for pagination + required: false + schema: + type: integer + format: int32 + default: 0 + - name: limit + in: query + description: Limit for pagination + required: false + schema: + maximum: 100 + type: integer + format: int32 + default: 20 + responses: + "200": + description: Successful List operation + content: + application/json: + schema: + $ref: "#/components/schemas/TagListResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + post: + tags: + - Tags + summary: Create Tag + description: Create Tag for Equinix Fabric?. + operationId: createTag + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/TagRequest" + required: true + responses: + "201": + description: Successful Create operation + content: + application/json: + schema: + $ref: "#/components/schemas/TagResponse" + "400": + description: Bad request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" + "500": + description: Internal Server Error + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorList" components: schemas: CloudEventAssetType: @@ -12747,6 +13618,7 @@ components: - ports - connections - routers + - metros - serviceTokens - networks - projects @@ -12914,10 +13786,6 @@ components: - ports - connections - metros - MetricTypeQueryParams: - type: string - description: Name of the metric types - example: equinix.fabric.port.bandwidth_rx.usage Limit_1: type: integer description: Pagination limit @@ -12933,6 +13801,20 @@ components: description: Data returned from the API call. items: $ref: "#/components/schemas/Metric" + Value: + type: string + description: Which value to retrieve + example: last + GetMetricsByNameResponse: + type: object + properties: + pagination: + $ref: "#/components/schemas/Pagination" + data: + type: array + description: Data returned from the API call. + items: + $ref: "#/components/schemas/Metric" MetricsSearchRequest: required: - filter @@ -14279,7 +15161,7 @@ components: type: string description: Service Profile UUID format: uuid - JsonPatch: + JsonPatch_1: type: array items: $ref: "#/components/schemas/JsonPatchOperation" @@ -14478,7 +15360,7 @@ components: description: List of Fabric Metros. items: $ref: "#/components/schemas/Metro" - description: GET Metros retrieves all Equinix® Fabric™ metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. + description: GET Metros retrieves all Equinix? Fabric? metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. Metro: type: object properties: @@ -14523,7 +15405,7 @@ components: description: List of supported geographic boundaries of a Fabric Metro. items: $ref: "#/components/schemas/GeoScopeType" - description: GET Metros retrieves all Equinix® Fabric™ metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. + description: GET Metros retrieves all Equinix? Fabric? metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. GeoCoordinates: type: object properties: @@ -14567,6 +15449,10 @@ components: - CANADA - CONUS - JAPAN + - UK + - AUSTRALIA + - BRAZIL + - SWITZERLAND MetroErrorList: type: array items: @@ -18034,6 +18920,8 @@ components: $ref: "#/components/schemas/Notification" webUrl: type: string + contactUrl: + type: string CompanyProfileResponse: type: object properties: @@ -18057,6 +18945,10 @@ components: type: string state: $ref: "#/components/schemas/CompanyProfileState" + metros: + type: array + items: + $ref: "#/components/schemas/CompanyMetro" logo: $ref: "#/components/schemas/CompanyLogo" tags: @@ -18077,6 +18969,10 @@ components: $ref: "#/components/schemas/Notification" webUrl: type: string + contactUrl: + type: string + change: + $ref: "#/components/schemas/CompanyProfileChange" changeLog: $ref: "#/components/schemas/Changelog" PatchOperation: @@ -18092,6 +18988,8 @@ components: description: The operation to perform enum: - replace + - add + - remove path: minLength: 1 pattern: ^/ @@ -18101,13 +18999,6 @@ components: value: type: object description: The value to update the field to - CompanyProfileUpdateResponse: - type: object - properties: - companyProfile: - $ref: "#/components/schemas/CompanyProfileResponse" - change: - $ref: "#/components/schemas/CompanyProfileChange" CompanyProfileSearchRequest: type: object properties: @@ -18115,6 +19006,8 @@ components: $ref: "#/components/schemas/CompanyProfileSearchFilter" pagination: $ref: "#/components/schemas/Pagination" + sort: + $ref: "#/components/schemas/Sort" CompanyProfileSearchFilter: type: object properties: @@ -18141,6 +19034,14 @@ components: OperatorEnum: type: string description: Comparison operators for filtering + Sort: + type: object + properties: + property: + type: string + description: Property to sort by + direction: + $ref: "#/components/schemas/CompanyProfileSortDirection" CompanyProfileSearchResponse: required: - data @@ -18220,6 +19121,9 @@ components: displayName: type: string example: Environment + weight: + type: integer + example: 10000 description: Equinix Fabric Tag Response Object AttachTagResponse: required: @@ -18283,6 +19187,9 @@ components: attachmentStatus: type: string description: Status of the attachment operation + extensionType: + type: string + description: Extension type of logo LogoRequest: required: - description @@ -18332,6 +19239,9 @@ components: status: type: string example: CREATED + extensionType: + type: string + example: png changelog: $ref: "#/components/schemas/Changelog" description: Equinix Fabric Logo Response Object @@ -18833,7 +19743,6 @@ components: ConnectionRouteTableEntry: required: - changeLog - - state - type type: object properties: @@ -19130,6 +20039,37 @@ components: value: $ref: "#/components/schemas/RoutingProtocolBase" description: Routing Protocol change operation data + PlatformChangelog: + type: object + properties: + createdBy: + type: string + description: Created by User Key + example: johnsmith + createdDateTime: + type: string + description: Created by Date and Time + format: date-time + example: 2020-11-06T07:00:00Z + updatedBy: + type: string + description: Updated by User Key + example: johnsmith + updatedDateTime: + type: string + description: Updated by Date and Time + format: date-time + example: 2020-11-06T07:00:00Z + deletedBy: + type: string + description: Deleted by User Key + example: johnsmith + deletedDateTime: + type: string + description: Deleted by Date and Time + format: date-time + example: 2020-11-06T07:00:00Z + description: Change log SortDirection: type: string description: Sorting direction @@ -19381,7 +20321,7 @@ components: type: object properties: purchaseOrder: - $ref: "#/components/schemas/PortOrder_purchaseOrder" + $ref: "#/components/schemas/PortOrderPurchaseOrder" orderId: type: string description: Order Identification @@ -19397,7 +20337,7 @@ components: format: uuid deprecated: true signature: - $ref: "#/components/schemas/PortOrder_signature" + $ref: "#/components/schemas/PortOrderSignature" PortOperation: type: object properties: @@ -20343,9 +21283,7 @@ components: maximum: 9000 minimum: 16 type: integer - description: | - Ping Command DataBytes. - This field is only applicable for commands of type `PING_COMMAND`. + description: "Ping Command DataBytes. \nThis field is only applicable for commands of type `PING_COMMAND`.\n" example: 100 default: 64 probes: @@ -20394,9 +21332,7 @@ components: maximum: 9000 minimum: 16 type: integer - description: | - Ping Command DataBytes. - This field is only applicable for commands of type `PING_COMMAND`. + description: "Ping Command DataBytes. \nThis field is only applicable for commands of type `PING_COMMAND`.\n" example: 100 default: 64 interval: @@ -21086,6 +22022,13 @@ components: type: object CompanyProfileState: type: object + CompanyMetro: + type: object + properties: + href: + type: string + metroCode: + type: string CompanyLogo: type: object properties: @@ -21093,6 +22036,8 @@ components: type: string uuid: type: string + extensionType: + type: string CompanyServiceProfile: type: object properties: @@ -21110,6 +22055,8 @@ components: CompanyProfileChange: type: object properties: + uuid: + type: string type: type: string status: @@ -21117,8 +22064,18 @@ components: createdDateTime: type: string format: date-time + updatedDateTime: + type: string + format: date-time data: $ref: "#/components/schemas/CompanyProfileChangeItem" + CompanyProfileSortDirection: + type: string + description: Sorting direction + default: ASC + enum: + - DESC + - ASC ConnectionPriority: type: string description: Connection priority in redundancy group @@ -21270,6 +22227,7 @@ components: - DRAFT - CANCELLED - PENDING_INTERFACE_CONFIGURATION + - PENDING_ACTIVATION RouteTableEntryType: type: string description: Route table entry type @@ -21413,6 +22371,8 @@ components: $ref: "#/components/schemas/VirtualPortConfiguration" package: $ref: "#/components/schemas/VirtualPortPackage" + serviceCode: + $ref: "#/components/schemas/VirtualPortServiceCode" description: Preferences and settings for a virtual port connected to an internet service provider (ISP) or other Equinix platform entity. TimeServicePrice: type: object @@ -21437,6 +22397,66 @@ components: items: $ref: "#/components/schemas/AccessPointSelector" description: Connection link protocol,virtual device or network configuration + PortOrderPurchaseOrder: + type: object + properties: + number: + type: string + description: purchase order number + amount: + type: string + description: purchase order amount + startDate: + type: string + format: date-time + endDate: + type: string + format: date-time + attachmentId: + type: string + format: uuid + selectionType: + type: string + deprecated: true + enum: + - EXEMPTION + - EXISTING + - NEW + - BLANKET + type: + type: string + enum: + - EXEMPTION + - EXISTING + - NEW + - BLANKET + description: purchase order + PortOrderSignature: + type: object + properties: + signatory: + type: string + description: Port signature Type + enum: + - DELEGATE + - SELF + - ACCOUNT_SUPPORT + delegate: + $ref: "#/components/schemas/PortOrderSignatureDelegate" + description: Port signature details + PortOrderSignatureDelegate: + type: object + properties: + firstName: + type: string + description: first name of delegate + lastName: + type: string + description: last Name of delegate + email: + type: string + description: email of delegate + description: order delegate details PortDeviceRedundancy: type: object properties: @@ -22011,6 +23031,9 @@ components: code: $ref: "#/components/schemas/VirtualPortPackageCode" description: Virtual Port Package + VirtualPortServiceCode: + type: string + description: Port service code. TimeServicePriceConnection: type: object properties: @@ -22366,6 +23389,36 @@ components: items: $ref: "#/components/schemas/ValidateRequest_filter_and" description: Filters + Response_incomplete_details: + type: object + properties: + reason: + type: string + description: The reason why the response is incomplete. + enum: + - max_output_tokens + - content_filter + description: | + Details about why the response is incomplete. + nullable: true + ResponseUsage_input_tokens_details: + required: + - cached_tokens + type: object + properties: + cached_tokens: + type: integer + description: "The number of tokens that were retrieved from the cache. \n[More on prompt caching](https://platform.openai.com/docs/guides/prompt-caching).\n" + description: A detailed breakdown of the input tokens. + ResponseUsage_output_tokens_details: + required: + - reasoning_tokens + type: object + properties: + reasoning_tokens: + type: integer + description: The number of reasoning tokens. + description: A detailed breakdown of the output tokens. Metric_resource: type: object properties: @@ -22378,6 +23431,9 @@ components: type: type: string description: Metric resource type + state: + type: string + description: Metric resource state name: type: string description: Metric resource name @@ -22411,66 +23467,6 @@ components: href: type: string example: https://api.equinix.com/fabric/v4/connections/3066ab1d-af87-49d7-8a14-c9bdb57ac809 - PortOrder_purchaseOrder: - type: object - properties: - number: - type: string - description: purchase order number - amount: - type: string - description: purchase order amount - startDate: - type: string - format: datetime - endDate: - type: string - format: datetime - attachmentId: - type: string - format: uuid - selectionType: - type: string - deprecated: true - enum: - - EXEMPTION - - EXISTING - - NEW - - BLANKET - type: - type: string - enum: - - EXEMPTION - - EXISTING - - NEW - - BLANKET - description: purchase order - PortOrder_signature_delegate: - type: object - properties: - firstName: - type: string - description: name of delegate - lastName: - type: string - description: last Name of delegate - email: - type: string - description: email of delegate - description: delegate oder details - PortOrder_signature: - type: object - properties: - signatory: - type: string - description: Port signature Type - enum: - - DELEGATE - - SELF - - ACCOUNT_SUPPORT - delegate: - $ref: "#/components/schemas/PortOrder_signature_delegate" - description: Port signature Type RouteTableEntry_connection: type: object properties: @@ -22883,6 +23879,9 @@ components: resource: href: https://api.equinix.com/fabric/v4/ports/0689734d-25c6-40d1-a9ff-3e4edea07a72 uuid: 0689734d-25c6-40d1-a9ff-3e4edea07a72 + type: XF_PORT + state: PROVISIONED + name: my-port-name summary: mean: 102.15384615384616 max: 107 @@ -22950,6 +23949,46 @@ components: value: 251 - endDateTime: 2025-05-14T14:57:46.000Z value: 243 + get-metrics-by-name: + value: + pagination: + offset: 0 + limit: 5000 + total: 3 + data: + - type: GAUGE + name: equinix.fabric.metro.at_am.latency + unit: ms + resource: + href: https://uatapi.equinix.com/fabric/v4/metros/AT + type: XF_METRO + code: AT + description: Atlanta to Amsterdam intermetro latency, average in milliseconds + datapoints: + - endDateTime: 2026-02-03T23:05:04Z + value: 94.8 + - type: GAUGE + name: equinix.fabric.metro.at_ba.latency + unit: ms + resource: + href: https://uatapi.equinix.com/fabric/v4/metros/AT + type: XF_METRO + code: AT + description: Atlanta to Barcelona intermetro latency, average in milliseconds + datapoints: + - endDateTime: 2026-02-03T23:05:04Z + value: 111 + - type: GAUGE + name: equinix.fabric.metro.at_bg.latency + unit: ms + resource: + href: https://uatapi.equinix.com/fabric/v4/metros/AT + type: XF_METRO + code: AT + description: Atlanta to Bogota intermetro latency, average in milliseconds + datapoints: + - endDateTime: 2026-02-03T23:05:04Z + value: 69.8 search-metrics: value: filter: @@ -23818,7 +24857,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: accessPoint: type: NETWORK @@ -24068,7 +25107,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: accessPoint: type: SP @@ -24100,7 +25139,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: accessPoint: type: SP @@ -24129,7 +25168,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: accessPoint: type: COLO @@ -24145,7 +25184,7 @@ components: emails: - test@equinix.com - test1@equinix.com - Vd2ColoVlanTag: + Vd2Colo-VlanTag: value: type: EVPL_VC bandwidth: 1000 @@ -24158,7 +25197,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: accessPoint: type: COLO @@ -24188,7 +25227,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: accessPoint: type: COLO @@ -24218,7 +25257,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: accessPoint: type: COLO @@ -24250,7 +25289,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 zSide: serviceToken: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 @@ -24523,6 +25562,35 @@ components: - test@equinix.com project: projectId: "567" + Fcr2Sp-Alibaba: + value: + type: IP_VC + name: My-FCR-AlibabaConnection + bandwidth: 50 + redundancy: + priority: PRIMARY + aSide: + accessPoint: + type: CLOUD_ROUTER + router: + uuid: 66a21614-1c4a-11ec-9621-0242ac130002 + zSide: + accessPoint: + type: SP + profile: + type: L2_PROFILE + uuid: 20d32a80-0d61-4333-bc03-707b591ae2f5 + location: + metroCode: SV + authenticationKey: xx-xx-xx + sellerRegion: us-west-1 + project: + projectId: "567" + notifications: + - type: ALL + emails: + - test@equinix.com + - test1@equinix.com Fcr2Vd: value: type: IP_VC @@ -24543,7 +25611,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 project: projectId: "567" notifications: @@ -24572,7 +25640,7 @@ components: uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 interface: type: NETWORK - id: 45645 + id: 3 project: projectId: "567" notifications: @@ -25906,7 +26974,7 @@ components: providerStatus: NOT_AVAILABLE changeLog: createdDateTime: 2022-10-05T19:37:12.748Z - Vd2ServiceToken_Response: + Vd2ServiceToken-Response: value: href: https://api.equinix.com/fabric/v4/connections/ebc37e2e-c36b-4e93-86a4-fc4efce7abc8 type: EVPL_VC @@ -26008,6 +27076,9 @@ components: virtualDevice: type: EDGE uuid: 20d32a80-0d61-4333-bc03-707b591ae2f4 + linkProtocol: + type: DOT1Q + vlanTag: 15229 interface: uuid: a00cef6f-8e35-4794-9ff9-665e084e4e6d type: NETWORK @@ -27535,8 +28606,8 @@ components: role: LEAF Vd2IAProfile-Response: value: - type: IA_VC href: https://uatapi.npclouda.equinix.com/fabric/v4/connections/ce42ca81-538d-4f38-b020-d45fb48d20c7 + type: IA_VC uuid: ce42ca81-538d-4f38-b020-d45fb48d20c7 name: vd2eia-connection-1 operation: @@ -27583,8 +28654,8 @@ components: uuid: 32d81829-0bf8-45d5-84e2-7289a553dbb6 Vd2NETWORK-Response: value: - type: EVPLAN_VC href: https://api.equinix.com/fabric/v4/connections/e1f165fd-29bb-4c15-8ec7-56242677e6fc + type: EVPLAN_VC uuid: e1f165fd-29bb-4c15-8ec7-56242677e6fc name: vd2network-connection operation: @@ -27634,8 +28705,8 @@ components: location: null Vd2AwsSP-Response: value: - type: EVPL_VC href: https://api.equinix.com/fabric/v4/connections/f0a954e7-bdc5-4727-90cc-869f990e289f + type: EVPL_VC uuid: f0a954e7-bdc5-4727-90cc-869f990e289f name: vd2aws-connection-1 operation: @@ -27685,8 +28756,8 @@ components: authenticationKey: xxxx-xxx-xxx Vd2AzureSP-Response: value: - type: EVPL_VC href: https://api.equinix.com/fabric/v4/connections/3da14bba-d81c-4497-93c3-3f4a3cb0bc40 + type: EVPL_VC uuid: 3da14bba-d81c-4497-93c3-3f4a3cb0bc40 name: vd2azure-connection-1 operation: @@ -27735,8 +28806,8 @@ components: authenticationKey: xxxx-xxx-xxxx Vd2OracleSP-Response: value: - type: EVPL_VC href: https://api.equinix.com/fabric/v4/connections/53c89f1a-0be7-44a1-9c03-28059632a72d + type: EVPL_VC uuid: 53c89f1a-0be7-44a1-9c03-28059632a72d name: vd2oracle-connection-1 operation: @@ -27786,8 +28857,8 @@ components: authenticationKey: ocid1.virtualcircuit.oc1 Vd2AlibabaSP-Response: value: - type: EVPL_VC href: https://api.equinix.com/fabric/v4/connections/66ed4e8a-584c-4027-9788-748fecb5ce35 + type: EVPL_VC uuid: 66ed4e8a-584c-4027-9788-748fecb5ce35 name: vd2alibaba-connection-1 operation: @@ -27836,8 +28907,8 @@ components: authenticationKey: xxxx-xxx-xxxx Vd2GoogleSP-Response: value: - type: EVPL_VC href: https://api.equinix.com/fabric/v4/connections/50ae793c-b466-4d71-9724-c32b5e402bbe + type: EVPL_VC uuid: 50ae793c-b466-4d71-9724-c32b5e402bbe name: vd2googleSp-connection-1 operation: @@ -30343,6 +31414,238 @@ components: bfd: enabled: true interval: "100" + AllPeeringProtocolResponse: + value: + pagination: + offset: 0 + limit: 10 + total: 1 + data: + - href: https://api.equinix.com/fabric/v4/connections/e8ba52fe-faae-43b5-b0b1-6904d37ee011/peeringProtocols/a8ba52de-faae-43b5-b0b1-6904d37ee011 + uuid: a8ba52de-faae-43b5-b0b1-6904d37ee011 + type: BGP + name: ix_bgp + description: ix_bgp + customerAsn: 5555 + vlan: 99 + routeServerAsn: 24115 + state: PROVISIONING + macAddress: 00:11:22:33:44:55 + bgpIpv4: + customerPeerIp: 12.1.1.1 + domainName: gw01.sin.example.net + primaryRouteServerIp: 10.1.1.1 + secondaryRouteServerIp: 10.1.1.2 + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5Key12345 + prefixes: + - 203.0.113.0/24 + maxPrefixLimit: 300 + prependSelfEnabled: true + bgpIpv6: + customerPeerIp: 2001:db8:c59b::22 + domainName: gw01.sin.example.net + primaryRouteServerIp: 2001:db8:c59b::33 + secondaryRouteServerIp: 2001:db8:c59b::322 + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5Key123456 + prefixes: + - 2001:DB8:123::/48 + maxPrefixLimit: 300 + prependSelfEnabled: true + routeCollector: + asn: 1238 + ipV4: 10.255.255.254 + ipV6: 2001:db8:85a3::8a2e:370:7334 + changelog: + createdBy: "12345" + createdDateTime: 2025-08-30T07:21:39Z + Peering_400: + value: + - errorCode: EQ-3067103 + errorMessage: Peering Protocol does not exist or does not belong to the user. Please check ConnectionID and PeeringProtocolId + correlationId: cebc3d33-9037-4a2b-a7af-0ad65602cdec + details: Peering Protocol Service does not exist or does not belong to the user. Please check ConnectionID and PeeringProtocolId + Peering_401: + value: + - errorCode: EQ-3067106 + errorMessage: User not found in request or invalid. + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + Peering_403: + value: + - errorCode: EQ-3067102 + errorMessage: Operation not allowed + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Operation not allowed for current user + Peering_404: + value: + - errorCode: EQ-3067101 + errorMessage: Peering Protocol not found; it may not exist or could have already been deleted. + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Peering Protocol Service not found or already deleted + Peering_500: + value: + - errorCode: EQ-3067104 + errorMessage: Internal Server Error + correlationId: c82ff3bc-de07-47e5-b3ec-53a009d01515 + details: Internal Server Error + PeeringProtocolCreateRequest: + value: + type: BGP + name: ix_bgp + description: ix_bgp + customerAsn: 5555 + macAddress: 00:11:22:33:44:55 + bgpIpv4: + domainName: gw01.sin.example.net + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5KEY12345 + prefixes: + - 203.0.113.0/24 + bgpIpv6: + domainName: gw01.sin.example.net + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5KEY123456 + prefixes: + - 2001:DB8:123::/48 + PeeringProtocolResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/e8ba52fe-faae-43b5-b0b1-6904d37ee011/peeringProtocols/a8ba52de-faae-43b5-b0b1-6904d37ee011 + uuid: a8ba52de-faae-43b5-b0b1-6904d37ee011 + type: BGP + name: ix_bgp + description: ix_bgp + customerAsn: 5555 + vlan: 99 + routeServerAsn: 24115 + state: PROVISIONING + macAddress: 00:11:22:33:44:55 + bgpIpv4: + customerPeerIp: 12.1.1.1 + domainName: gw01.sin.example.net + primaryRouteServerIp: 10.1.1.1 + secondaryRouteServerIp: 10.1.1.2 + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5Key12345 + prefixes: + - 203.0.113.0/24 + maxPrefixLimit: 300 + prependSelfEnabled: true + bgpIpv6: + customerPeerIp: 2001:db8:c59b::22 + domainName: gw01.sin.example.net + primaryRouteServerIp: 2001:db8:c59b::33 + secondaryRouteServerIp: 2001:db8:c59b::322 + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5Key123456 + prefixes: + - 2001:DB8:123::/48 + maxPrefixLimit: 300 + prependSelfEnabled: true + routeCollector: + asn: 1238 + ipV4: 10.255.255.254 + ipV6: 2001:db8:85a3::8a2e:370:7334 + changelog: + createdBy: "12345" + createdDateTime: 2025-08-30T07:21:39Z + PeeringProtocolDeleteResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/e8ba52fe-faae-43b5-b0b1-6904d37ee011/peeringProtocols/a8ba52de-faae-43b5-b0b1-6904d37ee011 + uuid: a8ba52de-faae-43b5-b0b1-6904d37ee011 + type: BGP + name: ix_bgp + description: ix_bgp + customerAsn: 5555 + vlan: 99 + routeServerAsn: 24115 + state: DEPROVISIONING + macAddress: 00:11:22:33:44:55 + bgpIpv4: + customerPeerIp: 12.1.1.1 + domainName: gw01.sin.example.net + primaryRouteServerIp: 10.1.1.1 + secondaryRouteServerIp: 10.1.1.2 + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5KEY12345 + prefixes: + - 203.0.113.0/24 + maxPrefixLimit: 300 + prependSelfEnabled: true + bgpIpv6: + customerPeerIp: 2001:db8:c59b::22 + domainName: gw01.sin.example.net + primaryRouteServerIp: 2001:db8:c59b::33 + secondaryRouteServerIp: 2001:db8:c59b::322 + asSet: AS-EC-SV + mlpeEnabled: true + rcMd5AuthKey: TESTMD5KEY123456 + prefixes: + - 2001:DB8:123::/48 + maxPrefixLimit: 300 + prependSelfEnabled: true + routeCollector: + asn: 1238 + ipV4: 10.255.255.254 + ipV6: 2001:db8:85a3::8a2e:370:7334 + changelog: + createdBy: "12345" + createdDateTime: 2025-08-30T07:21:39Z + PeeringProtocolPatchRequest: + value: + - op: replace + path: /macAddress + value: 00:1A:2B:3C:4D:5E + PeeringProtocolPatchResponse: + value: + href: https://api.equinix.com/fabric/v4/connections/e8ba52fe-faae-43b5-b0b1-6904d37ee011/peeringProtocols/a8ba52de-faae-43b5-b0b1-6904d37ee011 + uuid: a8ba52de-faae-43b5-b0b1-6904d37ee011 + type: BGP + name: ix_bgp + description: ix_bgp + customerAsn: 5555 + vlan: 99 + routeServerAsn: 24115 + state: REPROVISIONING + macAddress: 00:1A:2B:3C:4D:5E + bgpIpv4: + customerPeerIp: 12.1.1.1 + domainName: gw01.sin.example.net + primaryRouteServerIp: 10.1.1.1 + secondaryRouteServerIp: 10.1.1.2 + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5Key12345 + prefixes: + - 203.0.113.0/24 + maxPrefixLimit: 300 + prependSelfEnabled: true + bgpIpv6: + customerPeerIp: 2001:db8:c59b::22 + domainName: gw01.sin.example.net + primaryRouteServerIp: 2001:db8:c59b::33 + secondaryRouteServerIp: 2001:db8:c59b::322 + asSet: AS-EC-SV + mlpeEnabled: true + md5AuthKey: TESTMD5Key123456 + prefixes: + - 2001:DB8:123::/48 + maxPrefixLimit: 300 + prependSelfEnabled: true + routeCollector: + asn: 1238 + ipV4: 10.255.255.254 + ipV6: 2001:db8:85a3::8a2e:370:7334 + changelog: + createdBy: "12345" + createdDateTime: 2025-08-30T07:21:39Z ConnectionSearchDirection: value: filter: @@ -31506,6 +32809,34 @@ components: operator: = values: - "false" + VirtualPortProductIX: + value: + filter: + and: + - property: /type + operator: = + values: + - VIRTUAL_PORT_PRODUCT + - property: /port/location/ibx + operator: = + values: + - DA1 + - property: /port/type + operator: = + values: + - XF_PORT + - property: /port/bandwidth + operator: = + values: + - "1000" + - property: /port/serviceCode + operator: = + values: + - IX + - property: /port/connectivitySource/type + operator: = + values: + - COLO PrecisionTimeNtpStandardPackage: value: filter: @@ -31743,6 +33074,36 @@ components: serviceType: EPL package: code: UNLIMITED_PLUS + VirtualPortIX: + value: + pagination: + offset: 0 + limit: 1 + total: 1 + data: + - type: VIRTUAL_PORT_PRODUCT + code: IX00008.PROD + name: Equinix Internet Exchange Port Product + description: Internet Exchange Port + account: + accountNumber: 200001 + charges: + - type: MONTHLY_RECURRING + price: 500 + - type: NON_RECURRING + price: 100 + currency: USD + port: + type: XF_PORT + location: + ibx: DA1 + lag: + enabled: false + physicalPortsQuantity: 1 + bandwidth: 1000 + connectivitySource: + type: COLO + serviceCode: IX PrecisionTimeService: value: pagination: @@ -33612,6 +34973,12 @@ components: ibx: SV2 order: purchaseOrderNumber: 156576 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -33641,6 +35008,8 @@ components: - uuid: 64de7e5-7fe7-41e6-b984-80d5aa159a0e order: purchaseOrderNumber: 156576 + signature: + signatory: SELF project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -33697,6 +35066,12 @@ components: order: purchaseOrderNumber: 156576 orderNumber: 1-129105284100 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -33755,6 +35130,8 @@ components: order: purchaseOrderNumber: 156576 orderNumber: 1-129105284100 + signature: + signatory: SELF project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -33798,10 +35175,6 @@ components: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: accountNumber: 270848 - notifications: - - type: ALL - emails: - - test@test.com - type: FABRIC_MC bandwidth: 10000 connectionDestinationType: COLO @@ -33829,10 +35202,6 @@ components: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: accountNumber: 270848 - notifications: - - type: ALL - emails: - - test@test.com RemoteMetroConnectBulkCreate: value: data: @@ -33859,10 +35228,6 @@ components: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: accountNumber: 270848 - notifications: - - type: ALL - emails: - - test@test.com - type: FABRIC_MC bandwidth: 10000 connectionDestinationType: REMOTE @@ -33886,10 +35251,6 @@ components: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: accountNumber: 270848 - notifications: - - type: ALL - emails: - - test@test.com ColoMetroConnectBulkCreateWithOrder: value: data: @@ -33918,14 +35279,16 @@ components: ibx: SV2 order: purchaseOrderNumber: 156576 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: accountNumber: 270848 - notifications: - - type: ALL - emails: - - test@test.com - type: FABRIC_MC bandwidth: 10000 connectionDestinationType: COLO @@ -33951,14 +35314,16 @@ components: ibx: SV2 order: purchaseOrderNumber: 156576 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: accountNumber: 270848 - notifications: - - type: ALL - emails: - - test@test.com ColoMetroConnectBulkResponseExample: value: data: @@ -34255,6 +35620,12 @@ components: order: purchaseOrderNumber: 156576 orderNumber: 1-129105284100 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -34317,6 +35688,12 @@ components: order: purchaseOrderNumber: 156576 orderNumber: 1-129105284100 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -34402,6 +35779,12 @@ components: order: purchaseOrderNumber: 156576 orderNumber: 1-129105284100 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -34460,6 +35843,12 @@ components: order: purchaseOrderNumber: 156576 orderNumber: 1-129105284100 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -34585,6 +35974,12 @@ components: order: purchaseOrderNumber: 156576 orderNumber: 1-129105284100 + signature: + signatory: DELEGATE + delegate: + firstName: John + lastName: Doe + email: john.doe@company.com project: projectId: 8f23b36f-db8f-44c8-a6e5-606e1b485931 account: @@ -34644,6 +36039,12 @@ components: order: purchaseOrderNumber: 126758 orderNumber: 1-139105284200 + signature: + signatory: DELEGATE + delegate: + firstName: Tom + lastName: Lim + email: tom.lim@company.com project: projectId: 66a2d2f7-b79b-49bc-8642-d2b3c1c138b4 account: @@ -34730,6 +36131,14 @@ components: services: - type: ETHERNET_IP_SERVICE - type: TIME_SERVICE + geoScopes: + - CANADA + - CONUS + - JAPAN + - UK + - AUSTRALIA + - BRAZIL + - SWITZERLAND 400_metros: value: - errorCode: EQ-3036013 @@ -34808,6 +36217,14 @@ components: services: - type: ETHERNET_IP_SERVICE - type: TIME_SERVICE + geoScopes: + - CANADA + - CONUS + - JAPAN + - UK + - AUSTRALIA + - BRAZIL + - SWITZERLAND 400_metroCode: value: - errorCode: EQ-3036013 @@ -38959,6 +40376,19 @@ components: emails: - testEmail1@equinix.com - testEmail2@equinix.com + UpdateTermLength: + value: + - op: replace + path: /order/termLength + value: 12 + UpdatePackageAndTermLength: + value: + - op: replace + path: /package/code + value: PREMIUM + - op: replace + path: /order/termLength + value: 12 CloudRouterPatchResponseExample: value: href: https://api.equinix.com/fabric/v4/routers/201b7346-a9eb-42fe-ae7a-08148c71928d @@ -38990,6 +40420,13 @@ components: status: REQUESTED createdDateTime: 2022-04-19T04:20:55.471Z updatedDateTime: 2022-04-19T04:20:55.471Z + data: + - op: replace + path: /package/code + value: PREMIUM + - op: replace + path: /order/termLength + value: 12 changeLog: createdBy: abc@xyz.com createdByFullName: abc @@ -39129,15 +40566,7 @@ components: count: 5 interval: 1000 response: - output: |- - PING 8.8.8.8 (8.8.8.8): 100 data bytes - 108 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=9.839 ms - 108 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=16.051 ms - 108 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=9.271 ms - 108 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=26.771 ms - --- 8.8.8.8 ping statistics --- - 4 packets transmitted, 4 packets received, 0.0% packet loss - round-trip min/avg/max/stddev = 9.271/15.483/26.771/7.039 ms + output: "PING 8.8.8.8 (8.8.8.8): 100 data bytes\n108 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=9.839 ms\n108 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=16.051 ms\n108 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=9.271 ms\n108 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=26.771 ms \n--- 8.8.8.8 ping statistics ---\n4 packets transmitted, 4 packets received, 0.0% packet loss\nround-trip min/avg/max/stddev = 9.271/15.483/26.771/7.039 ms" outputStructuredPing: destinationIp: 8.8.8.8 destinationName: 8.8.8.8 @@ -39311,15 +40740,7 @@ components: count: 5 interval: 1000 response: - output: |- - PING 8.8.8.8 (8.8.8.8): 100 data bytes - 108 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=9.839 ms - 108 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=16.051 ms - 108 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=9.271 ms - 108 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=26.771 ms - --- 8.8.8.8 ping statistics --- - 4 packets transmitted, 4 packets received, 0.0% packet loss - round-trip min/avg/max/stddev = 9.271/15.483/26.771/7.039 ms + output: "PING 8.8.8.8 (8.8.8.8): 100 data bytes\n108 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=9.839 ms\n108 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=16.051 ms\n108 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=9.271 ms\n108 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=26.771 ms \n--- 8.8.8.8 ping statistics ---\n4 packets transmitted, 4 packets received, 0.0% packet loss\nround-trip min/avg/max/stddev = 9.271/15.483/26.771/7.039 ms" outputStructuredPing: destinationIp: 8.8.8.8 destinationName: 8.8.8.8 @@ -39381,15 +40802,7 @@ components: count: 5 interval: 1000 response: - output: |- - PING 8.8.8.8 (8.8.8.8): 100 data bytes - 108 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=9.839 ms - 108 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=16.051 ms - 108 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=9.271 ms - 108 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=26.771 ms - --- 8.8.8.8 ping statistics --- - 4 packets transmitted, 4 packets received, 0.0% packet loss - round-trip min/avg/max/stddev = 9.271/15.483/26.771/7.039 ms + output: "PING 8.8.8.8 (8.8.8.8): 100 data bytes\n108 bytes from 8.8.8.8: icmp_seq=0 ttl=117 time=9.839 ms\n108 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=16.051 ms\n108 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=9.271 ms\n108 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=26.771 ms \n--- 8.8.8.8 ping statistics ---\n4 packets transmitted, 4 packets received, 0.0% packet loss\nround-trip min/avg/max/stddev = 9.271/15.483/26.771/7.039 ms" outputStructuredPing: destinationIp: 8.8.8.8 destinationName: 8.8.8.8 @@ -44062,18 +45475,12 @@ components: correlationId: 11091aa7-322a-461e-b6af-40fd10543c94 additionalInfo: - reason: Only accept DESC and ASC for sorting direction. - PrivateLinkAttachDomain: - value: - subdomains: - - equinixjira PrivateLinkAttachDomainAttachResponse: value: href: /fabric/v4/privateLinks/23cd19ab-d3bb-478b-9f25-bd12a3af1914/privateDomains/20f3ef8e-d670-4236-86fa-bb0038adcfc3 uuid: 20f3ef8e-d670-4236-86fa-bb0038adcfc3 type: PRIVATE_DOMAIN name: atlassian.net - subdomains: - - equinixjira attachmentStatus: ATTACHING PrivateLink_400_InvalidAttachState: value: @@ -44087,8 +45494,6 @@ components: uuid: 20f3ef8e-d670-4236-86fa-bb0038adcfc3 type: PRIVATE_DOMAIN name: atlassian.net - subdomains: - - equinixjira attachmentStatus: DETACHING PrivateLinkAttachDomainSearchFilterByStatus: value: @@ -44126,8 +45531,6 @@ components: uuid: 20f3ef8e-d670-4236-86fa-bb0038adcfc3 type: PRIVATE_DOMAIN name: atlassian.net - subdomains: - - equinixjira attachmentStatus: ATTACHED PrivateLinkAttachService: value: @@ -44192,11 +45595,9 @@ components: type: PRIVATE_SERVICE name: Atlassian Private Service description: Atlassian Private Service in SV - domains: - - name: atlassian.net - subdomains: - - equinixjira - sourceDomainNames: + endpoints: + - equinixjira.atlassian.net + sourceDomains: - equinix.com project: projectId: 71b55fef-fd2e-402f-ae3c-01d5f00bf2d4 @@ -44208,14 +45609,9 @@ components: name: Atlassian Private Service description: Atlassian Private Service in SV state: PROVISIONING - domains: - - href: https://api.equinix.com/fabric/v4/privateDomains/20f3ef8e-d670-4236-86fa-bb0038adcfc3 - uuid: 20f3ef8e-d670-4236-86fa-bb0038adcfc3 - type: PRIVATE_DOMAIN - name: atlassian.net - subdomains: - - equinixjira - sourceDomainNames: + endpoints: + - equinixjira.atlassian.net + sourceDomains: - equinix.com project: projectId: 71b55fef-fd2e-402f-ae3c-01d5f00bf2d4 @@ -44263,14 +45659,9 @@ components: name: Atlassian Private Service description: Atlassian Private Service in SV state: PROVISIONED - domains: - - href: https://api.equinix.com/fabric/v4/privateDomains/20f3ef8e-d670-4236-86fa-bb0038adcfc3 - uuid: 20f3ef8e-d670-4236-86fa-bb0038adcfc3 - type: PRIVATE_DOMAIN - name: atlassian.net - subdomains: - - equinixjira - sourceDomainNames: + endpoints: + - equinixjira.atlassian.net + sourceDomains: - equinix.com project: projectId: 71b55fef-fd2e-402f-ae3c-01d5f00bf2d4 @@ -44288,14 +45679,9 @@ components: name: Atlassian Private Service description: Atlassian Private Service in SV state: DEPROVISIONING - domains: - - href: https://api.equinix.com/fabric/v4/privateDomains/20f3ef8e-d670-4236-86fa-bb0038adcfc3 - uuid: 20f3ef8e-d670-4236-86fa-bb0038adcfc3 - type: PRIVATE_DOMAIN - name: atlassian.net - subdomains: - - equinixjira - sourceDomainNames: + endpoints: + - equinixjira.atlassian.net + sourceDomains: - equinix.com project: projectId: 71b55fef-fd2e-402f-ae3c-01d5f00bf2d4 @@ -44369,14 +45755,9 @@ components: name: Atlassian Private Service description: Atlassian Private Service in SV state: PROVISIONED - domains: - - href: https://api.equinix.com/fabric/v4/privateDomains/20f3ef8e-d670-4236-86fa-bb0038adcfc3 - uuid: 20f3ef8e-d670-4236-86fa-bb0038adcfc3 - type: PRIVATE_DOMAIN - name: atlassian.net - subdomains: - - equinixjira - sourceDomainNames: + endpoints: + - equinixjira.atlassian.net + sourceDomains: - equinix.com project: projectId: 71b55fef-fd2e-402f-ae3c-01d5f00bf2d4 @@ -44398,7 +45779,7 @@ components: target: privateService: uuid: e18c15f4-c8aa-4c18-9e35-a7e9b288201d - geoScope: CONUS + geoScope: GLOBAL prioritization: LATENCY project: projectId: 71b55fef-fd2e-402f-ae3c-01d5f00bf2d4 @@ -44415,7 +45796,7 @@ components: target: privateService: uuid: e18c15f4-c8aa-4c18-9e35-a7e9b288201d - geoScope: CONUS + geoScope: GLOBAL prioritization: LATENCY state: PROVISIONING project: @@ -44460,7 +45841,7 @@ components: target: privateService: uuid: e18c15f4-c8aa-4c18-9e35-a7e9b288201d - geoScope: CONUS + geoScope: GLOBAL prioritization: LATENCY state: PROVISIONED project: @@ -44484,7 +45865,7 @@ components: target: privateService: uuid: e18c15f4-c8aa-4c18-9e35-a7e9b288201d - geoScope: CONUS + geoScope: GLOBAL prioritization: LATENCY state: DEPROVISIONED project: @@ -44546,7 +45927,7 @@ components: target: privateService: uuid: e18c15f4-c8aa-4c18-9e35-a7e9b288201d - geoScope: CONUS + geoScope: GLOBAL prioritization: LATENCY state: PROVISIONED project: @@ -44614,11 +45995,390 @@ components: - errorCode: EQ-3222002 errorMessage: ENA is disabled for this user and/or user's organization correlationId: 123e4567-e89b-12d3-a456-426614174000 - 500-internal-server-error: + 500-reactions-internal-server-error: value: - errorCode: EQ-3222100 errorMessage: Failed to store reaction correlationId: 123e4567-e89b-12d3-a456-426614174000 + standard-request: + value: + input: + - content: + - text: Which of my connections are at risk of exceeding their bandwidth limits? + type: input_text + role: user + type: message + string-input: + value: + input: Which of my connections are at risk of exceeding their bandwidth limits? + standard-streaming-request: + value: + input: + - content: + - text: Use the equinix_intelligence_search_docs tool to answer my questions about What is VPN + type: input_text + role: user + type: message + stream: true + response-chaining: + value: + input: + - content: + - text: Which of my connections are at risk of exceeding their bandwidth limits? + type: input_text + role: user + type: message + previous_response_id: resp_08b22a5f-63c6-4892-8cd6-2a4b1ef591c0 + related-prompts-request: + value: + input: + - content: + - text: Use the equinix_intelligence_search_docs tool to answer my questions about What is VPN + type: input_text + role: user + type: message + metadata: + prompt_source: user/related_prompt + include_related_prompts: "true" + response_created: + summary: response.created + value: + response: + id: resp_4542cc2f-7e4c-4694-a5fb-7797a150d0e0 + created_at: 1765358850.078279 + model: ena-agent + object: response + output: + - id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + content: + - annotations: [] + text: "" + type: output_text + role: assistant + status: in_progress + type: message + parallel_tool_calls: false + tool_choice: none + tools: [] + status: in_progress + sequence_number: 0 + type: response.created + response_in_progress: + summary: response.in_progress + value: + response: + id: resp_4542cc2f-7e4c-4694-a5fb-7797a150d0e0 + created_at: 1765358850.078279 + model: ena-agent + object: response + output: + - id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + content: + - annotations: [] + text: "" + type: output_text + role: assistant + status: in_progress + type: message + parallel_tool_calls: false + tool_choice: none + tools: [] + status: in_progress + sequence_number: 1 + type: response.in_progress + response_output_item_added: + summary: response.output_item.added + value: + item: + id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + content: + - annotations: [] + text: "" + type: output_text + role: assistant + status: in_progress + type: message + output_index: 0 + sequence_number: 2 + type: response.output_item.added + response_content_part_added: + summary: response.content_part.added + value: + content_index: 0 + item_id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + output_index: 0 + part: + annotations: [] + text: "" + type: output_text + sequence_number: 3 + type: response.content_part.added + response_output_text_delta: + summary: response.output_text.delta + value: + content_index: 0 + delta: I can retrieve that ? I just need one + item_id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + logprobs: [] + output_index: 0 + sequence_number: 5 + type: response.output_text.delta + response_output_text_done: + summary: response.output_text.done + value: + content_index: 0 + item_id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + logprobs: [] + output_index: 0 + sequence_number: 24 + text: |- + I can retrieve that ? I just need one detail from you. + + What I need + - Provide the stream UUID (preferred) ? e.g., the stream's unique ID. + - Or, if you don't have the UUID, tell me the stream name (or confirm you want me to list your streams so you can pick one). + + Options I can perform for you + - If you give a stream UUID ? I'll fetch the stream details and return the stream state and project ID. + - If you give a stream name ? I can search/list streams matching that name (you may need to pick the correct one) and then fetch details. + - If you ask me to list streams now ? I can return a paged list of your streams so you can choose which to inspect. + + Tell me which option you prefer and, if available, paste the stream UUID (or stream name). + type: response.output_text.done + response_content_part_done: + summary: response.content_part.done + value: + content_index: 0 + item_id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + output_index: 0 + part: + annotations: [] + text: |- + I can retrieve that ? I just need one detail from you. + + What I need + - Provide the stream UUID (preferred) ? e.g., the stream's unique ID. + - Or, if you don't have the UUID, tell me the stream name (or confirm you want me to list your streams so you can pick one). + + Options I can perform for you + - If you give a stream UUID ? I'll fetch the stream details and return the stream state and project ID. + - If you give a stream name ? I can search/list streams matching that name (you may need to pick the correct one) and then fetch details. + - If you ask me to list streams now ? I can return a paged list of your streams so you can choose which to inspect. + + Tell me which option you prefer and, if available, paste the stream UUID (or stream name). + type: output_text + sequence_number: 25 + type: response.content_part.done + response_output_item_done: + summary: response.output_item.done + value: + item: + id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + content: + - annotations: [] + text: |- + I can retrieve that ? I just need one detail from you. + + What I need + - Provide the stream UUID (preferred) ? e.g., the stream's unique ID. + - Or, if you don't have the UUID, tell me the stream name (or confirm you want me to list your streams so you can pick one). + + Options I can perform for you + - If you give a stream UUID ? I'll fetch the stream details and return the stream state and project ID. + - If you give a stream name ? I can search/list streams matching that name (you may need to pick the correct one) and then fetch details. + - If you ask me to list streams now ? I can return a paged list of your streams so you can choose which to inspect. + + Tell me which option you prefer and, if available, paste the stream UUID (or stream name). + type: output_text + role: assistant + status: completed + type: message + output_index: 0 + sequence_number: 26 + type: response.output_item.done + response_completed: + summary: response.completed + value: + response: + id: resp_4542cc2f-7e4c-4694-a5fb-7797a150d0e0 + created_at: 1765358850.078279 + metadata: + related_prompt_1: List streams + related_prompt_2: Get stream stream state & project + related_prompt_3: Search streams by name '' stream + model: ena-agent + object: response + output: + - id: msg_155f9af1-2931-4258-ae22-c34d2b138e4d + content: + - annotations: [] + text: |- + I can retrieve that ? I just need one detail from you. + + What I need + - Provide the stream UUID (preferred) ? e.g., the stream's unique ID. + - Or, if you don't have the UUID, tell me the stream name (or confirm you want me to list your streams so you can pick one). + + Options I can perform for you + - If you give a stream UUID ? I'll fetch the stream details and return the stream state and project ID. + - If you give a stream name ? I can search/list streams matching that name (you may need to pick the correct one) and then fetch details. + - If you ask me to list streams now ? I can return a paged list of your streams so you can choose which to inspect. + + Tell me which option you prefer and, if available, paste the stream UUID (or stream name). + type: output_text + role: assistant + status: completed + type: message + parallel_tool_calls: false + tool_choice: none + tools: [] + status: completed + sequence_number: 27 + type: response.completed + standard-response: + value: + id: resp_08b22a5f-63c6-4892-8cd6-2a4b1ef591c0 + created_at: 1765339923 + model: ena-agent + object: response + output: + - id: msg_14af23c6-15ea-4f11-8fa6-0cc80ffba850 + content: + - annotations: [] + text: Output data from Equinix Networking Assistant in response to prompt + type: output_text + role: assistant + status: completed + type: message + parallel_tool_calls: false + tool_choice: none + tools: [] + safety_identifier: + status: completed + text: + format: + type: text + usage: + input_tokens: 86146 + input_tokens_details: + cached_tokens: 0 + output_tokens: 1803 + output_tokens_details: + reasoning_tokens: 960 + total_tokens: 87949 + user: + response-with-related-prompt: + value: + id: resp_08b22a5f-63c6-4892-8cd6-2a4b1ef591c0 + created_at: 1765339923 + metadata: + related_prompt_1: Get Network Edge service IPsec/IKE example + related_prompt_2: Pair Network Edge service VPN with FCR router BGP config + related_prompt_3: Compare Equinix Fabric service vs VPN for metro SV (cost/latency/SLAs) + model: ena-agent + object: response + output: + - id: msg_14af23c6-15ea-4f11-8fa6-0cc80ffba850 + content: + - annotations: [] + text: Output data from Equinix Networking Assistant in response to prompt + type: output_text + role: assistant + status: completed + type: message + parallel_tool_calls: false + tool_choice: none + tools: [] + safety_identifier: + status: completed + text: + format: + type: text + usage: + input_tokens: 86146 + input_tokens_details: + cached_tokens: 0 + output_tokens: 1803 + output_tokens_details: + reasoning_tokens: 960 + total_tokens: 87949 + user: + response-with-annotations: + value: + id: resp_08b22a5f-63c6-4892-8cd6-2a4b1ef591c0 + created_at: 1765339923 + model: ena-agent + object: response + output: + - id: msg_14af23c6-15ea-4f11-8fa6-0cc80ffba850 + content: + - annotations: + - start_index: 0 + end_index: 0 + type: url_citation + title: "" + url: https://docs.equinix.com/managed-solutions/regional/united-kingdom/gms-uk-ips-infrastructure-platform-service + - start_index: 0 + end_index: 0 + type: url_citation + title: "" + url: https://docs.equinix.com/connecting-to-service-provider/fabric-connect-akamai + text: Output data from Equinix Networking Assistant in response to prompt + type: output_text + role: assistant + status: completed + type: message + parallel_tool_calls: false + tool_choice: none + tools: [] + safety_identifier: + status: completed + text: + format: + type: text + usage: + input_tokens: 86146 + input_tokens_details: + cached_tokens: 0 + output_tokens: 1803 + output_tokens_details: + reasoning_tokens: 960 + total_tokens: 87949 + user: + 500-responses-internal-server-error: + value: + - errorCode: EQ-3222201 + errorMessage: | + I'm so sorry, we were unable to process your prompt due to a system level issue. Equinix Networking Assistant needs some tender, loving care. Please report this error to maintainers with error code EQ-3222201. + correlationId: 123e4567-e89b-12d3-a456-426614174000 + response-deleted: + value: + id: resp_08b22a5f-63c6-4892-8cd6-2a4b1ef591c0 + deleted: true + object: response + input-items: + summary: Standard input items response + value: + data: + - id: msg_16fb930e-c71a-4cfc-9b5d-4871c6a98aef + content: + - annotations: [] + text: |- + Results ? connections in DC with Fabric Cloud Router (FCR), active (limit 20) + ..... + type: output_text + role: assistant + status: completed + type: message + - id: msg_3920f72c-5172-42d1-8f5b-7eafd490411e + content: + - text: Show connections in DC with FCRs; active, either side, limit 20 + type: input_text + role: user + first_id: msg_16fb930e-c71a-4cfc-9b5d-4871c6a98aef + has_more: false + last_id: msg_3920f72c-5172-42d1-8f5b-7eafd490411e + object: list headers: ETag: description: response header - identifier for a specific version of a resource. From 50d52b650843031f180d4b81adad33f7dff7a83d Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 17 Feb 2026 09:47:08 +0000 Subject: [PATCH 3/5] sync: generate client with 2026-02-17 spec --- equinix/services/fabricv4/__init__.py | 13 +- equinix/services/fabricv4/api/__init__.py | 3 + .../fabricv4/api/company_profiles_api.py | 3684 +++++++++++++++++ equinix/services/fabricv4/api/logos_api.py | 586 +++ equinix/services/fabricv4/api/metrics_api.py | 341 +- equinix/services/fabricv4/api/ports_api.py | 6 +- .../fabricv4/api/service_profiles_api.py | 6 +- .../fabricv4/api/service_tokens_api.py | 6 +- equinix/services/fabricv4/api/tags_api.py | 633 +++ equinix/services/fabricv4/configuration.py | 2 +- .../fabricv4/docs/AttachLogoResponse.md | 1 + .../fabricv4/docs/CloudEventAssetType.md | 2 + equinix/services/fabricv4/docs/CompanyLogo.md | 1 + .../services/fabricv4/docs/CompanyMetro.md | 30 + .../fabricv4/docs/CompanyProfileChange.md | 2 + .../fabricv4/docs/CompanyProfileRequest.md | 1 + .../fabricv4/docs/CompanyProfileResponse.md | 3 + .../docs/CompanyProfileSearchRequest.md | 1 + .../docs/CompanyProfileSortDirection.md | 13 + .../docs/CompanyProfileUpdateResponse.md | 30 - .../fabricv4/docs/CompanyProfilesApi.md | 1089 +++++ .../docs/ConnectionRouteTableEntry.md | 2 +- .../services/fabricv4/docs/EquinixStatus.md | 2 + .../services/fabricv4/docs/GeoScopeType.md | 8 + .../fabricv4/docs/GetMetricsByNameResponse.md | 30 + .../services/fabricv4/docs/LogoResponse.md | 1 + equinix/services/fabricv4/docs/LogosApi.md | 174 + .../services/fabricv4/docs/MetricResource.md | 1 + equinix/services/fabricv4/docs/MetricsApi.md | 93 +- equinix/services/fabricv4/docs/Metro.md | 2 +- .../services/fabricv4/docs/MetroResponse.md | 2 +- .../fabricv4/docs/PatchOperationOp.md | 4 + .../fabricv4/docs/PlatformChangelog.md | 35 + .../fabricv4/docs/PortOrderPurchaseOrder.md | 4 +- .../fabricv4/docs/PortOrderSignature.md | 2 +- .../docs/PortOrderSignatureDelegate.md | 4 +- equinix/services/fabricv4/docs/PortsApi.md | 2 +- .../docs/ResponseIncompleteDetails.md | 30 + .../docs/ResponseIncompleteDetailsReason.md | 13 + .../docs/ResponseUsageInputTokensDetails.md | 30 + .../docs/ResponseUsageOutputTokensDetails.md | 30 + .../fabricv4/docs/ServiceProfilesApi.md | 2 +- .../fabricv4/docs/ServiceTokensApi.md | 2 +- equinix/services/fabricv4/docs/Sort.md | 30 + equinix/services/fabricv4/docs/TagResponse.md | 1 + equinix/services/fabricv4/docs/TagsApi.md | 179 + .../fabricv4/docs/VirtualPortPrice.md | 1 + equinix/services/fabricv4/models/__init__.py | 10 +- .../fabricv4/models/attach_logo_response.py | 6 +- .../fabricv4/models/cloud_event_asset_type.py | 1 + .../services/fabricv4/models/company_logo.py | 8 +- .../services/fabricv4/models/company_metro.py | 98 + .../fabricv4/models/company_profile_change.py | 6 +- .../models/company_profile_request.py | 6 +- .../models/company_profile_response.py | 20 +- .../models/company_profile_search_request.py | 10 +- .../models/company_profile_sort_direction.py | 33 + .../models/connection_route_table_entry.py | 2 +- .../fabricv4/models/equinix_status.py | 1 + .../fabricv4/models/geo_scope_type.py | 4 + ...nse.py => get_metrics_by_name_response.py} | 38 +- .../services/fabricv4/models/logo_response.py | 4 +- .../fabricv4/models/metric_resource.py | 4 +- equinix/services/fabricv4/models/metro.py | 2 +- .../fabricv4/models/metro_response.py | 2 +- .../fabricv4/models/patch_operation_op.py | 2 + .../fabricv4/models/platform_changelog.py | 107 + .../models/port_order_purchase_order.py | 5 +- .../fabricv4/models/port_order_signature.py | 2 +- .../models/port_order_signature_delegate.py | 4 +- .../models/response_incomplete_details.py | 97 + .../response_incomplete_details_reason.py | 33 + .../response_usage_input_tokens_details.py | 96 + .../response_usage_output_tokens_details.py | 96 + equinix/services/fabricv4/models/sort.py | 99 + .../services/fabricv4/models/tag_response.py | 8 +- .../fabricv4/models/virtual_port_price.py | 6 +- 77 files changed, 7842 insertions(+), 105 deletions(-) create mode 100644 equinix/services/fabricv4/api/company_profiles_api.py create mode 100644 equinix/services/fabricv4/api/logos_api.py create mode 100644 equinix/services/fabricv4/api/tags_api.py create mode 100644 equinix/services/fabricv4/docs/CompanyMetro.md create mode 100644 equinix/services/fabricv4/docs/CompanyProfileSortDirection.md delete mode 100644 equinix/services/fabricv4/docs/CompanyProfileUpdateResponse.md create mode 100644 equinix/services/fabricv4/docs/CompanyProfilesApi.md create mode 100644 equinix/services/fabricv4/docs/GetMetricsByNameResponse.md create mode 100644 equinix/services/fabricv4/docs/LogosApi.md create mode 100644 equinix/services/fabricv4/docs/PlatformChangelog.md create mode 100644 equinix/services/fabricv4/docs/ResponseIncompleteDetails.md create mode 100644 equinix/services/fabricv4/docs/ResponseIncompleteDetailsReason.md create mode 100644 equinix/services/fabricv4/docs/ResponseUsageInputTokensDetails.md create mode 100644 equinix/services/fabricv4/docs/ResponseUsageOutputTokensDetails.md create mode 100644 equinix/services/fabricv4/docs/Sort.md create mode 100644 equinix/services/fabricv4/docs/TagsApi.md create mode 100644 equinix/services/fabricv4/models/company_metro.py create mode 100644 equinix/services/fabricv4/models/company_profile_sort_direction.py rename equinix/services/fabricv4/models/{company_profile_update_response.py => get_metrics_by_name_response.py} (70%) create mode 100644 equinix/services/fabricv4/models/platform_changelog.py create mode 100644 equinix/services/fabricv4/models/response_incomplete_details.py create mode 100644 equinix/services/fabricv4/models/response_incomplete_details_reason.py create mode 100644 equinix/services/fabricv4/models/response_usage_input_tokens_details.py create mode 100644 equinix/services/fabricv4/models/response_usage_output_tokens_details.py create mode 100644 equinix/services/fabricv4/models/sort.py diff --git a/equinix/services/fabricv4/__init__.py b/equinix/services/fabricv4/__init__.py index 33ad9c1f..15b14fbc 100644 --- a/equinix/services/fabricv4/__init__.py +++ b/equinix/services/fabricv4/__init__.py @@ -15,8 +15,10 @@ # import apis into sdk package from equinix.services.fabricv4.api.cloud_events_api import CloudEventsApi from equinix.services.fabricv4.api.cloud_routers_api import CloudRoutersApi +from equinix.services.fabricv4.api.company_profiles_api import CompanyProfilesApi from equinix.services.fabricv4.api.connections_api import ConnectionsApi from equinix.services.fabricv4.api.health_api import HealthApi +from equinix.services.fabricv4.api.logos_api import LogosApi from equinix.services.fabricv4.api.marketplace_subscriptions_api import MarketplaceSubscriptionsApi from equinix.services.fabricv4.api.metrics_api import MetricsApi from equinix.services.fabricv4.api.metros_api import MetrosApi @@ -36,6 +38,7 @@ from equinix.services.fabricv4.api.stream_alert_rules_api import StreamAlertRulesApi from equinix.services.fabricv4.api.stream_subscriptions_api import StreamSubscriptionsApi from equinix.services.fabricv4.api.streams_api import StreamsApi +from equinix.services.fabricv4.api.tags_api import TagsApi # import ApiClient from equinix.services.fabricv4.api_response import ApiResponse @@ -151,6 +154,7 @@ from equinix.services.fabricv4.models.cloud_router_sort_direction import CloudRouterSortDirection from equinix.services.fabricv4.models.code import Code from equinix.services.fabricv4.models.company_logo import CompanyLogo +from equinix.services.fabricv4.models.company_metro import CompanyMetro from equinix.services.fabricv4.models.company_profile_action_request import CompanyProfileActionRequest from equinix.services.fabricv4.models.company_profile_change import CompanyProfileChange from equinix.services.fabricv4.models.company_profile_request import CompanyProfileRequest @@ -158,7 +162,7 @@ from equinix.services.fabricv4.models.company_profile_search_filter import CompanyProfileSearchFilter from equinix.services.fabricv4.models.company_profile_search_request import CompanyProfileSearchRequest from equinix.services.fabricv4.models.company_profile_search_response import CompanyProfileSearchResponse -from equinix.services.fabricv4.models.company_profile_update_response import CompanyProfileUpdateResponse +from equinix.services.fabricv4.models.company_profile_sort_direction import CompanyProfileSortDirection from equinix.services.fabricv4.models.company_service_profile import CompanyServiceProfile from equinix.services.fabricv4.models.connected_metro import ConnectedMetro from equinix.services.fabricv4.models.connection import Connection @@ -238,6 +242,7 @@ from equinix.services.fabricv4.models.get_all_stream_subscription_response import GetAllStreamSubscriptionResponse from equinix.services.fabricv4.models.get_cloud_events_by_asset_response import GetCloudEventsByAssetResponse from equinix.services.fabricv4.models.get_metrics_by_asset_response import GetMetricsByAssetResponse +from equinix.services.fabricv4.models.get_metrics_by_name_response import GetMetricsByNameResponse from equinix.services.fabricv4.models.get_response import GetResponse from equinix.services.fabricv4.models.get_route_aggregation_get_connections_response import GetRouteAggregationGetConnectionsResponse from equinix.services.fabricv4.models.get_route_aggregation_rules_response import GetRouteAggregationRulesResponse @@ -331,6 +336,7 @@ from equinix.services.fabricv4.models.physical_port import PhysicalPort from equinix.services.fabricv4.models.physical_port_settings import PhysicalPortSettings from equinix.services.fabricv4.models.physical_port_type import PhysicalPortType +from equinix.services.fabricv4.models.platform_changelog import PlatformChangelog from equinix.services.fabricv4.models.port import Port from equinix.services.fabricv4.models.port_additional_info import PortAdditionalInfo from equinix.services.fabricv4.models.port_bmmr_type import PortBmmrType @@ -427,6 +433,10 @@ from equinix.services.fabricv4.models.resource_data import ResourceData from equinix.services.fabricv4.models.resource_selector import ResourceSelector from equinix.services.fabricv4.models.resource_selector_response import ResourceSelectorResponse +from equinix.services.fabricv4.models.response_incomplete_details import ResponseIncompleteDetails +from equinix.services.fabricv4.models.response_incomplete_details_reason import ResponseIncompleteDetailsReason +from equinix.services.fabricv4.models.response_usage_input_tokens_details import ResponseUsageInputTokensDetails +from equinix.services.fabricv4.models.response_usage_output_tokens_details import ResponseUsageOutputTokensDetails from equinix.services.fabricv4.models.route_aggregation_change_data import RouteAggregationChangeData from equinix.services.fabricv4.models.route_aggregation_change_data_response import RouteAggregationChangeDataResponse from equinix.services.fabricv4.models.route_aggregation_connections_data import RouteAggregationConnectionsData @@ -585,6 +595,7 @@ from equinix.services.fabricv4.models.simplified_token_network_type import SimplifiedTokenNetworkType from equinix.services.fabricv4.models.simplified_virtual_device import SimplifiedVirtualDevice from equinix.services.fabricv4.models.simplified_virtual_device_type import SimplifiedVirtualDeviceType +from equinix.services.fabricv4.models.sort import Sort from equinix.services.fabricv4.models.sort_by import SortBy from equinix.services.fabricv4.models.sort_criteria import SortCriteria from equinix.services.fabricv4.models.sort_criteria_response import SortCriteriaResponse diff --git a/equinix/services/fabricv4/api/__init__.py b/equinix/services/fabricv4/api/__init__.py index 3436c9cd..f9986b2f 100644 --- a/equinix/services/fabricv4/api/__init__.py +++ b/equinix/services/fabricv4/api/__init__.py @@ -3,8 +3,10 @@ # import apis into api package from equinix.services.fabricv4.api.cloud_events_api import CloudEventsApi from equinix.services.fabricv4.api.cloud_routers_api import CloudRoutersApi +from equinix.services.fabricv4.api.company_profiles_api import CompanyProfilesApi from equinix.services.fabricv4.api.connections_api import ConnectionsApi from equinix.services.fabricv4.api.health_api import HealthApi +from equinix.services.fabricv4.api.logos_api import LogosApi from equinix.services.fabricv4.api.marketplace_subscriptions_api import MarketplaceSubscriptionsApi from equinix.services.fabricv4.api.metrics_api import MetricsApi from equinix.services.fabricv4.api.metros_api import MetrosApi @@ -24,4 +26,5 @@ from equinix.services.fabricv4.api.stream_alert_rules_api import StreamAlertRulesApi from equinix.services.fabricv4.api.stream_subscriptions_api import StreamSubscriptionsApi from equinix.services.fabricv4.api.streams_api import StreamsApi +from equinix.services.fabricv4.api.tags_api import TagsApi diff --git a/equinix/services/fabricv4/api/company_profiles_api.py b/equinix/services/fabricv4/api/company_profiles_api.py new file mode 100644 index 00000000..974bcf8f --- /dev/null +++ b/equinix/services/fabricv4/api/company_profiles_api.py @@ -0,0 +1,3684 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictStr +from typing import Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.attach_private_service_response import AttachPrivateServiceResponse +from equinix.services.fabricv4.models.attach_service_profile_response import AttachServiceProfileResponse +from equinix.services.fabricv4.models.attach_tag_response import AttachTagResponse +from equinix.services.fabricv4.models.company_profile_request import CompanyProfileRequest +from equinix.services.fabricv4.models.company_profile_response import CompanyProfileResponse +from equinix.services.fabricv4.models.company_profile_search_request import CompanyProfileSearchRequest +from equinix.services.fabricv4.models.company_profile_search_response import CompanyProfileSearchResponse +from equinix.services.fabricv4.models.private_service_list_response import PrivateServiceListResponse +from equinix.services.fabricv4.models.service_profile_list_response import ServiceProfileListResponse +from equinix.services.fabricv4.models.tag_list_response import TagListResponse + +from equinix.services.fabricv4.api_client import ApiClient, RequestSerialized +from equinix.services.fabricv4.api_response import ApiResponse +from equinix.services.fabricv4.rest import RESTResponseType + + +class CompanyProfilesApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def attach_private_service_to_profile( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + private_service_id: Annotated[StrictStr, Field(description="Private Service UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AttachPrivateServiceResponse: + """Attach Private Service + + Attach a private service to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param private_service_id: Private Service UUID (required) + :type private_service_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._attach_private_service_to_profile_serialize( + company_profile_id=company_profile_id, + private_service_id=private_service_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachPrivateServiceResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def attach_private_service_to_profile_with_http_info( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + private_service_id: Annotated[StrictStr, Field(description="Private Service UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AttachPrivateServiceResponse]: + """Attach Private Service + + Attach a private service to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param private_service_id: Private Service UUID (required) + :type private_service_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._attach_private_service_to_profile_serialize( + company_profile_id=company_profile_id, + private_service_id=private_service_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachPrivateServiceResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def attach_private_service_to_profile_without_preload_content( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + private_service_id: Annotated[StrictStr, Field(description="Private Service UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Attach Private Service + + Attach a private service to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param private_service_id: Private Service UUID (required) + :type private_service_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._attach_private_service_to_profile_serialize( + company_profile_id=company_profile_id, + private_service_id=private_service_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachPrivateServiceResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _attach_private_service_to_profile_serialize( + self, + company_profile_id, + private_service_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if company_profile_id is not None: + _path_params['companyProfileId'] = company_profile_id + if private_service_id is not None: + _path_params['privateServiceId'] = private_service_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/fabric/v4/companyProfiles/{companyProfileId}/privateServices/{privateServiceId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def attach_service_profile_to_profile( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AttachServiceProfileResponse: + """Attach Service Profile + + Attach a service profile to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._attach_service_profile_to_profile_serialize( + company_profile_id=company_profile_id, + service_profile_id=service_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachServiceProfileResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def attach_service_profile_to_profile_with_http_info( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AttachServiceProfileResponse]: + """Attach Service Profile + + Attach a service profile to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._attach_service_profile_to_profile_serialize( + company_profile_id=company_profile_id, + service_profile_id=service_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachServiceProfileResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def attach_service_profile_to_profile_without_preload_content( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Attach Service Profile + + Attach a service profile to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._attach_service_profile_to_profile_serialize( + company_profile_id=company_profile_id, + service_profile_id=service_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachServiceProfileResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _attach_service_profile_to_profile_serialize( + self, + company_profile_id, + service_profile_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if company_profile_id is not None: + _path_params['companyProfileId'] = company_profile_id + if service_profile_id is not None: + _path_params['serviceProfileId'] = service_profile_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/fabric/v4/companyProfiles/{companyProfileId}/serviceProfiles/{serviceProfileId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def attach_tag_to_profile( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + tag_id: Annotated[StrictStr, Field(description="Tag UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AttachTagResponse: + """Attach Tag + + Attach a tag to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param tag_id: Tag UUID (required) + :type tag_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._attach_tag_to_profile_serialize( + company_profile_id=company_profile_id, + tag_id=tag_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachTagResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def attach_tag_to_profile_with_http_info( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + tag_id: Annotated[StrictStr, Field(description="Tag UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AttachTagResponse]: + """Attach Tag + + Attach a tag to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param tag_id: Tag UUID (required) + :type tag_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._attach_tag_to_profile_serialize( + company_profile_id=company_profile_id, + tag_id=tag_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachTagResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def attach_tag_to_profile_without_preload_content( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + tag_id: Annotated[StrictStr, Field(description="Tag UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Attach Tag + + Attach a tag to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param tag_id: Tag UUID (required) + :type tag_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._attach_tag_to_profile_serialize( + company_profile_id=company_profile_id, + tag_id=tag_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachTagResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _attach_tag_to_profile_serialize( + self, + company_profile_id, + tag_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if company_profile_id is not None: + _path_params['companyProfileId'] = company_profile_id + if tag_id is not None: + _path_params['tagId'] = tag_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/fabric/v4/companyProfiles/{companyProfileId}/tags/{tagId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def create_company_profile( + self, + company_profile_request: CompanyProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CompanyProfileResponse: + """Create Company Profile + + Create a new company profile Beta + + :param company_profile_request: (required) + :type company_profile_request: CompanyProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_company_profile_serialize( + company_profile_request=company_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "CompanyProfileResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_company_profile_with_http_info( + self, + company_profile_request: CompanyProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CompanyProfileResponse]: + """Create Company Profile + + Create a new company profile Beta + + :param company_profile_request: (required) + :type company_profile_request: CompanyProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_company_profile_serialize( + company_profile_request=company_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "CompanyProfileResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_company_profile_without_preload_content( + self, + company_profile_request: CompanyProfileRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create Company Profile + + Create a new company profile Beta + + :param company_profile_request: (required) + :type company_profile_request: CompanyProfileRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_company_profile_serialize( + company_profile_request=company_profile_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "CompanyProfileResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_company_profile_serialize( + self, + company_profile_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if company_profile_request is not None: + _body_params = company_profile_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/fabric/v4/companyProfiles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def delete_company_profile( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CompanyProfileResponse: + """Delete Company Profile + + Delete company profile by UUID Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_company_profile_serialize( + company_profile_id=company_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CompanyProfileResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_company_profile_with_http_info( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CompanyProfileResponse]: + """Delete Company Profile + + Delete company profile by UUID Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_company_profile_serialize( + company_profile_id=company_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CompanyProfileResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_company_profile_without_preload_content( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete Company Profile + + Delete company profile by UUID Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_company_profile_serialize( + company_profile_id=company_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CompanyProfileResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_company_profile_serialize( + self, + company_profile_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if company_profile_id is not None: + _path_params['companyProfileId'] = company_profile_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/fabric/v4/companyProfiles/{companyProfileId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def detach_private_service_from_profile( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + private_service_id: Annotated[StrictStr, Field(description="Private Service UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AttachPrivateServiceResponse: + """Detach Private Service + + Detach a private service from a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param private_service_id: Private Service UUID (required) + :type private_service_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._detach_private_service_from_profile_serialize( + company_profile_id=company_profile_id, + private_service_id=private_service_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachPrivateServiceResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def detach_private_service_from_profile_with_http_info( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + private_service_id: Annotated[StrictStr, Field(description="Private Service UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AttachPrivateServiceResponse]: + """Detach Private Service + + Detach a private service from a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param private_service_id: Private Service UUID (required) + :type private_service_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._detach_private_service_from_profile_serialize( + company_profile_id=company_profile_id, + private_service_id=private_service_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachPrivateServiceResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def detach_private_service_from_profile_without_preload_content( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + private_service_id: Annotated[StrictStr, Field(description="Private Service UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Detach Private Service + + Detach a private service from a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param private_service_id: Private Service UUID (required) + :type private_service_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._detach_private_service_from_profile_serialize( + company_profile_id=company_profile_id, + private_service_id=private_service_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachPrivateServiceResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _detach_private_service_from_profile_serialize( + self, + company_profile_id, + private_service_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if company_profile_id is not None: + _path_params['companyProfileId'] = company_profile_id + if private_service_id is not None: + _path_params['privateServiceId'] = private_service_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/fabric/v4/companyProfiles/{companyProfileId}/privateServices/{privateServiceId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def detach_service_profile_from_profile( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AttachServiceProfileResponse: + """Detach Service Profile + + Detach a service profile from a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._detach_service_profile_from_profile_serialize( + company_profile_id=company_profile_id, + service_profile_id=service_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachServiceProfileResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def detach_service_profile_from_profile_with_http_info( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AttachServiceProfileResponse]: + """Detach Service Profile + + Detach a service profile from a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._detach_service_profile_from_profile_serialize( + company_profile_id=company_profile_id, + service_profile_id=service_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachServiceProfileResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def detach_service_profile_from_profile_without_preload_content( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + service_profile_id: Annotated[StrictStr, Field(description="Service Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Detach Service Profile + + Detach a service profile from a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param service_profile_id: Service Profile UUID (required) + :type service_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._detach_service_profile_from_profile_serialize( + company_profile_id=company_profile_id, + service_profile_id=service_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachServiceProfileResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _detach_service_profile_from_profile_serialize( + self, + company_profile_id, + service_profile_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if company_profile_id is not None: + _path_params['companyProfileId'] = company_profile_id + if service_profile_id is not None: + _path_params['serviceProfileId'] = service_profile_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/fabric/v4/companyProfiles/{companyProfileId}/serviceProfiles/{serviceProfileId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def detach_tag_from_profile( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + tag_id: Annotated[StrictStr, Field(description="Tag UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> AttachTagResponse: + """Detach Tag + + Detach a tag from a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param tag_id: Tag UUID (required) + :type tag_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._detach_tag_from_profile_serialize( + company_profile_id=company_profile_id, + tag_id=tag_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachTagResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def detach_tag_from_profile_with_http_info( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + tag_id: Annotated[StrictStr, Field(description="Tag UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[AttachTagResponse]: + """Detach Tag + + Detach a tag from a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param tag_id: Tag UUID (required) + :type tag_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._detach_tag_from_profile_serialize( + company_profile_id=company_profile_id, + tag_id=tag_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachTagResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def detach_tag_from_profile_without_preload_content( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + tag_id: Annotated[StrictStr, Field(description="Tag UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Detach Tag + + Detach a tag from a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param tag_id: Tag UUID (required) + :type tag_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._detach_tag_from_profile_serialize( + company_profile_id=company_profile_id, + tag_id=tag_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "AttachTagResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _detach_tag_from_profile_serialize( + self, + company_profile_id, + tag_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if company_profile_id is not None: + _path_params['companyProfileId'] = company_profile_id + if tag_id is not None: + _path_params['tagId'] = tag_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/fabric/v4/companyProfiles/{companyProfileId}/tags/{tagId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_company_profile( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CompanyProfileResponse: + """Get Company Profile by UUID + + Get company profile details by UUID Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_company_profile_serialize( + company_profile_id=company_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CompanyProfileResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_company_profile_with_http_info( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CompanyProfileResponse]: + """Get Company Profile by UUID + + Get company profile details by UUID Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_company_profile_serialize( + company_profile_id=company_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CompanyProfileResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_company_profile_without_preload_content( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get Company Profile by UUID + + Get company profile details by UUID Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_company_profile_serialize( + company_profile_id=company_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CompanyProfileResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_company_profile_serialize( + self, + company_profile_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if company_profile_id is not None: + _path_params['companyProfileId'] = company_profile_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/fabric/v4/companyProfiles/{companyProfileId}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_company_profile_private_services( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PrivateServiceListResponse: + """Get Private Services + + Get all private services attached to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_company_profile_private_services_serialize( + company_profile_id=company_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PrivateServiceListResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_company_profile_private_services_with_http_info( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PrivateServiceListResponse]: + """Get Private Services + + Get all private services attached to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_company_profile_private_services_serialize( + company_profile_id=company_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PrivateServiceListResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_company_profile_private_services_without_preload_content( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get Private Services + + Get all private services attached to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_company_profile_private_services_serialize( + company_profile_id=company_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PrivateServiceListResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_company_profile_private_services_serialize( + self, + company_profile_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if company_profile_id is not None: + _path_params['companyProfileId'] = company_profile_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/fabric/v4/companyProfiles/{companyProfileId}/privateServices', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_company_profile_service_profiles( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ServiceProfileListResponse: + """Get Service Profiles + + Get all service profiles attached to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_company_profile_service_profiles_serialize( + company_profile_id=company_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServiceProfileListResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_company_profile_service_profiles_with_http_info( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[ServiceProfileListResponse]: + """Get Service Profiles + + Get all service profiles attached to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_company_profile_service_profiles_serialize( + company_profile_id=company_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServiceProfileListResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_company_profile_service_profiles_without_preload_content( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get Service Profiles + + Get all service profiles attached to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_company_profile_service_profiles_serialize( + company_profile_id=company_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "ServiceProfileListResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_company_profile_service_profiles_serialize( + self, + company_profile_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if company_profile_id is not None: + _path_params['companyProfileId'] = company_profile_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/fabric/v4/companyProfiles/{companyProfileId}/serviceProfiles', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_tags( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TagListResponse: + """Get Tags + + Get all tags attached to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_tags_serialize( + company_profile_id=company_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagListResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_tags_with_http_info( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[TagListResponse]: + """Get Tags + + Get all tags attached to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_tags_serialize( + company_profile_id=company_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagListResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_tags_without_preload_content( + self, + company_profile_id: Annotated[StrictStr, Field(description="Company Profile UUID")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get Tags + + Get all tags attached to a company profile Beta + + :param company_profile_id: Company Profile UUID (required) + :type company_profile_id: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_tags_serialize( + company_profile_id=company_profile_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagListResponse", + '400': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_tags_serialize( + self, + company_profile_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if company_profile_id is not None: + _path_params['companyProfileId'] = company_profile_id + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/fabric/v4/companyProfiles/{companyProfileId}/tags', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def search_company_profile( + self, + company_profile_search_request: CompanyProfileSearchRequest, + view_point: Annotated[Optional[StrictStr], Field(description="Viewpoint for the request, either 'aSide' or 'zSide'")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> CompanyProfileSearchResponse: + """Search Company Profiles + + Search company profiles based on filter criteria Beta + + :param company_profile_search_request: (required) + :type company_profile_search_request: CompanyProfileSearchRequest + :param view_point: Viewpoint for the request, either 'aSide' or 'zSide' + :type view_point: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_company_profile_serialize( + company_profile_search_request=company_profile_search_request, + view_point=view_point, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CompanyProfileSearchResponse", + '400': "List[Error]", + '403': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def search_company_profile_with_http_info( + self, + company_profile_search_request: CompanyProfileSearchRequest, + view_point: Annotated[Optional[StrictStr], Field(description="Viewpoint for the request, either 'aSide' or 'zSide'")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[CompanyProfileSearchResponse]: + """Search Company Profiles + + Search company profiles based on filter criteria Beta + + :param company_profile_search_request: (required) + :type company_profile_search_request: CompanyProfileSearchRequest + :param view_point: Viewpoint for the request, either 'aSide' or 'zSide' + :type view_point: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_company_profile_serialize( + company_profile_search_request=company_profile_search_request, + view_point=view_point, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CompanyProfileSearchResponse", + '400': "List[Error]", + '403': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def search_company_profile_without_preload_content( + self, + company_profile_search_request: CompanyProfileSearchRequest, + view_point: Annotated[Optional[StrictStr], Field(description="Viewpoint for the request, either 'aSide' or 'zSide'")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Search Company Profiles + + Search company profiles based on filter criteria Beta + + :param company_profile_search_request: (required) + :type company_profile_search_request: CompanyProfileSearchRequest + :param view_point: Viewpoint for the request, either 'aSide' or 'zSide' + :type view_point: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._search_company_profile_serialize( + company_profile_search_request=company_profile_search_request, + view_point=view_point, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "CompanyProfileSearchResponse", + '400': "List[Error]", + '403': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _search_company_profile_serialize( + self, + company_profile_search_request, + view_point, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if view_point is not None: + + _query_params.append(('viewPoint', view_point)) + + # process the header parameters + # process the form parameters + # process the body parameter + if company_profile_search_request is not None: + _body_params = company_profile_search_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/fabric/v4/companyProfiles/search', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/equinix/services/fabricv4/api/logos_api.py b/equinix/services/fabricv4/api/logos_api.py new file mode 100644 index 00000000..4caeb060 --- /dev/null +++ b/equinix/services/fabricv4/api/logos_api.py @@ -0,0 +1,586 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictBytes, StrictStr +from typing import Tuple, Union +from typing_extensions import Annotated +from equinix.services.fabricv4.models.logo_response import LogoResponse + +from equinix.services.fabricv4.api_client import ApiClient, RequestSerialized +from equinix.services.fabricv4.api_response import ApiResponse +from equinix.services.fabricv4.rest import RESTResponseType + + +class LogosApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def delete_logo_by_uuid( + self, + uuid: Annotated[StrictStr, Field(description="UUID of the Logo")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> LogoResponse: + """Delete Logo + + Delete Logo by UUID + + :param uuid: UUID of the Logo (required) + :type uuid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_logo_by_uuid_serialize( + uuid=uuid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "LogoResponse", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def delete_logo_by_uuid_with_http_info( + self, + uuid: Annotated[StrictStr, Field(description="UUID of the Logo")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[LogoResponse]: + """Delete Logo + + Delete Logo by UUID + + :param uuid: UUID of the Logo (required) + :type uuid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_logo_by_uuid_serialize( + uuid=uuid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "LogoResponse", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def delete_logo_by_uuid_without_preload_content( + self, + uuid: Annotated[StrictStr, Field(description="UUID of the Logo")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Delete Logo + + Delete Logo by UUID + + :param uuid: UUID of the Logo (required) + :type uuid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_logo_by_uuid_serialize( + uuid=uuid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '202': "LogoResponse", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_logo_by_uuid_serialize( + self, + uuid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uuid is not None: + _path_params['uuid'] = uuid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json; charset=UTF-8', + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/fabric/v4/logos/{uuid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def get_logo_by_uuid( + self, + uuid: Annotated[StrictStr, Field(description="UUID of the Logo")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> bytearray: + """Get Logo + + Get Logo by UUID + + :param uuid: UUID of the Logo (required) + :type uuid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_logo_by_uuid_serialize( + uuid=uuid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_logo_by_uuid_with_http_info( + self, + uuid: Annotated[StrictStr, Field(description="UUID of the Logo")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[bytearray]: + """Get Logo + + Get Logo by UUID + + :param uuid: UUID of the Logo (required) + :type uuid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_logo_by_uuid_serialize( + uuid=uuid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_logo_by_uuid_without_preload_content( + self, + uuid: Annotated[StrictStr, Field(description="UUID of the Logo")], + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get Logo + + Get Logo by UUID + + :param uuid: UUID of the Logo (required) + :type uuid: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_logo_by_uuid_serialize( + uuid=uuid, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "bytearray", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_logo_by_uuid_serialize( + self, + uuid, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if uuid is not None: + _path_params['uuid'] = uuid + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'multipart/mixed', + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/fabric/v4/logos/{uuid}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/equinix/services/fabricv4/api/metrics_api.py b/equinix/services/fabricv4/api/metrics_api.py index 4b108327..d87b9f8c 100644 --- a/equinix/services/fabricv4/api/metrics_api.py +++ b/equinix/services/fabricv4/api/metrics_api.py @@ -13,10 +13,11 @@ from typing_extensions import Annotated from datetime import datetime -from pydantic import Field, StrictInt, StrictStr +from pydantic import Field, StrictInt, StrictStr, field_validator from typing import Optional from typing_extensions import Annotated from equinix.services.fabricv4.models.get_metrics_by_asset_response import GetMetricsByAssetResponse +from equinix.services.fabricv4.models.get_metrics_by_name_response import GetMetricsByNameResponse from equinix.services.fabricv4.models.metric_asset_type import MetricAssetType from equinix.services.fabricv4.models.metrics_search_request import MetricsSearchRequest @@ -43,7 +44,7 @@ def get_metric_by_asset_id( self, asset: Annotated[MetricAssetType, Field(description="asset")], asset_id: Annotated[StrictStr, Field(description="asset UUID")], - name: Annotated[StrictStr, Field(description="Name of the metric types:
- equinix.fabric.connection.bandwidth_rx.usage
- equinix.fabric.connection.bandwidth_tx.usage
- equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count
- equinix.fabric.port.bandwidth_rx.usage
- equinix.fabric.port.bandwidth_tx.usage
- equinix.fabric.port.packets_dropped_rx.count
- equinix.fabric.port.packets_dropped_tx.count
- equinix.fabric.port.packets_erred_rx.count
- equinix.fabric.port.packets_erred_tx.count
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.latency
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.jitter_avg
")], + name: Annotated[str, Field(strict=True, description="Name of the metric types: - `equinix.fabric.connection.bandwidth_rx.usage` - `equinix.fabric.connection.bandwidth_tx.usage` - `equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count` - `equinix.fabric.port.bandwidth_rx.usage` - `equinix.fabric.port.bandwidth_tx.usage` - `equinix.fabric.port.packets_dropped_rx.count` - `equinix.fabric.port.packets_dropped_tx.count` - `equinix.fabric.port.packets_erred_rx.count` - `equinix.fabric.port.packets_erred_tx.count` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.latency` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.jitter_avg` ")], from_date_time: Annotated[Optional[datetime], Field(description="Start date and time")] = None, to_date_time: Annotated[Optional[datetime], Field(description="End date and time")] = None, offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, @@ -69,7 +70,7 @@ def get_metric_by_asset_id( :type asset: MetricAssetType :param asset_id: asset UUID (required) :type asset_id: str - :param name: Name of the metric types:
- equinix.fabric.connection.bandwidth_rx.usage
- equinix.fabric.connection.bandwidth_tx.usage
- equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count
- equinix.fabric.port.bandwidth_rx.usage
- equinix.fabric.port.bandwidth_tx.usage
- equinix.fabric.port.packets_dropped_rx.count
- equinix.fabric.port.packets_dropped_tx.count
- equinix.fabric.port.packets_erred_rx.count
- equinix.fabric.port.packets_erred_tx.count
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.latency
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.jitter_avg
(required) + :param name: Name of the metric types: - `equinix.fabric.connection.bandwidth_rx.usage` - `equinix.fabric.connection.bandwidth_tx.usage` - `equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count` - `equinix.fabric.port.bandwidth_rx.usage` - `equinix.fabric.port.bandwidth_tx.usage` - `equinix.fabric.port.packets_dropped_rx.count` - `equinix.fabric.port.packets_dropped_tx.count` - `equinix.fabric.port.packets_erred_rx.count` - `equinix.fabric.port.packets_erred_tx.count` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.latency` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.jitter_avg` (required) :type name: str :param from_date_time: Start date and time :type from_date_time: datetime @@ -138,7 +139,7 @@ def get_metric_by_asset_id_with_http_info( self, asset: Annotated[MetricAssetType, Field(description="asset")], asset_id: Annotated[StrictStr, Field(description="asset UUID")], - name: Annotated[StrictStr, Field(description="Name of the metric types:
- equinix.fabric.connection.bandwidth_rx.usage
- equinix.fabric.connection.bandwidth_tx.usage
- equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count
- equinix.fabric.port.bandwidth_rx.usage
- equinix.fabric.port.bandwidth_tx.usage
- equinix.fabric.port.packets_dropped_rx.count
- equinix.fabric.port.packets_dropped_tx.count
- equinix.fabric.port.packets_erred_rx.count
- equinix.fabric.port.packets_erred_tx.count
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.latency
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.jitter_avg
")], + name: Annotated[str, Field(strict=True, description="Name of the metric types: - `equinix.fabric.connection.bandwidth_rx.usage` - `equinix.fabric.connection.bandwidth_tx.usage` - `equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count` - `equinix.fabric.port.bandwidth_rx.usage` - `equinix.fabric.port.bandwidth_tx.usage` - `equinix.fabric.port.packets_dropped_rx.count` - `equinix.fabric.port.packets_dropped_tx.count` - `equinix.fabric.port.packets_erred_rx.count` - `equinix.fabric.port.packets_erred_tx.count` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.latency` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.jitter_avg` ")], from_date_time: Annotated[Optional[datetime], Field(description="Start date and time")] = None, to_date_time: Annotated[Optional[datetime], Field(description="End date and time")] = None, offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, @@ -164,7 +165,7 @@ def get_metric_by_asset_id_with_http_info( :type asset: MetricAssetType :param asset_id: asset UUID (required) :type asset_id: str - :param name: Name of the metric types:
- equinix.fabric.connection.bandwidth_rx.usage
- equinix.fabric.connection.bandwidth_tx.usage
- equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count
- equinix.fabric.port.bandwidth_rx.usage
- equinix.fabric.port.bandwidth_tx.usage
- equinix.fabric.port.packets_dropped_rx.count
- equinix.fabric.port.packets_dropped_tx.count
- equinix.fabric.port.packets_erred_rx.count
- equinix.fabric.port.packets_erred_tx.count
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.latency
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.jitter_avg
(required) + :param name: Name of the metric types: - `equinix.fabric.connection.bandwidth_rx.usage` - `equinix.fabric.connection.bandwidth_tx.usage` - `equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count` - `equinix.fabric.port.bandwidth_rx.usage` - `equinix.fabric.port.bandwidth_tx.usage` - `equinix.fabric.port.packets_dropped_rx.count` - `equinix.fabric.port.packets_dropped_tx.count` - `equinix.fabric.port.packets_erred_rx.count` - `equinix.fabric.port.packets_erred_tx.count` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.latency` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.jitter_avg` (required) :type name: str :param from_date_time: Start date and time :type from_date_time: datetime @@ -233,7 +234,7 @@ def get_metric_by_asset_id_without_preload_content( self, asset: Annotated[MetricAssetType, Field(description="asset")], asset_id: Annotated[StrictStr, Field(description="asset UUID")], - name: Annotated[StrictStr, Field(description="Name of the metric types:
- equinix.fabric.connection.bandwidth_rx.usage
- equinix.fabric.connection.bandwidth_tx.usage
- equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count
- equinix.fabric.port.bandwidth_rx.usage
- equinix.fabric.port.bandwidth_tx.usage
- equinix.fabric.port.packets_dropped_rx.count
- equinix.fabric.port.packets_dropped_tx.count
- equinix.fabric.port.packets_erred_rx.count
- equinix.fabric.port.packets_erred_tx.count
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.latency
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.jitter_avg
")], + name: Annotated[str, Field(strict=True, description="Name of the metric types: - `equinix.fabric.connection.bandwidth_rx.usage` - `equinix.fabric.connection.bandwidth_tx.usage` - `equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count` - `equinix.fabric.port.bandwidth_rx.usage` - `equinix.fabric.port.bandwidth_tx.usage` - `equinix.fabric.port.packets_dropped_rx.count` - `equinix.fabric.port.packets_dropped_tx.count` - `equinix.fabric.port.packets_erred_rx.count` - `equinix.fabric.port.packets_erred_tx.count` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.latency` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.jitter_avg` ")], from_date_time: Annotated[Optional[datetime], Field(description="Start date and time")] = None, to_date_time: Annotated[Optional[datetime], Field(description="End date and time")] = None, offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, @@ -259,7 +260,7 @@ def get_metric_by_asset_id_without_preload_content( :type asset: MetricAssetType :param asset_id: asset UUID (required) :type asset_id: str - :param name: Name of the metric types:
- equinix.fabric.connection.bandwidth_rx.usage
- equinix.fabric.connection.bandwidth_tx.usage
- equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count
- equinix.fabric.port.bandwidth_rx.usage
- equinix.fabric.port.bandwidth_tx.usage
- equinix.fabric.port.packets_dropped_rx.count
- equinix.fabric.port.packets_dropped_tx.count
- equinix.fabric.port.packets_erred_rx.count
- equinix.fabric.port.packets_erred_tx.count
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.latency
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.jitter_avg
(required) + :param name: Name of the metric types: - `equinix.fabric.connection.bandwidth_rx.usage` - `equinix.fabric.connection.bandwidth_tx.usage` - `equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count` - `equinix.fabric.port.bandwidth_rx.usage` - `equinix.fabric.port.bandwidth_tx.usage` - `equinix.fabric.port.packets_dropped_rx.count` - `equinix.fabric.port.packets_dropped_tx.count` - `equinix.fabric.port.packets_erred_rx.count` - `equinix.fabric.port.packets_erred_tx.count` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.latency` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.jitter_avg` (required) :type name: str :param from_date_time: Start date and time :type from_date_time: datetime @@ -429,6 +430,332 @@ def _get_metric_by_asset_id_serialize( + @validate_call + def get_metric_by_name( + self, + name: Annotated[str, Field(strict=True, description="Name of the metric types with wildcard: - `equinix.fabric.metro.*.latency` - `equinix.fabric.metro.*.jitter_avg` ")], + value: Annotated[StrictStr, Field(description="value")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="limit")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GetMetricsByNameResponse: + """Get Metrics by Name + + This API provides capability to retrieve Metrics by specific wildcard metric types + + :param name: Name of the metric types with wildcard: - `equinix.fabric.metro.*.latency` - `equinix.fabric.metro.*.jitter_avg` (required) + :type name: str + :param value: value (required) + :type value: str + :param offset: offset + :type offset: int + :param limit: limit + :type limit: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_metric_by_name_serialize( + name=name, + value=value, + offset=offset, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetMetricsByNameResponse", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def get_metric_by_name_with_http_info( + self, + name: Annotated[str, Field(strict=True, description="Name of the metric types with wildcard: - `equinix.fabric.metro.*.latency` - `equinix.fabric.metro.*.jitter_avg` ")], + value: Annotated[StrictStr, Field(description="value")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="limit")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GetMetricsByNameResponse]: + """Get Metrics by Name + + This API provides capability to retrieve Metrics by specific wildcard metric types + + :param name: Name of the metric types with wildcard: - `equinix.fabric.metro.*.latency` - `equinix.fabric.metro.*.jitter_avg` (required) + :type name: str + :param value: value (required) + :type value: str + :param offset: offset + :type offset: int + :param limit: limit + :type limit: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_metric_by_name_serialize( + name=name, + value=value, + offset=offset, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetMetricsByNameResponse", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def get_metric_by_name_without_preload_content( + self, + name: Annotated[str, Field(strict=True, description="Name of the metric types with wildcard: - `equinix.fabric.metro.*.latency` - `equinix.fabric.metro.*.jitter_avg` ")], + value: Annotated[StrictStr, Field(description="value")], + offset: Annotated[Optional[StrictInt], Field(description="offset")] = None, + limit: Annotated[Optional[StrictInt], Field(description="limit")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Get Metrics by Name + + This API provides capability to retrieve Metrics by specific wildcard metric types + + :param name: Name of the metric types with wildcard: - `equinix.fabric.metro.*.latency` - `equinix.fabric.metro.*.jitter_avg` (required) + :type name: str + :param value: value (required) + :type value: str + :param offset: offset + :type offset: int + :param limit: limit + :type limit: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_metric_by_name_serialize( + name=name, + value=value, + offset=offset, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GetMetricsByNameResponse", + '401': "List[Error]", + '403': "List[Error]", + '404': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_metric_by_name_serialize( + self, + name, + value, + offset, + limit, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if name is not None: + + _query_params.append(('name', name)) + + if value is not None: + + _query_params.append(('value', value)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/fabric/v4/metrics', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + @validate_call def search_metrics( self, diff --git a/equinix/services/fabricv4/api/ports_api.py b/equinix/services/fabricv4/api/ports_api.py index 5a7727e2..94f8e84b 100644 --- a/equinix/services/fabricv4/api/ports_api.py +++ b/equinix/services/fabricv4/api/ports_api.py @@ -363,7 +363,7 @@ def create_port( ) -> Port: """Create Port - Creates Equinix Fabric™ Port. + Creates Equinix Fabric? Port. :param port_request: (required) :type port_request: PortRequest @@ -438,7 +438,7 @@ def create_port_with_http_info( ) -> ApiResponse[Port]: """Create Port - Creates Equinix Fabric™ Port. + Creates Equinix Fabric? Port. :param port_request: (required) :type port_request: PortRequest @@ -513,7 +513,7 @@ def create_port_without_preload_content( ) -> RESTResponseType: """Create Port - Creates Equinix Fabric™ Port. + Creates Equinix Fabric? Port. :param port_request: (required) :type port_request: PortRequest diff --git a/equinix/services/fabricv4/api/service_profiles_api.py b/equinix/services/fabricv4/api/service_profiles_api.py index 2e19bf64..a39be7b6 100644 --- a/equinix/services/fabricv4/api/service_profiles_api.py +++ b/equinix/services/fabricv4/api/service_profiles_api.py @@ -60,7 +60,7 @@ def create_service_profile( ) -> ServiceProfile: """Create Profile - Create Service Profile creates Equinix Fabric™ Service Profile. + Create Service Profile creates Equinix Fabric? Service Profile. :param service_profile_request: (required) :type service_profile_request: ServiceProfileRequest @@ -131,7 +131,7 @@ def create_service_profile_with_http_info( ) -> ApiResponse[ServiceProfile]: """Create Profile - Create Service Profile creates Equinix Fabric™ Service Profile. + Create Service Profile creates Equinix Fabric? Service Profile. :param service_profile_request: (required) :type service_profile_request: ServiceProfileRequest @@ -202,7 +202,7 @@ def create_service_profile_without_preload_content( ) -> RESTResponseType: """Create Profile - Create Service Profile creates Equinix Fabric™ Service Profile. + Create Service Profile creates Equinix Fabric? Service Profile. :param service_profile_request: (required) :type service_profile_request: ServiceProfileRequest diff --git a/equinix/services/fabricv4/api/service_tokens_api.py b/equinix/services/fabricv4/api/service_tokens_api.py index a737e235..72975977 100644 --- a/equinix/services/fabricv4/api/service_tokens_api.py +++ b/equinix/services/fabricv4/api/service_tokens_api.py @@ -59,7 +59,7 @@ def create_service_token( ) -> ServiceToken: """Create Service Token - Create Service Tokens generates Equinix Fabric™ service tokens. These tokens authorize users to access protected resources and services. + Create Service Tokens generates Equinix Fabric? service tokens. These tokens authorize users to access protected resources and services. :param service_token: (required) :type service_token: ServiceToken @@ -134,7 +134,7 @@ def create_service_token_with_http_info( ) -> ApiResponse[ServiceToken]: """Create Service Token - Create Service Tokens generates Equinix Fabric™ service tokens. These tokens authorize users to access protected resources and services. + Create Service Tokens generates Equinix Fabric? service tokens. These tokens authorize users to access protected resources and services. :param service_token: (required) :type service_token: ServiceToken @@ -209,7 +209,7 @@ def create_service_token_without_preload_content( ) -> RESTResponseType: """Create Service Token - Create Service Tokens generates Equinix Fabric™ service tokens. These tokens authorize users to access protected resources and services. + Create Service Tokens generates Equinix Fabric? service tokens. These tokens authorize users to access protected resources and services. :param service_token: (required) :type service_token: ServiceToken diff --git a/equinix/services/fabricv4/api/tags_api.py b/equinix/services/fabricv4/api/tags_api.py new file mode 100644 index 00000000..3e2096f2 --- /dev/null +++ b/equinix/services/fabricv4/api/tags_api.py @@ -0,0 +1,633 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictInt, StrictStr +from typing import List, Optional +from typing_extensions import Annotated +from equinix.services.fabricv4.models.tag_list_response import TagListResponse +from equinix.services.fabricv4.models.tag_request import TagRequest +from equinix.services.fabricv4.models.tag_response import TagResponse + +from equinix.services.fabricv4.api_client import ApiClient, RequestSerialized +from equinix.services.fabricv4.api_response import ApiResponse +from equinix.services.fabricv4.rest import RESTResponseType + + +class TagsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + def create_tag( + self, + tag_request: TagRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TagResponse: + """Create Tag + + Create Tag for Equinix Fabric?. + + :param tag_request: (required) + :type tag_request: TagRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_tag_serialize( + tag_request=tag_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "TagResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def create_tag_with_http_info( + self, + tag_request: TagRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[TagResponse]: + """Create Tag + + Create Tag for Equinix Fabric?. + + :param tag_request: (required) + :type tag_request: TagRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_tag_serialize( + tag_request=tag_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "TagResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def create_tag_without_preload_content( + self, + tag_request: TagRequest, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create Tag + + Create Tag for Equinix Fabric?. + + :param tag_request: (required) + :type tag_request: TagRequest + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_tag_serialize( + tag_request=tag_request, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "TagResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_tag_serialize( + self, + tag_request, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + # process the form parameters + # process the body parameter + if tag_request is not None: + _body_params = tag_request + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/fabric/v4/tags', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + def list_tags( + self, + type: Annotated[Optional[List[StrictStr]], Field(description="Filter by tag type")] = None, + offset: Annotated[Optional[StrictInt], Field(description="Offset for pagination")] = None, + limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True)]], Field(description="Limit for pagination")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> TagListResponse: + """List Tags + + Get all Tags + + :param type: Filter by tag type + :type type: List[str] + :param offset: Offset for pagination + :type offset: int + :param limit: Limit for pagination + :type limit: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_tags_serialize( + type=type, + offset=offset, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagListResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + def list_tags_with_http_info( + self, + type: Annotated[Optional[List[StrictStr]], Field(description="Filter by tag type")] = None, + offset: Annotated[Optional[StrictInt], Field(description="Offset for pagination")] = None, + limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True)]], Field(description="Limit for pagination")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[TagListResponse]: + """List Tags + + Get all Tags + + :param type: Filter by tag type + :type type: List[str] + :param offset: Offset for pagination + :type offset: int + :param limit: Limit for pagination + :type limit: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_tags_serialize( + type=type, + offset=offset, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagListResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + def list_tags_without_preload_content( + self, + type: Annotated[Optional[List[StrictStr]], Field(description="Filter by tag type")] = None, + offset: Annotated[Optional[StrictInt], Field(description="Offset for pagination")] = None, + limit: Annotated[Optional[Annotated[int, Field(le=100, strict=True)]], Field(description="Limit for pagination")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """List Tags + + Get all Tags + + :param type: Filter by tag type + :type type: List[str] + :param offset: Offset for pagination + :type offset: int + :param limit: Limit for pagination + :type limit: int + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_tags_serialize( + type=type, + offset=offset, + limit=limit, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "TagListResponse", + '400': "List[Error]", + '401': "List[Error]", + '403': "List[Error]", + '500': "List[Error]", + } + response_data = self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_tags_serialize( + self, + type, + offset, + limit, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + 'type': 'multi', + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if type is not None: + + _query_params.append(('type', type)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + # process the header parameters + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'BearerAuth' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/fabric/v4/tags', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/equinix/services/fabricv4/configuration.py b/equinix/services/fabricv4/configuration.py index b02c5fbf..5f44bc8e 100644 --- a/equinix/services/fabricv4/configuration.py +++ b/equinix/services/fabricv4/configuration.py @@ -506,7 +506,7 @@ def to_debug_report(self) -> str: return "Python SDK Debug Report:\n"\ "OS: {env}\n"\ "Python Version: {pyversion}\n"\ - "Version of the API: 4.26\n"\ + "Version of the API: 4.27\n"\ "SDK Package Version: 0.14.2".\ format(env=sys.platform, pyversion=sys.version) diff --git a/equinix/services/fabricv4/docs/AttachLogoResponse.md b/equinix/services/fabricv4/docs/AttachLogoResponse.md index f9be5230..f6a1c020 100644 --- a/equinix/services/fabricv4/docs/AttachLogoResponse.md +++ b/equinix/services/fabricv4/docs/AttachLogoResponse.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **type** | **str** | Type of the logo or attachment | **uuid** | **str** | Unique identifier for the logo | **attachment_status** | **str** | Status of the attachment operation | [optional] +**extension_type** | **str** | Extension type of logo | [optional] ## Example diff --git a/equinix/services/fabricv4/docs/CloudEventAssetType.md b/equinix/services/fabricv4/docs/CloudEventAssetType.md index dd676d07..7874dba1 100644 --- a/equinix/services/fabricv4/docs/CloudEventAssetType.md +++ b/equinix/services/fabricv4/docs/CloudEventAssetType.md @@ -9,6 +9,8 @@ * `ROUTERS` (value: `'routers'`) +* `METROS` (value: `'metros'`) + * `SERVICETOKENS` (value: `'serviceTokens'`) * `NETWORKS` (value: `'networks'`) diff --git a/equinix/services/fabricv4/docs/CompanyLogo.md b/equinix/services/fabricv4/docs/CompanyLogo.md index 4acc07a6..a07ea541 100644 --- a/equinix/services/fabricv4/docs/CompanyLogo.md +++ b/equinix/services/fabricv4/docs/CompanyLogo.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **href** | **str** | | [optional] **uuid** | **str** | | [optional] +**extension_type** | **str** | | [optional] ## Example diff --git a/equinix/services/fabricv4/docs/CompanyMetro.md b/equinix/services/fabricv4/docs/CompanyMetro.md new file mode 100644 index 00000000..e67f4d33 --- /dev/null +++ b/equinix/services/fabricv4/docs/CompanyMetro.md @@ -0,0 +1,30 @@ +# CompanyMetro + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**href** | **str** | | [optional] +**metro_code** | **str** | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.company_metro import CompanyMetro + +# TODO update the JSON string below +json = "{}" +# create an instance of CompanyMetro from a JSON string +company_metro_instance = CompanyMetro.from_json(json) +# print the JSON string representation of the object +print(CompanyMetro.to_json()) + +# convert the object into a dict +company_metro_dict = company_metro_instance.to_dict() +# create an instance of CompanyMetro from a dict +company_metro_from_dict = CompanyMetro.from_dict(company_metro_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/equinix/services/fabricv4/docs/CompanyProfileChange.md b/equinix/services/fabricv4/docs/CompanyProfileChange.md index b59880af..7d4da52b 100644 --- a/equinix/services/fabricv4/docs/CompanyProfileChange.md +++ b/equinix/services/fabricv4/docs/CompanyProfileChange.md @@ -5,9 +5,11 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- +**uuid** | **str** | | [optional] **type** | **str** | | [optional] **status** | **str** | | [optional] **created_date_time** | **datetime** | | [optional] +**updated_date_time** | **datetime** | | [optional] **data** | **object** | | [optional] ## Example diff --git a/equinix/services/fabricv4/docs/CompanyProfileRequest.md b/equinix/services/fabricv4/docs/CompanyProfileRequest.md index 548f3c89..c9e052d7 100644 --- a/equinix/services/fabricv4/docs/CompanyProfileRequest.md +++ b/equinix/services/fabricv4/docs/CompanyProfileRequest.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **description** | **str** | | **notifications** | **List[object]** | | [optional] **web_url** | **str** | | [optional] +**contact_url** | **str** | | [optional] ## Example diff --git a/equinix/services/fabricv4/docs/CompanyProfileResponse.md b/equinix/services/fabricv4/docs/CompanyProfileResponse.md index 35a08a9f..9e2a94d2 100644 --- a/equinix/services/fabricv4/docs/CompanyProfileResponse.md +++ b/equinix/services/fabricv4/docs/CompanyProfileResponse.md @@ -12,12 +12,15 @@ Name | Type | Description | Notes **summary** | **str** | | [optional] **description** | **str** | | [optional] **state** | **object** | | [optional] +**metros** | [**List[CompanyMetro]**](CompanyMetro.md) | | [optional] **logo** | [**CompanyLogo**](CompanyLogo.md) | | [optional] **tags** | [**List[TagResponse]**](TagResponse.md) | | [optional] **service_profiles** | [**List[CompanyServiceProfile]**](CompanyServiceProfile.md) | | [optional] **private_services** | [**List[PrivateService]**](PrivateService.md) | | [optional] **notifications** | **List[object]** | | [optional] **web_url** | **str** | | [optional] +**contact_url** | **str** | | [optional] +**change** | [**CompanyProfileChange**](CompanyProfileChange.md) | | [optional] **change_log** | [**Changelog**](Changelog.md) | | [optional] ## Example diff --git a/equinix/services/fabricv4/docs/CompanyProfileSearchRequest.md b/equinix/services/fabricv4/docs/CompanyProfileSearchRequest.md index 647f2ae1..5348b795 100644 --- a/equinix/services/fabricv4/docs/CompanyProfileSearchRequest.md +++ b/equinix/services/fabricv4/docs/CompanyProfileSearchRequest.md @@ -7,6 +7,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **filter** | [**CompanyProfileSearchFilter**](CompanyProfileSearchFilter.md) | | [optional] **pagination** | [**Pagination**](Pagination.md) | | [optional] +**sort** | [**Sort**](Sort.md) | | [optional] ## Example diff --git a/equinix/services/fabricv4/docs/CompanyProfileSortDirection.md b/equinix/services/fabricv4/docs/CompanyProfileSortDirection.md new file mode 100644 index 00000000..60185848 --- /dev/null +++ b/equinix/services/fabricv4/docs/CompanyProfileSortDirection.md @@ -0,0 +1,13 @@ +# CompanyProfileSortDirection + +Sorting direction + +## Enum + +* `DESC` (value: `'DESC'`) + +* `ASC` (value: `'ASC'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/equinix/services/fabricv4/docs/CompanyProfileUpdateResponse.md b/equinix/services/fabricv4/docs/CompanyProfileUpdateResponse.md deleted file mode 100644 index 0ba4ea23..00000000 --- a/equinix/services/fabricv4/docs/CompanyProfileUpdateResponse.md +++ /dev/null @@ -1,30 +0,0 @@ -# CompanyProfileUpdateResponse - - -## Properties - -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**company_profile** | [**CompanyProfileResponse**](CompanyProfileResponse.md) | | [optional] -**change** | [**CompanyProfileChange**](CompanyProfileChange.md) | | [optional] - -## Example - -```python -from equinix.services.fabricv4.models.company_profile_update_response import CompanyProfileUpdateResponse - -# TODO update the JSON string below -json = "{}" -# create an instance of CompanyProfileUpdateResponse from a JSON string -company_profile_update_response_instance = CompanyProfileUpdateResponse.from_json(json) -# print the JSON string representation of the object -print(CompanyProfileUpdateResponse.to_json()) - -# convert the object into a dict -company_profile_update_response_dict = company_profile_update_response_instance.to_dict() -# create an instance of CompanyProfileUpdateResponse from a dict -company_profile_update_response_from_dict = CompanyProfileUpdateResponse.from_dict(company_profile_update_response_dict) -``` -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/equinix/services/fabricv4/docs/CompanyProfilesApi.md b/equinix/services/fabricv4/docs/CompanyProfilesApi.md new file mode 100644 index 00000000..be433d0c --- /dev/null +++ b/equinix/services/fabricv4/docs/CompanyProfilesApi.md @@ -0,0 +1,1089 @@ +# equinix.services.fabricv4.CompanyProfilesApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**attach_private_service_to_profile**](CompanyProfilesApi.md#attach_private_service_to_profile) | **PUT** /fabric/v4/companyProfiles/{companyProfileId}/privateServices/{privateServiceId} | Attach Private Service +[**attach_service_profile_to_profile**](CompanyProfilesApi.md#attach_service_profile_to_profile) | **PUT** /fabric/v4/companyProfiles/{companyProfileId}/serviceProfiles/{serviceProfileId} | Attach Service Profile +[**attach_tag_to_profile**](CompanyProfilesApi.md#attach_tag_to_profile) | **PUT** /fabric/v4/companyProfiles/{companyProfileId}/tags/{tagId} | Attach Tag +[**create_company_profile**](CompanyProfilesApi.md#create_company_profile) | **POST** /fabric/v4/companyProfiles | Create Company Profile +[**delete_company_profile**](CompanyProfilesApi.md#delete_company_profile) | **DELETE** /fabric/v4/companyProfiles/{companyProfileId} | Delete Company Profile +[**detach_private_service_from_profile**](CompanyProfilesApi.md#detach_private_service_from_profile) | **DELETE** /fabric/v4/companyProfiles/{companyProfileId}/privateServices/{privateServiceId} | Detach Private Service +[**detach_service_profile_from_profile**](CompanyProfilesApi.md#detach_service_profile_from_profile) | **DELETE** /fabric/v4/companyProfiles/{companyProfileId}/serviceProfiles/{serviceProfileId} | Detach Service Profile +[**detach_tag_from_profile**](CompanyProfilesApi.md#detach_tag_from_profile) | **DELETE** /fabric/v4/companyProfiles/{companyProfileId}/tags/{tagId} | Detach Tag +[**get_company_profile**](CompanyProfilesApi.md#get_company_profile) | **GET** /fabric/v4/companyProfiles/{companyProfileId} | Get Company Profile by UUID +[**get_company_profile_private_services**](CompanyProfilesApi.md#get_company_profile_private_services) | **GET** /fabric/v4/companyProfiles/{companyProfileId}/privateServices | Get Private Services +[**get_company_profile_service_profiles**](CompanyProfilesApi.md#get_company_profile_service_profiles) | **GET** /fabric/v4/companyProfiles/{companyProfileId}/serviceProfiles | Get Service Profiles +[**get_tags**](CompanyProfilesApi.md#get_tags) | **GET** /fabric/v4/companyProfiles/{companyProfileId}/tags | Get Tags +[**search_company_profile**](CompanyProfilesApi.md#search_company_profile) | **POST** /fabric/v4/companyProfiles/search | Search Company Profiles + + +# **attach_private_service_to_profile** +> AttachPrivateServiceResponse attach_private_service_to_profile(company_profile_id, private_service_id) + +Attach Private Service + +Attach a private service to a company profile Beta + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.attach_private_service_response import AttachPrivateServiceResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.CompanyProfilesApi(api_client) + company_profile_id = 'company_profile_id_example' # str | Company Profile UUID + private_service_id = 'private_service_id_example' # str | Private Service UUID + + try: + # Attach Private Service + api_response = api_instance.attach_private_service_to_profile(company_profile_id, private_service_id) + print("The response of CompanyProfilesApi->attach_private_service_to_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompanyProfilesApi->attach_private_service_to_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **company_profile_id** | **str**| Company Profile UUID | + **private_service_id** | **str**| Private Service UUID | + +### Return type + +[**AttachPrivateServiceResponse**](AttachPrivateServiceResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful operation | - | +**400** | Bad request | - | +**403** | Forbidden | - | +**404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **attach_service_profile_to_profile** +> AttachServiceProfileResponse attach_service_profile_to_profile(company_profile_id, service_profile_id) + +Attach Service Profile + +Attach a service profile to a company profile Beta + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.attach_service_profile_response import AttachServiceProfileResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.CompanyProfilesApi(api_client) + company_profile_id = 'company_profile_id_example' # str | Company Profile UUID + service_profile_id = 'service_profile_id_example' # str | Service Profile UUID + + try: + # Attach Service Profile + api_response = api_instance.attach_service_profile_to_profile(company_profile_id, service_profile_id) + print("The response of CompanyProfilesApi->attach_service_profile_to_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompanyProfilesApi->attach_service_profile_to_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **company_profile_id** | **str**| Company Profile UUID | + **service_profile_id** | **str**| Service Profile UUID | + +### Return type + +[**AttachServiceProfileResponse**](AttachServiceProfileResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful operation | - | +**400** | Bad request | - | +**403** | Forbidden | - | +**404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **attach_tag_to_profile** +> AttachTagResponse attach_tag_to_profile(company_profile_id, tag_id) + +Attach Tag + +Attach a tag to a company profile Beta + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.attach_tag_response import AttachTagResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.CompanyProfilesApi(api_client) + company_profile_id = 'company_profile_id_example' # str | Company Profile UUID + tag_id = 'tag_id_example' # str | Tag UUID + + try: + # Attach Tag + api_response = api_instance.attach_tag_to_profile(company_profile_id, tag_id) + print("The response of CompanyProfilesApi->attach_tag_to_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompanyProfilesApi->attach_tag_to_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **company_profile_id** | **str**| Company Profile UUID | + **tag_id** | **str**| Tag UUID | + +### Return type + +[**AttachTagResponse**](AttachTagResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful operation | - | +**400** | Bad request | - | +**403** | Forbidden | - | +**404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **create_company_profile** +> CompanyProfileResponse create_company_profile(company_profile_request) + +Create Company Profile + +Create a new company profile Beta + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.company_profile_request import CompanyProfileRequest +from equinix.services.fabricv4.models.company_profile_response import CompanyProfileResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.CompanyProfilesApi(api_client) + company_profile_request = equinix.services.fabricv4.CompanyProfileRequest() # CompanyProfileRequest | + + try: + # Create Company Profile + api_response = api_instance.create_company_profile(company_profile_request) + print("The response of CompanyProfilesApi->create_company_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompanyProfilesApi->create_company_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **company_profile_request** | [**CompanyProfileRequest**](CompanyProfileRequest.md)| | + +### Return type + +[**CompanyProfileResponse**](CompanyProfileResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Company profile created successfully | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete_company_profile** +> CompanyProfileResponse delete_company_profile(company_profile_id) + +Delete Company Profile + +Delete company profile by UUID Beta + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.company_profile_response import CompanyProfileResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.CompanyProfilesApi(api_client) + company_profile_id = 'company_profile_id_example' # str | Company Profile UUID + + try: + # Delete Company Profile + api_response = api_instance.delete_company_profile(company_profile_id) + print("The response of CompanyProfilesApi->delete_company_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompanyProfilesApi->delete_company_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **company_profile_id** | **str**| Company Profile UUID | + +### Return type + +[**CompanyProfileResponse**](CompanyProfileResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful operation | - | +**400** | Bad request | - | +**403** | Forbidden | - | +**404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **detach_private_service_from_profile** +> AttachPrivateServiceResponse detach_private_service_from_profile(company_profile_id, private_service_id) + +Detach Private Service + +Detach a private service from a company profile Beta + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.attach_private_service_response import AttachPrivateServiceResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.CompanyProfilesApi(api_client) + company_profile_id = 'company_profile_id_example' # str | Company Profile UUID + private_service_id = 'private_service_id_example' # str | Private Service UUID + + try: + # Detach Private Service + api_response = api_instance.detach_private_service_from_profile(company_profile_id, private_service_id) + print("The response of CompanyProfilesApi->detach_private_service_from_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompanyProfilesApi->detach_private_service_from_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **company_profile_id** | **str**| Company Profile UUID | + **private_service_id** | **str**| Private Service UUID | + +### Return type + +[**AttachPrivateServiceResponse**](AttachPrivateServiceResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful operation | - | +**400** | Bad request | - | +**403** | Forbidden | - | +**404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **detach_service_profile_from_profile** +> AttachServiceProfileResponse detach_service_profile_from_profile(company_profile_id, service_profile_id) + +Detach Service Profile + +Detach a service profile from a company profile Beta + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.attach_service_profile_response import AttachServiceProfileResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.CompanyProfilesApi(api_client) + company_profile_id = 'company_profile_id_example' # str | Company Profile UUID + service_profile_id = 'service_profile_id_example' # str | Service Profile UUID + + try: + # Detach Service Profile + api_response = api_instance.detach_service_profile_from_profile(company_profile_id, service_profile_id) + print("The response of CompanyProfilesApi->detach_service_profile_from_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompanyProfilesApi->detach_service_profile_from_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **company_profile_id** | **str**| Company Profile UUID | + **service_profile_id** | **str**| Service Profile UUID | + +### Return type + +[**AttachServiceProfileResponse**](AttachServiceProfileResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful operation | - | +**400** | Bad request | - | +**403** | Forbidden | - | +**404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **detach_tag_from_profile** +> AttachTagResponse detach_tag_from_profile(company_profile_id, tag_id) + +Detach Tag + +Detach a tag from a company profile Beta + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.attach_tag_response import AttachTagResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.CompanyProfilesApi(api_client) + company_profile_id = 'company_profile_id_example' # str | Company Profile UUID + tag_id = 'tag_id_example' # str | Tag UUID + + try: + # Detach Tag + api_response = api_instance.detach_tag_from_profile(company_profile_id, tag_id) + print("The response of CompanyProfilesApi->detach_tag_from_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompanyProfilesApi->detach_tag_from_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **company_profile_id** | **str**| Company Profile UUID | + **tag_id** | **str**| Tag UUID | + +### Return type + +[**AttachTagResponse**](AttachTagResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful operation | - | +**400** | Bad request | - | +**403** | Forbidden | - | +**404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_company_profile** +> CompanyProfileResponse get_company_profile(company_profile_id) + +Get Company Profile by UUID + +Get company profile details by UUID Beta + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.company_profile_response import CompanyProfileResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.CompanyProfilesApi(api_client) + company_profile_id = 'company_profile_id_example' # str | Company Profile UUID + + try: + # Get Company Profile by UUID + api_response = api_instance.get_company_profile(company_profile_id) + print("The response of CompanyProfilesApi->get_company_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompanyProfilesApi->get_company_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **company_profile_id** | **str**| Company Profile UUID | + +### Return type + +[**CompanyProfileResponse**](CompanyProfileResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful operation | - | +**400** | Bad request | - | +**403** | Forbidden | - | +**404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_company_profile_private_services** +> PrivateServiceListResponse get_company_profile_private_services(company_profile_id) + +Get Private Services + +Get all private services attached to a company profile Beta + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.private_service_list_response import PrivateServiceListResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.CompanyProfilesApi(api_client) + company_profile_id = 'company_profile_id_example' # str | Company Profile UUID + + try: + # Get Private Services + api_response = api_instance.get_company_profile_private_services(company_profile_id) + print("The response of CompanyProfilesApi->get_company_profile_private_services:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompanyProfilesApi->get_company_profile_private_services: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **company_profile_id** | **str**| Company Profile UUID | + +### Return type + +[**PrivateServiceListResponse**](PrivateServiceListResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful operation | - | +**400** | Bad request | - | +**403** | Forbidden | - | +**404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_company_profile_service_profiles** +> ServiceProfileListResponse get_company_profile_service_profiles(company_profile_id) + +Get Service Profiles + +Get all service profiles attached to a company profile Beta + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.service_profile_list_response import ServiceProfileListResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.CompanyProfilesApi(api_client) + company_profile_id = 'company_profile_id_example' # str | Company Profile UUID + + try: + # Get Service Profiles + api_response = api_instance.get_company_profile_service_profiles(company_profile_id) + print("The response of CompanyProfilesApi->get_company_profile_service_profiles:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompanyProfilesApi->get_company_profile_service_profiles: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **company_profile_id** | **str**| Company Profile UUID | + +### Return type + +[**ServiceProfileListResponse**](ServiceProfileListResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful operation | - | +**400** | Bad request | - | +**403** | Forbidden | - | +**404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_tags** +> TagListResponse get_tags(company_profile_id) + +Get Tags + +Get all tags attached to a company profile Beta + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.tag_list_response import TagListResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.CompanyProfilesApi(api_client) + company_profile_id = 'company_profile_id_example' # str | Company Profile UUID + + try: + # Get Tags + api_response = api_instance.get_tags(company_profile_id) + print("The response of CompanyProfilesApi->get_tags:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompanyProfilesApi->get_tags: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **company_profile_id** | **str**| Company Profile UUID | + +### Return type + +[**TagListResponse**](TagListResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful operation | - | +**400** | Bad request | - | +**403** | Forbidden | - | +**404** | Not found | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **search_company_profile** +> CompanyProfileSearchResponse search_company_profile(company_profile_search_request, view_point=view_point) + +Search Company Profiles + +Search company profiles based on filter criteria Beta + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.company_profile_search_request import CompanyProfileSearchRequest +from equinix.services.fabricv4.models.company_profile_search_response import CompanyProfileSearchResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.CompanyProfilesApi(api_client) + company_profile_search_request = equinix.services.fabricv4.CompanyProfileSearchRequest() # CompanyProfileSearchRequest | + view_point = 'aSide' # str | Viewpoint for the request, either 'aSide' or 'zSide' (optional) (default to 'aSide') + + try: + # Search Company Profiles + api_response = api_instance.search_company_profile(company_profile_search_request, view_point=view_point) + print("The response of CompanyProfilesApi->search_company_profile:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling CompanyProfilesApi->search_company_profile: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **company_profile_search_request** | [**CompanyProfileSearchRequest**](CompanyProfileSearchRequest.md)| | + **view_point** | **str**| Viewpoint for the request, either 'aSide' or 'zSide' | [optional] [default to 'aSide'] + +### Return type + +[**CompanyProfileSearchResponse**](CompanyProfileSearchResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful operation | - | +**400** | Bad request | - | +**403** | Forbidden | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/equinix/services/fabricv4/docs/ConnectionRouteTableEntry.md b/equinix/services/fabricv4/docs/ConnectionRouteTableEntry.md index de5c5876..a5c77d13 100644 --- a/equinix/services/fabricv4/docs/ConnectionRouteTableEntry.md +++ b/equinix/services/fabricv4/docs/ConnectionRouteTableEntry.md @@ -8,7 +8,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **type** | [**RouteTableEntryType**](RouteTableEntryType.md) | | **protocol_type** | [**RouteTableEntryProtocolType**](RouteTableEntryProtocolType.md) | | [optional] -**state** | [**ConnectionRouteTableEntryState**](ConnectionRouteTableEntryState.md) | | +**state** | [**ConnectionRouteTableEntryState**](ConnectionRouteTableEntryState.md) | | [optional] **prefix** | **str** | | [optional] **next_hop** | **str** | | [optional] **med** | **int** | | [optional] diff --git a/equinix/services/fabricv4/docs/EquinixStatus.md b/equinix/services/fabricv4/docs/EquinixStatus.md index 587c4ab8..3ef14935 100644 --- a/equinix/services/fabricv4/docs/EquinixStatus.md +++ b/equinix/services/fabricv4/docs/EquinixStatus.md @@ -66,6 +66,8 @@ Connection status * `PENDING_INTERFACE_CONFIGURATION` (value: `'PENDING_INTERFACE_CONFIGURATION'`) +* `PENDING_ACTIVATION` (value: `'PENDING_ACTIVATION'`) + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/equinix/services/fabricv4/docs/GeoScopeType.md b/equinix/services/fabricv4/docs/GeoScopeType.md index 95e29952..25aad9d0 100644 --- a/equinix/services/fabricv4/docs/GeoScopeType.md +++ b/equinix/services/fabricv4/docs/GeoScopeType.md @@ -10,6 +10,14 @@ Geographic boundary types * `JAPAN` (value: `'JAPAN'`) +* `UK` (value: `'UK'`) + +* `AUSTRALIA` (value: `'AUSTRALIA'`) + +* `BRAZIL` (value: `'BRAZIL'`) + +* `SWITZERLAND` (value: `'SWITZERLAND'`) + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/equinix/services/fabricv4/docs/GetMetricsByNameResponse.md b/equinix/services/fabricv4/docs/GetMetricsByNameResponse.md new file mode 100644 index 00000000..5b38dfe3 --- /dev/null +++ b/equinix/services/fabricv4/docs/GetMetricsByNameResponse.md @@ -0,0 +1,30 @@ +# GetMetricsByNameResponse + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**pagination** | [**Pagination**](Pagination.md) | | [optional] +**data** | [**List[Metric]**](Metric.md) | Data returned from the API call. | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.get_metrics_by_name_response import GetMetricsByNameResponse + +# TODO update the JSON string below +json = "{}" +# create an instance of GetMetricsByNameResponse from a JSON string +get_metrics_by_name_response_instance = GetMetricsByNameResponse.from_json(json) +# print the JSON string representation of the object +print(GetMetricsByNameResponse.to_json()) + +# convert the object into a dict +get_metrics_by_name_response_dict = get_metrics_by_name_response_instance.to_dict() +# create an instance of GetMetricsByNameResponse from a dict +get_metrics_by_name_response_from_dict = GetMetricsByNameResponse.from_dict(get_metrics_by_name_response_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/equinix/services/fabricv4/docs/LogoResponse.md b/equinix/services/fabricv4/docs/LogoResponse.md index 93ed497b..fb93b345 100644 --- a/equinix/services/fabricv4/docs/LogoResponse.md +++ b/equinix/services/fabricv4/docs/LogoResponse.md @@ -12,6 +12,7 @@ Name | Type | Description | Notes **name** | **str** | | [optional] **description** | **str** | | [optional] **status** | **str** | | [optional] +**extension_type** | **str** | | [optional] **changelog** | [**Changelog**](Changelog.md) | | [optional] ## Example diff --git a/equinix/services/fabricv4/docs/LogosApi.md b/equinix/services/fabricv4/docs/LogosApi.md new file mode 100644 index 00000000..116dec6d --- /dev/null +++ b/equinix/services/fabricv4/docs/LogosApi.md @@ -0,0 +1,174 @@ +# equinix.services.fabricv4.LogosApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**delete_logo_by_uuid**](LogosApi.md#delete_logo_by_uuid) | **DELETE** /fabric/v4/logos/{uuid} | Delete Logo +[**get_logo_by_uuid**](LogosApi.md#get_logo_by_uuid) | **GET** /fabric/v4/logos/{uuid} | Get Logo + + +# **delete_logo_by_uuid** +> LogoResponse delete_logo_by_uuid(uuid) + +Delete Logo + +Delete Logo by UUID + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.logo_response import LogoResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.LogosApi(api_client) + uuid = 'uuid_example' # str | UUID of the Logo + + try: + # Delete Logo + api_response = api_instance.delete_logo_by_uuid(uuid) + print("The response of LogosApi->delete_logo_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling LogosApi->delete_logo_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **uuid** | **str**| UUID of the Logo | + +### Return type + +[**LogoResponse**](LogoResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json; charset=UTF-8, application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**202** | Successful Delete operation | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**500** | Internal Server Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_logo_by_uuid** +> bytearray get_logo_by_uuid(uuid) + +Get Logo + +Get Logo by UUID + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.LogosApi(api_client) + uuid = 'uuid_example' # str | UUID of the Logo + + try: + # Get Logo + api_response = api_instance.get_logo_by_uuid(uuid) + print("The response of LogosApi->get_logo_by_uuid:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling LogosApi->get_logo_by_uuid: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **uuid** | **str**| UUID of the Logo | + +### Return type + +**bytearray** + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: multipart/mixed, application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful Get operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**500** | Internal Server Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/equinix/services/fabricv4/docs/MetricResource.md b/equinix/services/fabricv4/docs/MetricResource.md index 2fce32d7..7d691c97 100644 --- a/equinix/services/fabricv4/docs/MetricResource.md +++ b/equinix/services/fabricv4/docs/MetricResource.md @@ -9,6 +9,7 @@ Name | Type | Description | Notes **href** | **str** | Metric resource href | [optional] **uuid** | **str** | Metric resource UUID | [optional] **type** | **str** | Metric resource type | [optional] +**state** | **str** | Metric resource state | [optional] **name** | **str** | Metric resource name | [optional] **description** | **str** | Metric resource description | [optional] diff --git a/equinix/services/fabricv4/docs/MetricsApi.md b/equinix/services/fabricv4/docs/MetricsApi.md index a1c34505..42290be1 100644 --- a/equinix/services/fabricv4/docs/MetricsApi.md +++ b/equinix/services/fabricv4/docs/MetricsApi.md @@ -5,6 +5,7 @@ All URIs are relative to *https://api.equinix.com* Method | HTTP request | Description ------------- | ------------- | ------------- [**get_metric_by_asset_id**](MetricsApi.md#get_metric_by_asset_id) | **GET** /fabric/v4/{asset}/{assetId}/metrics | Get Metrics by Asset Id +[**get_metric_by_name**](MetricsApi.md#get_metric_by_name) | **GET** /fabric/v4/metrics | Get Metrics by Name [**search_metrics**](MetricsApi.md#search_metrics) | **POST** /fabric/v4/metrics/search | Search Metrics @@ -48,7 +49,7 @@ with equinix.services.fabricv4.ApiClient(configuration) as api_client: api_instance = equinix.services.fabricv4.MetricsApi(api_client) asset = equinix.services.fabricv4.MetricAssetType() # MetricAssetType | asset asset_id = 'asset_id_example' # str | asset UUID - name = 'name_example' # str | Name of the metric types:
- equinix.fabric.connection.bandwidth_rx.usage
- equinix.fabric.connection.bandwidth_tx.usage
- equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count
- equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count
- equinix.fabric.port.bandwidth_rx.usage
- equinix.fabric.port.bandwidth_tx.usage
- equinix.fabric.port.packets_dropped_rx.count
- equinix.fabric.port.packets_dropped_tx.count
- equinix.fabric.port.packets_erred_rx.count
- equinix.fabric.port.packets_erred_tx.count
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.latency
- equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.jitter_avg
+ name = 'equinix.fabric.connection.bandwidth_rx.usage' # str | Name of the metric types: - `equinix.fabric.connection.bandwidth_rx.usage` - `equinix.fabric.connection.bandwidth_tx.usage` - `equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count` - `equinix.fabric.port.bandwidth_rx.usage` - `equinix.fabric.port.bandwidth_tx.usage` - `equinix.fabric.port.packets_dropped_rx.count` - `equinix.fabric.port.packets_dropped_tx.count` - `equinix.fabric.port.packets_erred_rx.count` - `equinix.fabric.port.packets_erred_tx.count` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.latency` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.jitter_avg` from_date_time = '2013-10-20T19:20:30+01:00' # datetime | Start date and time (optional) to_date_time = '2013-10-20T19:20:30+01:00' # datetime | End date and time (optional) offset = 0 # int | offset (optional) (default to 0) @@ -72,7 +73,7 @@ Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- **asset** | [**MetricAssetType**](.md)| asset | **asset_id** | **str**| asset UUID | - **name** | **str**| Name of the metric types: <br> - equinix.fabric.connection.bandwidth_rx.usage <br> - equinix.fabric.connection.bandwidth_tx.usage <br> - equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count <br> - equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count <br> - equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count <br> - equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count <br> - equinix.fabric.port.bandwidth_rx.usage <br> - equinix.fabric.port.bandwidth_tx.usage <br> - equinix.fabric.port.packets_dropped_rx.count <br> - equinix.fabric.port.packets_dropped_tx.count <br> - equinix.fabric.port.packets_erred_rx.count <br> - equinix.fabric.port.packets_erred_tx.count <br> - equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.latency <br> - equinix.fabric.metro.{source_metro_code}_{destination_metro_code}.jitter_avg <br> | + **name** | **str**| Name of the metric types: - `equinix.fabric.connection.bandwidth_rx.usage` - `equinix.fabric.connection.bandwidth_tx.usage` - `equinix.fabric.connection.packets_dropped_rx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_aside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_rx_zside_rateexceeded.count` - `equinix.fabric.connection.packets_dropped_tx_zside_rateexceeded.count` - `equinix.fabric.port.bandwidth_rx.usage` - `equinix.fabric.port.bandwidth_tx.usage` - `equinix.fabric.port.packets_dropped_rx.count` - `equinix.fabric.port.packets_dropped_tx.count` - `equinix.fabric.port.packets_erred_rx.count` - `equinix.fabric.port.packets_erred_tx.count` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.latency` - `equinix.fabric.metro.{SOURCE_METRO_CODE}_{DESTINATION_METRO_CODE}.jitter_avg` | **from_date_time** | **datetime**| Start date and time | [optional] **to_date_time** | **datetime**| End date and time | [optional] **offset** | **int**| offset | [optional] [default to 0] @@ -103,6 +104,94 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **get_metric_by_name** +> GetMetricsByNameResponse get_metric_by_name(name, value, offset=offset, limit=limit) + +Get Metrics by Name + +This API provides capability to retrieve Metrics by specific wildcard metric types + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.get_metrics_by_name_response import GetMetricsByNameResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.MetricsApi(api_client) + name = 'equinix.fabric.metro.*.latency' # str | Name of the metric types with wildcard: - `equinix.fabric.metro.*.latency` - `equinix.fabric.metro.*.jitter_avg` + value = 'value_example' # str | value + offset = 0 # int | offset (optional) (default to 0) + limit = 20 # int | limit (optional) (default to 20) + + try: + # Get Metrics by Name + api_response = api_instance.get_metric_by_name(name, value, offset=offset, limit=limit) + print("The response of MetricsApi->get_metric_by_name:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling MetricsApi->get_metric_by_name: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **name** | **str**| Name of the metric types with wildcard: - `equinix.fabric.metro.*.latency` - `equinix.fabric.metro.*.jitter_avg` | + **value** | **str**| value | + **offset** | **int**| offset | [optional] [default to 0] + **limit** | **int**| limit | [optional] [default to 20] + +### Return type + +[**GetMetricsByNameResponse**](GetMetricsByNameResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful operation | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**500** | Internal server error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **search_metrics** > GetMetricsByAssetResponse search_metrics(metrics_search_request) diff --git a/equinix/services/fabricv4/docs/Metro.md b/equinix/services/fabricv4/docs/Metro.md index bff46b7a..4badf9cd 100644 --- a/equinix/services/fabricv4/docs/Metro.md +++ b/equinix/services/fabricv4/docs/Metro.md @@ -1,6 +1,6 @@ # Metro -GET Metros retrieves all Equinix® Fabric™ metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. +GET Metros retrieves all Equinix? Fabric? metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. ## Properties diff --git a/equinix/services/fabricv4/docs/MetroResponse.md b/equinix/services/fabricv4/docs/MetroResponse.md index 09e96553..5a8d64cb 100644 --- a/equinix/services/fabricv4/docs/MetroResponse.md +++ b/equinix/services/fabricv4/docs/MetroResponse.md @@ -1,6 +1,6 @@ # MetroResponse -GET Metros retrieves all Equinix® Fabric™ metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. +GET Metros retrieves all Equinix? Fabric? metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. ## Properties diff --git a/equinix/services/fabricv4/docs/PatchOperationOp.md b/equinix/services/fabricv4/docs/PatchOperationOp.md index 067fd176..c747013b 100644 --- a/equinix/services/fabricv4/docs/PatchOperationOp.md +++ b/equinix/services/fabricv4/docs/PatchOperationOp.md @@ -6,6 +6,10 @@ The operation to perform * `REPLACE` (value: `'replace'`) +* `ADD` (value: `'add'`) + +* `REMOVE` (value: `'remove'`) + [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/equinix/services/fabricv4/docs/PlatformChangelog.md b/equinix/services/fabricv4/docs/PlatformChangelog.md new file mode 100644 index 00000000..8688e370 --- /dev/null +++ b/equinix/services/fabricv4/docs/PlatformChangelog.md @@ -0,0 +1,35 @@ +# PlatformChangelog + +Change log + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**created_by** | **str** | Created by User Key | [optional] +**created_date_time** | **datetime** | Created by Date and Time | [optional] +**updated_by** | **str** | Updated by User Key | [optional] +**updated_date_time** | **datetime** | Updated by Date and Time | [optional] +**deleted_by** | **str** | Deleted by User Key | [optional] +**deleted_date_time** | **datetime** | Deleted by Date and Time | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.platform_changelog import PlatformChangelog + +# TODO update the JSON string below +json = "{}" +# create an instance of PlatformChangelog from a JSON string +platform_changelog_instance = PlatformChangelog.from_json(json) +# print the JSON string representation of the object +print(PlatformChangelog.to_json()) + +# convert the object into a dict +platform_changelog_dict = platform_changelog_instance.to_dict() +# create an instance of PlatformChangelog from a dict +platform_changelog_from_dict = PlatformChangelog.from_dict(platform_changelog_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/equinix/services/fabricv4/docs/PortOrderPurchaseOrder.md b/equinix/services/fabricv4/docs/PortOrderPurchaseOrder.md index 849e13c4..75d51741 100644 --- a/equinix/services/fabricv4/docs/PortOrderPurchaseOrder.md +++ b/equinix/services/fabricv4/docs/PortOrderPurchaseOrder.md @@ -8,8 +8,8 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **number** | **str** | purchase order number | [optional] **amount** | **str** | purchase order amount | [optional] -**start_date** | **str** | | [optional] -**end_date** | **str** | | [optional] +**start_date** | **datetime** | | [optional] +**end_date** | **datetime** | | [optional] **attachment_id** | **str** | | [optional] **selection_type** | [**PortOrderPurchaseOrderSelectionType**](PortOrderPurchaseOrderSelectionType.md) | | [optional] **type** | [**PortOrderPurchaseOrderType**](PortOrderPurchaseOrderType.md) | | [optional] diff --git a/equinix/services/fabricv4/docs/PortOrderSignature.md b/equinix/services/fabricv4/docs/PortOrderSignature.md index e20fddb9..c4db876c 100644 --- a/equinix/services/fabricv4/docs/PortOrderSignature.md +++ b/equinix/services/fabricv4/docs/PortOrderSignature.md @@ -1,6 +1,6 @@ # PortOrderSignature -Port signature Type +Port signature details ## Properties diff --git a/equinix/services/fabricv4/docs/PortOrderSignatureDelegate.md b/equinix/services/fabricv4/docs/PortOrderSignatureDelegate.md index 7d44f83f..d374c087 100644 --- a/equinix/services/fabricv4/docs/PortOrderSignatureDelegate.md +++ b/equinix/services/fabricv4/docs/PortOrderSignatureDelegate.md @@ -1,12 +1,12 @@ # PortOrderSignatureDelegate -delegate oder details +order delegate details ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**first_name** | **str** | name of delegate | [optional] +**first_name** | **str** | first name of delegate | [optional] **last_name** | **str** | last Name of delegate | [optional] **email** | **str** | email of delegate | [optional] diff --git a/equinix/services/fabricv4/docs/PortsApi.md b/equinix/services/fabricv4/docs/PortsApi.md index eadbd92c..acbb5f70 100644 --- a/equinix/services/fabricv4/docs/PortsApi.md +++ b/equinix/services/fabricv4/docs/PortsApi.md @@ -104,7 +104,7 @@ Name | Type | Description | Notes Create Port -Creates Equinix Fabric™ Port. +Creates Equinix Fabric? Port. ### Example diff --git a/equinix/services/fabricv4/docs/ResponseIncompleteDetails.md b/equinix/services/fabricv4/docs/ResponseIncompleteDetails.md new file mode 100644 index 00000000..49d44c3c --- /dev/null +++ b/equinix/services/fabricv4/docs/ResponseIncompleteDetails.md @@ -0,0 +1,30 @@ +# ResponseIncompleteDetails + +Details about why the response is incomplete. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reason** | [**ResponseIncompleteDetailsReason**](ResponseIncompleteDetailsReason.md) | | [optional] + +## Example + +```python +from equinix.services.fabricv4.models.response_incomplete_details import ResponseIncompleteDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of ResponseIncompleteDetails from a JSON string +response_incomplete_details_instance = ResponseIncompleteDetails.from_json(json) +# print the JSON string representation of the object +print(ResponseIncompleteDetails.to_json()) + +# convert the object into a dict +response_incomplete_details_dict = response_incomplete_details_instance.to_dict() +# create an instance of ResponseIncompleteDetails from a dict +response_incomplete_details_from_dict = ResponseIncompleteDetails.from_dict(response_incomplete_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/equinix/services/fabricv4/docs/ResponseIncompleteDetailsReason.md b/equinix/services/fabricv4/docs/ResponseIncompleteDetailsReason.md new file mode 100644 index 00000000..212bbb7b --- /dev/null +++ b/equinix/services/fabricv4/docs/ResponseIncompleteDetailsReason.md @@ -0,0 +1,13 @@ +# ResponseIncompleteDetailsReason + +The reason why the response is incomplete. + +## Enum + +* `MAX_OUTPUT_TOKENS` (value: `'max_output_tokens'`) + +* `CONTENT_FILTER` (value: `'content_filter'`) + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/equinix/services/fabricv4/docs/ResponseUsageInputTokensDetails.md b/equinix/services/fabricv4/docs/ResponseUsageInputTokensDetails.md new file mode 100644 index 00000000..f313a3e5 --- /dev/null +++ b/equinix/services/fabricv4/docs/ResponseUsageInputTokensDetails.md @@ -0,0 +1,30 @@ +# ResponseUsageInputTokensDetails + +A detailed breakdown of the input tokens. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**cached_tokens** | **int** | The number of tokens that were retrieved from the cache. [More on prompt caching](https://platform.openai.com/docs/guides/prompt-caching). | + +## Example + +```python +from equinix.services.fabricv4.models.response_usage_input_tokens_details import ResponseUsageInputTokensDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of ResponseUsageInputTokensDetails from a JSON string +response_usage_input_tokens_details_instance = ResponseUsageInputTokensDetails.from_json(json) +# print the JSON string representation of the object +print(ResponseUsageInputTokensDetails.to_json()) + +# convert the object into a dict +response_usage_input_tokens_details_dict = response_usage_input_tokens_details_instance.to_dict() +# create an instance of ResponseUsageInputTokensDetails from a dict +response_usage_input_tokens_details_from_dict = ResponseUsageInputTokensDetails.from_dict(response_usage_input_tokens_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/equinix/services/fabricv4/docs/ResponseUsageOutputTokensDetails.md b/equinix/services/fabricv4/docs/ResponseUsageOutputTokensDetails.md new file mode 100644 index 00000000..6805f3f8 --- /dev/null +++ b/equinix/services/fabricv4/docs/ResponseUsageOutputTokensDetails.md @@ -0,0 +1,30 @@ +# ResponseUsageOutputTokensDetails + +A detailed breakdown of the output tokens. + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**reasoning_tokens** | **int** | The number of reasoning tokens. | + +## Example + +```python +from equinix.services.fabricv4.models.response_usage_output_tokens_details import ResponseUsageOutputTokensDetails + +# TODO update the JSON string below +json = "{}" +# create an instance of ResponseUsageOutputTokensDetails from a JSON string +response_usage_output_tokens_details_instance = ResponseUsageOutputTokensDetails.from_json(json) +# print the JSON string representation of the object +print(ResponseUsageOutputTokensDetails.to_json()) + +# convert the object into a dict +response_usage_output_tokens_details_dict = response_usage_output_tokens_details_instance.to_dict() +# create an instance of ResponseUsageOutputTokensDetails from a dict +response_usage_output_tokens_details_from_dict = ResponseUsageOutputTokensDetails.from_dict(response_usage_output_tokens_details_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/equinix/services/fabricv4/docs/ServiceProfilesApi.md b/equinix/services/fabricv4/docs/ServiceProfilesApi.md index 25ef673a..ada5ab0e 100644 --- a/equinix/services/fabricv4/docs/ServiceProfilesApi.md +++ b/equinix/services/fabricv4/docs/ServiceProfilesApi.md @@ -19,7 +19,7 @@ Method | HTTP request | Description Create Profile -Create Service Profile creates Equinix Fabric™ Service Profile. +Create Service Profile creates Equinix Fabric? Service Profile. ### Example diff --git a/equinix/services/fabricv4/docs/ServiceTokensApi.md b/equinix/services/fabricv4/docs/ServiceTokensApi.md index 4886dc6d..044c9197 100644 --- a/equinix/services/fabricv4/docs/ServiceTokensApi.md +++ b/equinix/services/fabricv4/docs/ServiceTokensApi.md @@ -18,7 +18,7 @@ Method | HTTP request | Description Create Service Token -Create Service Tokens generates Equinix Fabric™ service tokens. These tokens authorize users to access protected resources and services. +Create Service Tokens generates Equinix Fabric? service tokens. These tokens authorize users to access protected resources and services. ### Example diff --git a/equinix/services/fabricv4/docs/Sort.md b/equinix/services/fabricv4/docs/Sort.md new file mode 100644 index 00000000..75c6b426 --- /dev/null +++ b/equinix/services/fabricv4/docs/Sort.md @@ -0,0 +1,30 @@ +# Sort + + +## Properties + +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**var_property** | **str** | Property to sort by | [optional] +**direction** | [**CompanyProfileSortDirection**](CompanyProfileSortDirection.md) | | [optional] [default to CompanyProfileSortDirection.ASC] + +## Example + +```python +from equinix.services.fabricv4.models.sort import Sort + +# TODO update the JSON string below +json = "{}" +# create an instance of Sort from a JSON string +sort_instance = Sort.from_json(json) +# print the JSON string representation of the object +print(Sort.to_json()) + +# convert the object into a dict +sort_dict = sort_instance.to_dict() +# create an instance of Sort from a dict +sort_from_dict = Sort.from_dict(sort_dict) +``` +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/equinix/services/fabricv4/docs/TagResponse.md b/equinix/services/fabricv4/docs/TagResponse.md index 247599ca..b2a543c2 100644 --- a/equinix/services/fabricv4/docs/TagResponse.md +++ b/equinix/services/fabricv4/docs/TagResponse.md @@ -11,6 +11,7 @@ Name | Type | Description | Notes **type** | **str** | | [optional] **name** | **str** | | [optional] **display_name** | **str** | | [optional] +**weight** | **int** | | [optional] ## Example diff --git a/equinix/services/fabricv4/docs/TagsApi.md b/equinix/services/fabricv4/docs/TagsApi.md new file mode 100644 index 00000000..9f85bde5 --- /dev/null +++ b/equinix/services/fabricv4/docs/TagsApi.md @@ -0,0 +1,179 @@ +# equinix.services.fabricv4.TagsApi + +All URIs are relative to *https://api.equinix.com* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create_tag**](TagsApi.md#create_tag) | **POST** /fabric/v4/tags | Create Tag +[**list_tags**](TagsApi.md#list_tags) | **GET** /fabric/v4/tags | List Tags + + +# **create_tag** +> TagResponse create_tag(tag_request) + +Create Tag + +Create Tag for Equinix Fabric?. + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.tag_request import TagRequest +from equinix.services.fabricv4.models.tag_response import TagResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.TagsApi(api_client) + tag_request = equinix.services.fabricv4.TagRequest() # TagRequest | + + try: + # Create Tag + api_response = api_instance.create_tag(tag_request) + print("The response of TagsApi->create_tag:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TagsApi->create_tag: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **tag_request** | [**TagRequest**](TagRequest.md)| | + +### Return type + +[**TagResponse**](TagResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Successful Create operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**500** | Internal Server Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_tags** +> TagListResponse list_tags(type=type, offset=offset, limit=limit) + +List Tags + +Get all Tags + +### Example + +* Bearer (JWT) Authentication (BearerAuth): + +```python +import equinix.services.fabricv4 +from equinix.services.fabricv4.models.tag_list_response import TagListResponse +from equinix.services.fabricv4.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to https://api.equinix.com +# See configuration.py for a list of all supported configuration parameters. +configuration = equinix.services.fabricv4.Configuration( + host = "https://api.equinix.com" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure Bearer authorization (JWT): BearerAuth +configuration = equinix.services.fabricv4.Configuration( + access_token = os.environ["BEARER_TOKEN"] +) + +# Enter a context with an instance of the API client +with equinix.services.fabricv4.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = equinix.services.fabricv4.TagsApi(api_client) + type = ['type_example'] # List[str] | Filter by tag type (optional) + offset = 0 # int | Offset for pagination (optional) (default to 0) + limit = 20 # int | Limit for pagination (optional) (default to 20) + + try: + # List Tags + api_response = api_instance.list_tags(type=type, offset=offset, limit=limit) + print("The response of TagsApi->list_tags:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling TagsApi->list_tags: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **type** | [**List[str]**](str.md)| Filter by tag type | [optional] + **offset** | **int**| Offset for pagination | [optional] [default to 0] + **limit** | **int**| Limit for pagination | [optional] [default to 20] + +### Return type + +[**TagListResponse**](TagListResponse.md) + +### Authorization + +[BearerAuth](../README.md#BearerAuth) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful List operation | - | +**400** | Bad request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**500** | Internal Server Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/equinix/services/fabricv4/docs/VirtualPortPrice.md b/equinix/services/fabricv4/docs/VirtualPortPrice.md index b4df9ca7..995c8be1 100644 --- a/equinix/services/fabricv4/docs/VirtualPortPrice.md +++ b/equinix/services/fabricv4/docs/VirtualPortPrice.md @@ -17,6 +17,7 @@ Name | Type | Description | Notes **service_type** | [**VirtualPortServiceType**](VirtualPortServiceType.md) | | [optional] [default to VirtualPortServiceType.MSP] **settings** | [**VirtualPortConfiguration**](VirtualPortConfiguration.md) | | [optional] **package** | [**VirtualPortPackage**](VirtualPortPackage.md) | | [optional] +**service_code** | **str** | Port service code. | [optional] ## Example diff --git a/equinix/services/fabricv4/models/__init__.py b/equinix/services/fabricv4/models/__init__.py index 4ecea0d0..a715fcd9 100644 --- a/equinix/services/fabricv4/models/__init__.py +++ b/equinix/services/fabricv4/models/__init__.py @@ -112,6 +112,7 @@ from equinix.services.fabricv4.models.cloud_router_sort_direction import CloudRouterSortDirection from equinix.services.fabricv4.models.code import Code from equinix.services.fabricv4.models.company_logo import CompanyLogo +from equinix.services.fabricv4.models.company_metro import CompanyMetro from equinix.services.fabricv4.models.company_profile_action_request import CompanyProfileActionRequest from equinix.services.fabricv4.models.company_profile_change import CompanyProfileChange from equinix.services.fabricv4.models.company_profile_request import CompanyProfileRequest @@ -119,7 +120,7 @@ from equinix.services.fabricv4.models.company_profile_search_filter import CompanyProfileSearchFilter from equinix.services.fabricv4.models.company_profile_search_request import CompanyProfileSearchRequest from equinix.services.fabricv4.models.company_profile_search_response import CompanyProfileSearchResponse -from equinix.services.fabricv4.models.company_profile_update_response import CompanyProfileUpdateResponse +from equinix.services.fabricv4.models.company_profile_sort_direction import CompanyProfileSortDirection from equinix.services.fabricv4.models.company_service_profile import CompanyServiceProfile from equinix.services.fabricv4.models.connected_metro import ConnectedMetro from equinix.services.fabricv4.models.connection import Connection @@ -199,6 +200,7 @@ from equinix.services.fabricv4.models.get_all_stream_subscription_response import GetAllStreamSubscriptionResponse from equinix.services.fabricv4.models.get_cloud_events_by_asset_response import GetCloudEventsByAssetResponse from equinix.services.fabricv4.models.get_metrics_by_asset_response import GetMetricsByAssetResponse +from equinix.services.fabricv4.models.get_metrics_by_name_response import GetMetricsByNameResponse from equinix.services.fabricv4.models.get_response import GetResponse from equinix.services.fabricv4.models.get_route_aggregation_get_connections_response import GetRouteAggregationGetConnectionsResponse from equinix.services.fabricv4.models.get_route_aggregation_rules_response import GetRouteAggregationRulesResponse @@ -292,6 +294,7 @@ from equinix.services.fabricv4.models.physical_port import PhysicalPort from equinix.services.fabricv4.models.physical_port_settings import PhysicalPortSettings from equinix.services.fabricv4.models.physical_port_type import PhysicalPortType +from equinix.services.fabricv4.models.platform_changelog import PlatformChangelog from equinix.services.fabricv4.models.port import Port from equinix.services.fabricv4.models.port_additional_info import PortAdditionalInfo from equinix.services.fabricv4.models.port_bmmr_type import PortBmmrType @@ -388,6 +391,10 @@ from equinix.services.fabricv4.models.resource_data import ResourceData from equinix.services.fabricv4.models.resource_selector import ResourceSelector from equinix.services.fabricv4.models.resource_selector_response import ResourceSelectorResponse +from equinix.services.fabricv4.models.response_incomplete_details import ResponseIncompleteDetails +from equinix.services.fabricv4.models.response_incomplete_details_reason import ResponseIncompleteDetailsReason +from equinix.services.fabricv4.models.response_usage_input_tokens_details import ResponseUsageInputTokensDetails +from equinix.services.fabricv4.models.response_usage_output_tokens_details import ResponseUsageOutputTokensDetails from equinix.services.fabricv4.models.route_aggregation_change_data import RouteAggregationChangeData from equinix.services.fabricv4.models.route_aggregation_change_data_response import RouteAggregationChangeDataResponse from equinix.services.fabricv4.models.route_aggregation_connections_data import RouteAggregationConnectionsData @@ -546,6 +553,7 @@ from equinix.services.fabricv4.models.simplified_token_network_type import SimplifiedTokenNetworkType from equinix.services.fabricv4.models.simplified_virtual_device import SimplifiedVirtualDevice from equinix.services.fabricv4.models.simplified_virtual_device_type import SimplifiedVirtualDeviceType +from equinix.services.fabricv4.models.sort import Sort from equinix.services.fabricv4.models.sort_by import SortBy from equinix.services.fabricv4.models.sort_criteria import SortCriteria from equinix.services.fabricv4.models.sort_criteria_response import SortCriteriaResponse diff --git a/equinix/services/fabricv4/models/attach_logo_response.py b/equinix/services/fabricv4/models/attach_logo_response.py index 077fd937..936d1487 100644 --- a/equinix/services/fabricv4/models/attach_logo_response.py +++ b/equinix/services/fabricv4/models/attach_logo_response.py @@ -26,8 +26,9 @@ class AttachLogoResponse(BaseModel): type: StrictStr = Field(description="Type of the logo or attachment") uuid: StrictStr = Field(description="Unique identifier for the logo") attachment_status: Optional[StrictStr] = Field(default=None, description="Status of the attachment operation", alias="attachmentStatus") + extension_type: Optional[StrictStr] = Field(default=None, description="Extension type of logo", alias="extensionType") additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["href", "type", "uuid", "attachmentStatus"] + __properties: ClassVar[List[str]] = ["href", "type", "uuid", "attachmentStatus", "extensionType"] model_config = ConfigDict( populate_by_name=True, @@ -90,7 +91,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "href": obj.get("href"), "type": obj.get("type"), "uuid": obj.get("uuid"), - "attachmentStatus": obj.get("attachmentStatus") + "attachmentStatus": obj.get("attachmentStatus"), + "extensionType": obj.get("extensionType") }) # store additional fields in additional_properties for _key in obj.keys(): diff --git a/equinix/services/fabricv4/models/cloud_event_asset_type.py b/equinix/services/fabricv4/models/cloud_event_asset_type.py index 6f956e0f..ed66ee41 100644 --- a/equinix/services/fabricv4/models/cloud_event_asset_type.py +++ b/equinix/services/fabricv4/models/cloud_event_asset_type.py @@ -25,6 +25,7 @@ class CloudEventAssetType(str, Enum): PORTS = 'ports' CONNECTIONS = 'connections' ROUTERS = 'routers' + METROS = 'metros' SERVICETOKENS = 'serviceTokens' NETWORKS = 'networks' PROJECTS = 'projects' diff --git a/equinix/services/fabricv4/models/company_logo.py b/equinix/services/fabricv4/models/company_logo.py index 7f1f76fc..e87e40ab 100644 --- a/equinix/services/fabricv4/models/company_logo.py +++ b/equinix/services/fabricv4/models/company_logo.py @@ -13,7 +13,7 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self @@ -24,8 +24,9 @@ class CompanyLogo(BaseModel): """ # noqa: E501 href: Optional[StrictStr] = None uuid: Optional[StrictStr] = None + extension_type: Optional[StrictStr] = Field(default=None, alias="extensionType") additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["href", "uuid"] + __properties: ClassVar[List[str]] = ["href", "uuid", "extensionType"] model_config = ConfigDict( populate_by_name=True, @@ -86,7 +87,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "href": obj.get("href"), - "uuid": obj.get("uuid") + "uuid": obj.get("uuid"), + "extensionType": obj.get("extensionType") }) # store additional fields in additional_properties for _key in obj.keys(): diff --git a/equinix/services/fabricv4/models/company_metro.py b/equinix/services/fabricv4/models/company_metro.py new file mode 100644 index 00000000..0a3ed08f --- /dev/null +++ b/equinix/services/fabricv4/models/company_metro.py @@ -0,0 +1,98 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class CompanyMetro(BaseModel): + """ + CompanyMetro + """ # noqa: E501 + href: Optional[StrictStr] = None + metro_code: Optional[StrictStr] = Field(default=None, alias="metroCode") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["href", "metroCode"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of CompanyMetro from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of CompanyMetro from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "href": obj.get("href"), + "metroCode": obj.get("metroCode") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/company_profile_change.py b/equinix/services/fabricv4/models/company_profile_change.py index 8aa7efbd..21792360 100644 --- a/equinix/services/fabricv4/models/company_profile_change.py +++ b/equinix/services/fabricv4/models/company_profile_change.py @@ -23,12 +23,14 @@ class CompanyProfileChange(BaseModel): """ CompanyProfileChange """ # noqa: E501 + uuid: Optional[StrictStr] = None type: Optional[StrictStr] = None status: Optional[StrictStr] = None created_date_time: Optional[datetime] = Field(default=None, alias="createdDateTime") + updated_date_time: Optional[datetime] = Field(default=None, alias="updatedDateTime") data: Optional[Dict[str, Any]] = None additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["type", "status", "createdDateTime", "data"] + __properties: ClassVar[List[str]] = ["uuid", "type", "status", "createdDateTime", "updatedDateTime", "data"] model_config = ConfigDict( populate_by_name=True, @@ -88,9 +90,11 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ + "uuid": obj.get("uuid"), "type": obj.get("type"), "status": obj.get("status"), "createdDateTime": obj.get("createdDateTime"), + "updatedDateTime": obj.get("updatedDateTime"), "data": obj.get("data") }) # store additional fields in additional_properties diff --git a/equinix/services/fabricv4/models/company_profile_request.py b/equinix/services/fabricv4/models/company_profile_request.py index f7db6704..5cc46a4a 100644 --- a/equinix/services/fabricv4/models/company_profile_request.py +++ b/equinix/services/fabricv4/models/company_profile_request.py @@ -29,8 +29,9 @@ class CompanyProfileRequest(BaseModel): description: Annotated[str, Field(min_length=1, strict=True, max_length=450)] notifications: Optional[List[Dict[str, Any]]] = None web_url: Optional[StrictStr] = Field(default=None, alias="webUrl") + contact_url: Optional[StrictStr] = Field(default=None, alias="contactUrl") additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["type", "name", "summary", "description", "notifications", "webUrl"] + __properties: ClassVar[List[str]] = ["type", "name", "summary", "description", "notifications", "webUrl", "contactUrl"] model_config = ConfigDict( populate_by_name=True, @@ -95,7 +96,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "summary": obj.get("summary"), "description": obj.get("description"), "notifications": obj.get("notifications"), - "webUrl": obj.get("webUrl") + "webUrl": obj.get("webUrl"), + "contactUrl": obj.get("contactUrl") }) # store additional fields in additional_properties for _key in obj.keys(): diff --git a/equinix/services/fabricv4/models/company_profile_response.py b/equinix/services/fabricv4/models/company_profile_response.py index bb3c4276..05568815 100644 --- a/equinix/services/fabricv4/models/company_profile_response.py +++ b/equinix/services/fabricv4/models/company_profile_response.py @@ -18,6 +18,8 @@ from typing_extensions import Annotated from equinix.services.fabricv4.models.changelog import Changelog from equinix.services.fabricv4.models.company_logo import CompanyLogo +from equinix.services.fabricv4.models.company_metro import CompanyMetro +from equinix.services.fabricv4.models.company_profile_change import CompanyProfileChange from equinix.services.fabricv4.models.company_service_profile import CompanyServiceProfile from equinix.services.fabricv4.models.private_service import PrivateService from equinix.services.fabricv4.models.tag_response import TagResponse @@ -35,15 +37,18 @@ class CompanyProfileResponse(BaseModel): summary: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=125)]] = None description: Optional[Annotated[str, Field(min_length=1, strict=True, max_length=450)]] = None state: Optional[Dict[str, Any]] = None + metros: Optional[List[CompanyMetro]] = None logo: Optional[CompanyLogo] = None tags: Optional[List[TagResponse]] = None service_profiles: Optional[List[CompanyServiceProfile]] = Field(default=None, alias="serviceProfiles") private_services: Optional[List[PrivateService]] = Field(default=None, alias="privateServices") notifications: Optional[List[Dict[str, Any]]] = None web_url: Optional[StrictStr] = Field(default=None, alias="webUrl") + contact_url: Optional[StrictStr] = Field(default=None, alias="contactUrl") + change: Optional[CompanyProfileChange] = None change_log: Optional[Changelog] = Field(default=None, alias="changeLog") additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["href", "uuid", "type", "name", "summary", "description", "state", "logo", "tags", "serviceProfiles", "privateServices", "notifications", "webUrl", "changeLog"] + __properties: ClassVar[List[str]] = ["href", "uuid", "type", "name", "summary", "description", "state", "metros", "logo", "tags", "serviceProfiles", "privateServices", "notifications", "webUrl", "contactUrl", "change", "changeLog"] model_config = ConfigDict( populate_by_name=True, @@ -86,6 +91,13 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) + # override the default output from pydantic by calling `to_dict()` of each item in metros (list) + _items = [] + if self.metros: + for _item_metros in self.metros: + if _item_metros: + _items.append(_item_metros.to_dict()) + _dict['metros'] = _items # override the default output from pydantic by calling `to_dict()` of logo if self.logo: _dict['logo'] = self.logo.to_dict() @@ -110,6 +122,9 @@ def to_dict(self) -> Dict[str, Any]: if _item_private_services: _items.append(_item_private_services.to_dict()) _dict['privateServices'] = _items + # override the default output from pydantic by calling `to_dict()` of change + if self.change: + _dict['change'] = self.change.to_dict() # override the default output from pydantic by calling `to_dict()` of change_log if self.change_log: _dict['changeLog'] = self.change_log.to_dict() @@ -137,12 +152,15 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "summary": obj.get("summary"), "description": obj.get("description"), "state": obj.get("state"), + "metros": [CompanyMetro.from_dict(_item) for _item in obj["metros"]] if obj.get("metros") is not None else None, "logo": CompanyLogo.from_dict(obj["logo"]) if obj.get("logo") is not None else None, "tags": [TagResponse.from_dict(_item) for _item in obj["tags"]] if obj.get("tags") is not None else None, "serviceProfiles": [CompanyServiceProfile.from_dict(_item) for _item in obj["serviceProfiles"]] if obj.get("serviceProfiles") is not None else None, "privateServices": [PrivateService.from_dict(_item) for _item in obj["privateServices"]] if obj.get("privateServices") is not None else None, "notifications": obj.get("notifications"), "webUrl": obj.get("webUrl"), + "contactUrl": obj.get("contactUrl"), + "change": CompanyProfileChange.from_dict(obj["change"]) if obj.get("change") is not None else None, "changeLog": Changelog.from_dict(obj["changeLog"]) if obj.get("changeLog") is not None else None }) # store additional fields in additional_properties diff --git a/equinix/services/fabricv4/models/company_profile_search_request.py b/equinix/services/fabricv4/models/company_profile_search_request.py index b26a9783..88578db3 100644 --- a/equinix/services/fabricv4/models/company_profile_search_request.py +++ b/equinix/services/fabricv4/models/company_profile_search_request.py @@ -17,6 +17,7 @@ from typing import Any, ClassVar, Dict, List, Optional from equinix.services.fabricv4.models.company_profile_search_filter import CompanyProfileSearchFilter from equinix.services.fabricv4.models.pagination import Pagination +from equinix.services.fabricv4.models.sort import Sort from typing import Optional, Set from typing_extensions import Self @@ -26,8 +27,9 @@ class CompanyProfileSearchRequest(BaseModel): """ # noqa: E501 filter: Optional[CompanyProfileSearchFilter] = None pagination: Optional[Pagination] = None + sort: Optional[Sort] = None additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["filter", "pagination"] + __properties: ClassVar[List[str]] = ["filter", "pagination", "sort"] model_config = ConfigDict( populate_by_name=True, @@ -76,6 +78,9 @@ def to_dict(self) -> Dict[str, Any]: # override the default output from pydantic by calling `to_dict()` of pagination if self.pagination: _dict['pagination'] = self.pagination.to_dict() + # override the default output from pydantic by calling `to_dict()` of sort + if self.sort: + _dict['sort'] = self.sort.to_dict() # puts key-value pairs in additional_properties in the top level if self.additional_properties is not None: for _key, _value in self.additional_properties.items(): @@ -94,7 +99,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "filter": CompanyProfileSearchFilter.from_dict(obj["filter"]) if obj.get("filter") is not None else None, - "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "sort": Sort.from_dict(obj["sort"]) if obj.get("sort") is not None else None }) # store additional fields in additional_properties for _key in obj.keys(): diff --git a/equinix/services/fabricv4/models/company_profile_sort_direction.py b/equinix/services/fabricv4/models/company_profile_sort_direction.py new file mode 100644 index 00000000..a289e190 --- /dev/null +++ b/equinix/services/fabricv4/models/company_profile_sort_direction.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class CompanyProfileSortDirection(str, Enum): + """ + Sorting direction + """ + + """ + allowed enum values + """ + DESC = 'DESC' + ASC = 'ASC' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of CompanyProfileSortDirection from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/connection_route_table_entry.py b/equinix/services/fabricv4/models/connection_route_table_entry.py index 6447f6f5..f67bb99c 100644 --- a/equinix/services/fabricv4/models/connection_route_table_entry.py +++ b/equinix/services/fabricv4/models/connection_route_table_entry.py @@ -29,7 +29,7 @@ class ConnectionRouteTableEntry(BaseModel): """ # noqa: E501 type: RouteTableEntryType protocol_type: Optional[RouteTableEntryProtocolType] = Field(default=None, alias="protocolType") - state: ConnectionRouteTableEntryState + state: Optional[ConnectionRouteTableEntryState] = None prefix: Optional[StrictStr] = None next_hop: Optional[StrictStr] = Field(default=None, alias="nextHop") med: Optional[StrictInt] = Field(default=None, alias="MED") diff --git a/equinix/services/fabricv4/models/equinix_status.py b/equinix/services/fabricv4/models/equinix_status.py index 3bdc82b4..59aed211 100644 --- a/equinix/services/fabricv4/models/equinix_status.py +++ b/equinix/services/fabricv4/models/equinix_status.py @@ -53,6 +53,7 @@ class EquinixStatus(str, Enum): DRAFT = 'DRAFT' CANCELLED = 'CANCELLED' PENDING_INTERFACE_CONFIGURATION = 'PENDING_INTERFACE_CONFIGURATION' + PENDING_ACTIVATION = 'PENDING_ACTIVATION' @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/equinix/services/fabricv4/models/geo_scope_type.py b/equinix/services/fabricv4/models/geo_scope_type.py index 3abc7130..8129c2a4 100644 --- a/equinix/services/fabricv4/models/geo_scope_type.py +++ b/equinix/services/fabricv4/models/geo_scope_type.py @@ -25,6 +25,10 @@ class GeoScopeType(str, Enum): CANADA = 'CANADA' CONUS = 'CONUS' JAPAN = 'JAPAN' + UK = 'UK' + AUSTRALIA = 'AUSTRALIA' + BRAZIL = 'BRAZIL' + SWITZERLAND = 'SWITZERLAND' @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/equinix/services/fabricv4/models/company_profile_update_response.py b/equinix/services/fabricv4/models/get_metrics_by_name_response.py similarity index 70% rename from equinix/services/fabricv4/models/company_profile_update_response.py rename to equinix/services/fabricv4/models/get_metrics_by_name_response.py index abfe8304..cd89edfc 100644 --- a/equinix/services/fabricv4/models/company_profile_update_response.py +++ b/equinix/services/fabricv4/models/get_metrics_by_name_response.py @@ -15,19 +15,19 @@ from pydantic import BaseModel, ConfigDict, Field from typing import Any, ClassVar, Dict, List, Optional -from equinix.services.fabricv4.models.company_profile_change import CompanyProfileChange -from equinix.services.fabricv4.models.company_profile_response import CompanyProfileResponse +from equinix.services.fabricv4.models.metric import Metric +from equinix.services.fabricv4.models.pagination import Pagination from typing import Optional, Set from typing_extensions import Self -class CompanyProfileUpdateResponse(BaseModel): +class GetMetricsByNameResponse(BaseModel): """ - CompanyProfileUpdateResponse + GetMetricsByNameResponse """ # noqa: E501 - company_profile: Optional[CompanyProfileResponse] = Field(default=None, alias="companyProfile") - change: Optional[CompanyProfileChange] = None + pagination: Optional[Pagination] = None + data: Optional[List[Metric]] = Field(default=None, description="Data returned from the API call.") additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["companyProfile", "change"] + __properties: ClassVar[List[str]] = ["pagination", "data"] model_config = ConfigDict( populate_by_name=True, @@ -47,7 +47,7 @@ def to_json(self) -> str: @classmethod def from_json(cls, json_str: str) -> Optional[Self]: - """Create an instance of CompanyProfileUpdateResponse from a JSON string""" + """Create an instance of GetMetricsByNameResponse from a JSON string""" return cls.from_dict(json.loads(json_str)) def to_dict(self) -> Dict[str, Any]: @@ -70,12 +70,16 @@ def to_dict(self) -> Dict[str, Any]: exclude=excluded_fields, exclude_none=True, ) - # override the default output from pydantic by calling `to_dict()` of company_profile - if self.company_profile: - _dict['companyProfile'] = self.company_profile.to_dict() - # override the default output from pydantic by calling `to_dict()` of change - if self.change: - _dict['change'] = self.change.to_dict() + # override the default output from pydantic by calling `to_dict()` of pagination + if self.pagination: + _dict['pagination'] = self.pagination.to_dict() + # override the default output from pydantic by calling `to_dict()` of each item in data (list) + _items = [] + if self.data: + for _item_data in self.data: + if _item_data: + _items.append(_item_data.to_dict()) + _dict['data'] = _items # puts key-value pairs in additional_properties in the top level if self.additional_properties is not None: for _key, _value in self.additional_properties.items(): @@ -85,7 +89,7 @@ def to_dict(self) -> Dict[str, Any]: @classmethod def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: - """Create an instance of CompanyProfileUpdateResponse from a dict""" + """Create an instance of GetMetricsByNameResponse from a dict""" if obj is None: return None @@ -93,8 +97,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: return cls.model_validate(obj) _obj = cls.model_validate({ - "companyProfile": CompanyProfileResponse.from_dict(obj["companyProfile"]) if obj.get("companyProfile") is not None else None, - "change": CompanyProfileChange.from_dict(obj["change"]) if obj.get("change") is not None else None + "pagination": Pagination.from_dict(obj["pagination"]) if obj.get("pagination") is not None else None, + "data": [Metric.from_dict(_item) for _item in obj["data"]] if obj.get("data") is not None else None }) # store additional fields in additional_properties for _key in obj.keys(): diff --git a/equinix/services/fabricv4/models/logo_response.py b/equinix/services/fabricv4/models/logo_response.py index 2e910558..a17514fb 100644 --- a/equinix/services/fabricv4/models/logo_response.py +++ b/equinix/services/fabricv4/models/logo_response.py @@ -29,9 +29,10 @@ class LogoResponse(BaseModel): name: Optional[StrictStr] = None description: Optional[StrictStr] = None status: Optional[StrictStr] = None + extension_type: Optional[StrictStr] = Field(default=None, alias="extensionType") changelog: Optional[Changelog] = None additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["href", "uuid", "type", "name", "description", "status", "changelog"] + __properties: ClassVar[List[str]] = ["href", "uuid", "type", "name", "description", "status", "extensionType", "changelog"] model_config = ConfigDict( populate_by_name=True, @@ -100,6 +101,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "name": obj.get("name"), "description": obj.get("description"), "status": obj.get("status"), + "extensionType": obj.get("extensionType"), "changelog": Changelog.from_dict(obj["changelog"]) if obj.get("changelog") is not None else None }) # store additional fields in additional_properties diff --git a/equinix/services/fabricv4/models/metric_resource.py b/equinix/services/fabricv4/models/metric_resource.py index 84570c76..bfcdc8ba 100644 --- a/equinix/services/fabricv4/models/metric_resource.py +++ b/equinix/services/fabricv4/models/metric_resource.py @@ -25,10 +25,11 @@ class MetricResource(BaseModel): href: Optional[StrictStr] = Field(default=None, description="Metric resource href") uuid: Optional[StrictStr] = Field(default=None, description="Metric resource UUID") type: Optional[StrictStr] = Field(default=None, description="Metric resource type") + state: Optional[StrictStr] = Field(default=None, description="Metric resource state") name: Optional[StrictStr] = Field(default=None, description="Metric resource name") description: Optional[StrictStr] = Field(default=None, description="Metric resource description") additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["href", "uuid", "type", "name", "description"] + __properties: ClassVar[List[str]] = ["href", "uuid", "type", "state", "name", "description"] model_config = ConfigDict( populate_by_name=True, @@ -91,6 +92,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "href": obj.get("href"), "uuid": obj.get("uuid"), "type": obj.get("type"), + "state": obj.get("state"), "name": obj.get("name"), "description": obj.get("description") }) diff --git a/equinix/services/fabricv4/models/metro.py b/equinix/services/fabricv4/models/metro.py index fe4fd3ec..9300665d 100644 --- a/equinix/services/fabricv4/models/metro.py +++ b/equinix/services/fabricv4/models/metro.py @@ -24,7 +24,7 @@ class Metro(BaseModel): """ - GET Metros retrieves all Equinix® Fabric™ metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. + GET Metros retrieves all Equinix? Fabric? metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. """ # noqa: E501 href: Optional[StrictStr] = Field(default=None, description="The Canonical URL at which the resource resides.") type: Optional[StrictStr] = Field(default=None, description="Indicator of a Fabric Metro") diff --git a/equinix/services/fabricv4/models/metro_response.py b/equinix/services/fabricv4/models/metro_response.py index 066e3890..94af91d6 100644 --- a/equinix/services/fabricv4/models/metro_response.py +++ b/equinix/services/fabricv4/models/metro_response.py @@ -22,7 +22,7 @@ class MetroResponse(BaseModel): """ - GET Metros retrieves all Equinix® Fabric™ metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. + GET Metros retrieves all Equinix? Fabric? metros, as well as latency data for each location.This performance data helps network planning engineers and administrators make strategic decisions about port locations and traffic routes. """ # noqa: E501 pagination: Optional[Pagination] = None data: Optional[List[Metro]] = Field(default=None, description="List of Fabric Metros.") diff --git a/equinix/services/fabricv4/models/patch_operation_op.py b/equinix/services/fabricv4/models/patch_operation_op.py index 1a926ea9..77046b28 100644 --- a/equinix/services/fabricv4/models/patch_operation_op.py +++ b/equinix/services/fabricv4/models/patch_operation_op.py @@ -23,6 +23,8 @@ class PatchOperationOp(str, Enum): allowed enum values """ REPLACE = 'replace' + ADD = 'add' + REMOVE = 'remove' @classmethod def from_json(cls, json_str: str) -> Self: diff --git a/equinix/services/fabricv4/models/platform_changelog.py b/equinix/services/fabricv4/models/platform_changelog.py new file mode 100644 index 00000000..c36a385f --- /dev/null +++ b/equinix/services/fabricv4/models/platform_changelog.py @@ -0,0 +1,107 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from datetime import datetime +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from typing import Optional, Set +from typing_extensions import Self + +class PlatformChangelog(BaseModel): + """ + Change log + """ # noqa: E501 + created_by: Optional[StrictStr] = Field(default=None, description="Created by User Key", alias="createdBy") + created_date_time: Optional[datetime] = Field(default=None, description="Created by Date and Time", alias="createdDateTime") + updated_by: Optional[StrictStr] = Field(default=None, description="Updated by User Key", alias="updatedBy") + updated_date_time: Optional[datetime] = Field(default=None, description="Updated by Date and Time", alias="updatedDateTime") + deleted_by: Optional[StrictStr] = Field(default=None, description="Deleted by User Key", alias="deletedBy") + deleted_date_time: Optional[datetime] = Field(default=None, description="Deleted by Date and Time", alias="deletedDateTime") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["createdBy", "createdDateTime", "updatedBy", "updatedDateTime", "deletedBy", "deletedDateTime"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of PlatformChangelog from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of PlatformChangelog from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "createdBy": obj.get("createdBy"), + "createdDateTime": obj.get("createdDateTime"), + "updatedBy": obj.get("updatedBy"), + "updatedDateTime": obj.get("updatedDateTime"), + "deletedBy": obj.get("deletedBy"), + "deletedDateTime": obj.get("deletedDateTime") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/port_order_purchase_order.py b/equinix/services/fabricv4/models/port_order_purchase_order.py index ecfdd871..afbf52e8 100644 --- a/equinix/services/fabricv4/models/port_order_purchase_order.py +++ b/equinix/services/fabricv4/models/port_order_purchase_order.py @@ -13,6 +13,7 @@ import re # noqa: F401 import json +from datetime import datetime from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional from equinix.services.fabricv4.models.port_order_purchase_order_selection_type import PortOrderPurchaseOrderSelectionType @@ -26,8 +27,8 @@ class PortOrderPurchaseOrder(BaseModel): """ # noqa: E501 number: Optional[StrictStr] = Field(default=None, description="purchase order number") amount: Optional[StrictStr] = Field(default=None, description="purchase order amount") - start_date: Optional[StrictStr] = Field(default=None, alias="startDate") - end_date: Optional[StrictStr] = Field(default=None, alias="endDate") + start_date: Optional[datetime] = Field(default=None, alias="startDate") + end_date: Optional[datetime] = Field(default=None, alias="endDate") attachment_id: Optional[StrictStr] = Field(default=None, alias="attachmentId") selection_type: Optional[PortOrderPurchaseOrderSelectionType] = Field(default=None, alias="selectionType") type: Optional[PortOrderPurchaseOrderType] = None diff --git a/equinix/services/fabricv4/models/port_order_signature.py b/equinix/services/fabricv4/models/port_order_signature.py index 83ed304a..2aa12b89 100644 --- a/equinix/services/fabricv4/models/port_order_signature.py +++ b/equinix/services/fabricv4/models/port_order_signature.py @@ -22,7 +22,7 @@ class PortOrderSignature(BaseModel): """ - Port signature Type + Port signature details """ # noqa: E501 signatory: Optional[PortOrderSignatureSignatory] = None delegate: Optional[PortOrderSignatureDelegate] = None diff --git a/equinix/services/fabricv4/models/port_order_signature_delegate.py b/equinix/services/fabricv4/models/port_order_signature_delegate.py index 371ad875..002f37f6 100644 --- a/equinix/services/fabricv4/models/port_order_signature_delegate.py +++ b/equinix/services/fabricv4/models/port_order_signature_delegate.py @@ -20,9 +20,9 @@ class PortOrderSignatureDelegate(BaseModel): """ - delegate oder details + order delegate details """ # noqa: E501 - first_name: Optional[StrictStr] = Field(default=None, description="name of delegate", alias="firstName") + first_name: Optional[StrictStr] = Field(default=None, description="first name of delegate", alias="firstName") last_name: Optional[StrictStr] = Field(default=None, description="last Name of delegate", alias="lastName") email: Optional[StrictStr] = Field(default=None, description="email of delegate") additional_properties: Dict[str, Any] = {} diff --git a/equinix/services/fabricv4/models/response_incomplete_details.py b/equinix/services/fabricv4/models/response_incomplete_details.py new file mode 100644 index 00000000..d2f1a63b --- /dev/null +++ b/equinix/services/fabricv4/models/response_incomplete_details.py @@ -0,0 +1,97 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.response_incomplete_details_reason import ResponseIncompleteDetailsReason +from typing import Optional, Set +from typing_extensions import Self + +class ResponseIncompleteDetails(BaseModel): + """ + Details about why the response is incomplete. + """ # noqa: E501 + reason: Optional[ResponseIncompleteDetailsReason] = None + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["reason"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ResponseIncompleteDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ResponseIncompleteDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "reason": obj.get("reason") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/response_incomplete_details_reason.py b/equinix/services/fabricv4/models/response_incomplete_details_reason.py new file mode 100644 index 00000000..f17b4d50 --- /dev/null +++ b/equinix/services/fabricv4/models/response_incomplete_details_reason.py @@ -0,0 +1,33 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import json +from enum import Enum +from typing_extensions import Self + + +class ResponseIncompleteDetailsReason(str, Enum): + """ + The reason why the response is incomplete. + """ + + """ + allowed enum values + """ + MAX_OUTPUT_TOKENS = 'max_output_tokens' + CONTENT_FILTER = 'content_filter' + + @classmethod + def from_json(cls, json_str: str) -> Self: + """Create an instance of ResponseIncompleteDetailsReason from a JSON string""" + return cls(json.loads(json_str)) + + diff --git a/equinix/services/fabricv4/models/response_usage_input_tokens_details.py b/equinix/services/fabricv4/models/response_usage_input_tokens_details.py new file mode 100644 index 00000000..b3440a93 --- /dev/null +++ b/equinix/services/fabricv4/models/response_usage_input_tokens_details.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class ResponseUsageInputTokensDetails(BaseModel): + """ + A detailed breakdown of the input tokens. + """ # noqa: E501 + cached_tokens: StrictInt = Field(description="The number of tokens that were retrieved from the cache. [More on prompt caching](https://platform.openai.com/docs/guides/prompt-caching). ") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["cached_tokens"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ResponseUsageInputTokensDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ResponseUsageInputTokensDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "cached_tokens": obj.get("cached_tokens") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/response_usage_output_tokens_details.py b/equinix/services/fabricv4/models/response_usage_output_tokens_details.py new file mode 100644 index 00000000..f1155479 --- /dev/null +++ b/equinix/services/fabricv4/models/response_usage_output_tokens_details.py @@ -0,0 +1,96 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictInt +from typing import Any, ClassVar, Dict, List +from typing import Optional, Set +from typing_extensions import Self + +class ResponseUsageOutputTokensDetails(BaseModel): + """ + A detailed breakdown of the output tokens. + """ # noqa: E501 + reasoning_tokens: StrictInt = Field(description="The number of reasoning tokens.") + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["reasoning_tokens"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of ResponseUsageOutputTokensDetails from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of ResponseUsageOutputTokensDetails from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "reasoning_tokens": obj.get("reasoning_tokens") + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/sort.py b/equinix/services/fabricv4/models/sort.py new file mode 100644 index 00000000..0720d108 --- /dev/null +++ b/equinix/services/fabricv4/models/sort.py @@ -0,0 +1,99 @@ +# coding: utf-8 + +""" + Equinix Fabric API v4 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +from __future__ import annotations +import pprint +import re # noqa: F401 +import json + +from pydantic import BaseModel, ConfigDict, Field, StrictStr +from typing import Any, ClassVar, Dict, List, Optional +from equinix.services.fabricv4.models.company_profile_sort_direction import CompanyProfileSortDirection +from typing import Optional, Set +from typing_extensions import Self + +class Sort(BaseModel): + """ + Sort + """ # noqa: E501 + var_property: Optional[StrictStr] = Field(default=None, description="Property to sort by", alias="property") + direction: Optional[CompanyProfileSortDirection] = CompanyProfileSortDirection.ASC + additional_properties: Dict[str, Any] = {} + __properties: ClassVar[List[str]] = ["property", "direction"] + + model_config = ConfigDict( + populate_by_name=True, + validate_assignment=True, + protected_namespaces=(), + ) + + + def to_str(self) -> str: + """Returns the string representation of the model using alias""" + return pprint.pformat(self.model_dump(by_alias=True)) + + def to_json(self) -> str: + """Returns the JSON representation of the model using alias""" + # TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead + return json.dumps(self.to_dict()) + + @classmethod + def from_json(cls, json_str: str) -> Optional[Self]: + """Create an instance of Sort from a JSON string""" + return cls.from_dict(json.loads(json_str)) + + def to_dict(self) -> Dict[str, Any]: + """Return the dictionary representation of the model using alias. + + This has the following differences from calling pydantic's + `self.model_dump(by_alias=True)`: + + * `None` is only added to the output dict for nullable fields that + were set at model initialization. Other fields with value `None` + are ignored. + * Fields in `self.additional_properties` are added to the output dict. + """ + excluded_fields: Set[str] = set([ + "additional_properties", + ]) + + _dict = self.model_dump( + by_alias=True, + exclude=excluded_fields, + exclude_none=True, + ) + # puts key-value pairs in additional_properties in the top level + if self.additional_properties is not None: + for _key, _value in self.additional_properties.items(): + _dict[_key] = _value + + return _dict + + @classmethod + def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: + """Create an instance of Sort from a dict""" + if obj is None: + return None + + if not isinstance(obj, dict): + return cls.model_validate(obj) + + _obj = cls.model_validate({ + "property": obj.get("property"), + "direction": obj.get("direction") if obj.get("direction") is not None else CompanyProfileSortDirection.ASC + }) + # store additional fields in additional_properties + for _key in obj.keys(): + if _key not in cls.__properties: + _obj.additional_properties[_key] = obj.get(_key) + + return _obj + + diff --git a/equinix/services/fabricv4/models/tag_response.py b/equinix/services/fabricv4/models/tag_response.py index 34147e43..9bccd4fd 100644 --- a/equinix/services/fabricv4/models/tag_response.py +++ b/equinix/services/fabricv4/models/tag_response.py @@ -13,7 +13,7 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr +from pydantic import BaseModel, ConfigDict, Field, StrictInt, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self @@ -27,8 +27,9 @@ class TagResponse(BaseModel): type: Optional[StrictStr] = None name: Optional[StrictStr] = None display_name: Optional[StrictStr] = Field(default=None, alias="displayName") + weight: Optional[StrictInt] = None additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["href", "uuid", "type", "name", "displayName"] + __properties: ClassVar[List[str]] = ["href", "uuid", "type", "name", "displayName", "weight"] model_config = ConfigDict( populate_by_name=True, @@ -92,7 +93,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "uuid": obj.get("uuid"), "type": obj.get("type"), "name": obj.get("name"), - "displayName": obj.get("displayName") + "displayName": obj.get("displayName"), + "weight": obj.get("weight") }) # store additional fields in additional_properties for _key in obj.keys(): diff --git a/equinix/services/fabricv4/models/virtual_port_price.py b/equinix/services/fabricv4/models/virtual_port_price.py index 5cbce056..b1352dc6 100644 --- a/equinix/services/fabricv4/models/virtual_port_price.py +++ b/equinix/services/fabricv4/models/virtual_port_price.py @@ -41,8 +41,9 @@ class VirtualPortPrice(BaseModel): service_type: Optional[VirtualPortServiceType] = Field(default=VirtualPortServiceType.MSP, alias="serviceType") settings: Optional[VirtualPortConfiguration] = None package: Optional[VirtualPortPackage] = None + service_code: Optional[StrictStr] = Field(default=None, description="Port service code.", alias="serviceCode") additional_properties: Dict[str, Any] = {} - __properties: ClassVar[List[str]] = ["uuid", "type", "location", "lag", "physicalPortsQuantity", "bandwidth", "redundancy", "connectivitySource", "serviceType", "settings", "package"] + __properties: ClassVar[List[str]] = ["uuid", "type", "location", "lag", "physicalPortsQuantity", "bandwidth", "redundancy", "connectivitySource", "serviceType", "settings", "package", "serviceCode"] model_config = ConfigDict( populate_by_name=True, @@ -130,7 +131,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "connectivitySource": ConnectivitySource.from_dict(obj["connectivitySource"]) if obj.get("connectivitySource") is not None else None, "serviceType": obj.get("serviceType") if obj.get("serviceType") is not None else VirtualPortServiceType.MSP, "settings": VirtualPortConfiguration.from_dict(obj["settings"]) if obj.get("settings") is not None else None, - "package": VirtualPortPackage.from_dict(obj["package"]) if obj.get("package") is not None else None + "package": VirtualPortPackage.from_dict(obj["package"]) if obj.get("package") is not None else None, + "serviceCode": obj.get("serviceCode") }) # store additional fields in additional_properties for _key in obj.keys(): From 84e631a82c3ac1ea04e0c18445e7180fc2356bd0 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 17 Feb 2026 09:47:08 +0000 Subject: [PATCH 4/5] sync: uncommitted changes detected when opening PR --- equinix/services/fabricv4_README.md | 30 +++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) diff --git a/equinix/services/fabricv4_README.md b/equinix/services/fabricv4_README.md index 90f25ac4..80386937 100644 --- a/equinix/services/fabricv4_README.md +++ b/equinix/services/fabricv4_README.md @@ -3,7 +3,7 @@ Equinix Fabric is an advanced software-defined interconnection solution that ena The `equinix.services.fabricv4` package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project: -- API version: 4.26 +- API version: 4.27 - Package version: 0.14.2 - Generator version: 7.12.0 - Build package: org.openapitools.codegen.languages.PythonClientCodegen @@ -96,6 +96,19 @@ Class | Method | HTTP request | Description *CloudRoutersApi* | [**search_connection_received_routes**](equinix/services/fabricv4/docs/CloudRoutersApi.md#search_connection_received_routes) | **POST** /fabric/v4/connections/{connectionId}/receivedRoutes/search | Search Received Routes *CloudRoutersApi* | [**search_router_actions**](equinix/services/fabricv4/docs/CloudRoutersApi.md#search_router_actions) | **POST** /fabric/v4/routers/{routerId}/actions/search | Search Route Table Actions *CloudRoutersApi* | [**update_cloud_router_by_uuid**](equinix/services/fabricv4/docs/CloudRoutersApi.md#update_cloud_router_by_uuid) | **PATCH** /fabric/v4/routers/{routerId} | Update Routers +*CompanyProfilesApi* | [**attach_private_service_to_profile**](equinix/services/fabricv4/docs/CompanyProfilesApi.md#attach_private_service_to_profile) | **PUT** /fabric/v4/companyProfiles/{companyProfileId}/privateServices/{privateServiceId} | Attach Private Service +*CompanyProfilesApi* | [**attach_service_profile_to_profile**](equinix/services/fabricv4/docs/CompanyProfilesApi.md#attach_service_profile_to_profile) | **PUT** /fabric/v4/companyProfiles/{companyProfileId}/serviceProfiles/{serviceProfileId} | Attach Service Profile +*CompanyProfilesApi* | [**attach_tag_to_profile**](equinix/services/fabricv4/docs/CompanyProfilesApi.md#attach_tag_to_profile) | **PUT** /fabric/v4/companyProfiles/{companyProfileId}/tags/{tagId} | Attach Tag +*CompanyProfilesApi* | [**create_company_profile**](equinix/services/fabricv4/docs/CompanyProfilesApi.md#create_company_profile) | **POST** /fabric/v4/companyProfiles | Create Company Profile +*CompanyProfilesApi* | [**delete_company_profile**](equinix/services/fabricv4/docs/CompanyProfilesApi.md#delete_company_profile) | **DELETE** /fabric/v4/companyProfiles/{companyProfileId} | Delete Company Profile +*CompanyProfilesApi* | [**detach_private_service_from_profile**](equinix/services/fabricv4/docs/CompanyProfilesApi.md#detach_private_service_from_profile) | **DELETE** /fabric/v4/companyProfiles/{companyProfileId}/privateServices/{privateServiceId} | Detach Private Service +*CompanyProfilesApi* | [**detach_service_profile_from_profile**](equinix/services/fabricv4/docs/CompanyProfilesApi.md#detach_service_profile_from_profile) | **DELETE** /fabric/v4/companyProfiles/{companyProfileId}/serviceProfiles/{serviceProfileId} | Detach Service Profile +*CompanyProfilesApi* | [**detach_tag_from_profile**](equinix/services/fabricv4/docs/CompanyProfilesApi.md#detach_tag_from_profile) | **DELETE** /fabric/v4/companyProfiles/{companyProfileId}/tags/{tagId} | Detach Tag +*CompanyProfilesApi* | [**get_company_profile**](equinix/services/fabricv4/docs/CompanyProfilesApi.md#get_company_profile) | **GET** /fabric/v4/companyProfiles/{companyProfileId} | Get Company Profile by UUID +*CompanyProfilesApi* | [**get_company_profile_private_services**](equinix/services/fabricv4/docs/CompanyProfilesApi.md#get_company_profile_private_services) | **GET** /fabric/v4/companyProfiles/{companyProfileId}/privateServices | Get Private Services +*CompanyProfilesApi* | [**get_company_profile_service_profiles**](equinix/services/fabricv4/docs/CompanyProfilesApi.md#get_company_profile_service_profiles) | **GET** /fabric/v4/companyProfiles/{companyProfileId}/serviceProfiles | Get Service Profiles +*CompanyProfilesApi* | [**get_tags**](equinix/services/fabricv4/docs/CompanyProfilesApi.md#get_tags) | **GET** /fabric/v4/companyProfiles/{companyProfileId}/tags | Get Tags +*CompanyProfilesApi* | [**search_company_profile**](equinix/services/fabricv4/docs/CompanyProfilesApi.md#search_company_profile) | **POST** /fabric/v4/companyProfiles/search | Search Company Profiles *ConnectionsApi* | [**create_connection**](equinix/services/fabricv4/docs/ConnectionsApi.md#create_connection) | **POST** /fabric/v4/connections | Create Connection *ConnectionsApi* | [**create_connection_action**](equinix/services/fabricv4/docs/ConnectionsApi.md#create_connection_action) | **POST** /fabric/v4/connections/{connectionId}/actions | Connection Actions *ConnectionsApi* | [**delete_connection_by_uuid**](equinix/services/fabricv4/docs/ConnectionsApi.md#delete_connection_by_uuid) | **DELETE** /fabric/v4/connections/{connectionId} | Delete by ID @@ -104,8 +117,11 @@ Class | Method | HTTP request | Description *ConnectionsApi* | [**update_connection_by_uuid**](equinix/services/fabricv4/docs/ConnectionsApi.md#update_connection_by_uuid) | **PATCH** /fabric/v4/connections/{connectionId} | Update by ID *ConnectionsApi* | [**validate_connections**](equinix/services/fabricv4/docs/ConnectionsApi.md#validate_connections) | **POST** /fabric/v4/connections/validate | Validate Connection *HealthApi* | [**get_status**](equinix/services/fabricv4/docs/HealthApi.md#get_status) | **GET** /fabric/v4/health | Get service status +*LogosApi* | [**delete_logo_by_uuid**](equinix/services/fabricv4/docs/LogosApi.md#delete_logo_by_uuid) | **DELETE** /fabric/v4/logos/{uuid} | Delete Logo +*LogosApi* | [**get_logo_by_uuid**](equinix/services/fabricv4/docs/LogosApi.md#get_logo_by_uuid) | **GET** /fabric/v4/logos/{uuid} | Get Logo *MarketplaceSubscriptionsApi* | [**get_subscription_by_id**](equinix/services/fabricv4/docs/MarketplaceSubscriptionsApi.md#get_subscription_by_id) | **GET** /fabric/v4/marketplaceSubscriptions/{subscriptionId} | Get Subscription *MetricsApi* | [**get_metric_by_asset_id**](equinix/services/fabricv4/docs/MetricsApi.md#get_metric_by_asset_id) | **GET** /fabric/v4/{asset}/{assetId}/metrics | Get Metrics by Asset Id +*MetricsApi* | [**get_metric_by_name**](equinix/services/fabricv4/docs/MetricsApi.md#get_metric_by_name) | **GET** /fabric/v4/metrics | Get Metrics by Name *MetricsApi* | [**search_metrics**](equinix/services/fabricv4/docs/MetricsApi.md#search_metrics) | **POST** /fabric/v4/metrics/search | Search Metrics *MetrosApi* | [**get_metro_by_code**](equinix/services/fabricv4/docs/MetrosApi.md#get_metro_by_code) | **GET** /fabric/v4/metros/{metroCode} | Get Metro by Code *MetrosApi* | [**get_metros**](equinix/services/fabricv4/docs/MetrosApi.md#get_metros) | **GET** /fabric/v4/metros | Get all Metros @@ -227,6 +243,8 @@ Class | Method | HTTP request | Description *StreamsApi* | [**get_streams_assets**](equinix/services/fabricv4/docs/StreamsApi.md#get_streams_assets) | **POST** /fabric/v4/streamAssets/search | Get Assets *StreamsApi* | [**update_stream_asset_by_uuid**](equinix/services/fabricv4/docs/StreamsApi.md#update_stream_asset_by_uuid) | **PUT** /fabric/v4/streams/{streamId}/{asset}/{assetId} | Attach Asset *StreamsApi* | [**update_stream_by_uuid**](equinix/services/fabricv4/docs/StreamsApi.md#update_stream_by_uuid) | **PUT** /fabric/v4/streams/{streamId} | Update Stream +*TagsApi* | [**create_tag**](equinix/services/fabricv4/docs/TagsApi.md#create_tag) | **POST** /fabric/v4/tags | Create Tag +*TagsApi* | [**list_tags**](equinix/services/fabricv4/docs/TagsApi.md#list_tags) | **GET** /fabric/v4/tags | List Tags ## Documentation For Models @@ -333,6 +351,7 @@ Class | Method | HTTP request | Description - [CloudRouterSortDirection](equinix/services/fabricv4/docs/CloudRouterSortDirection.md) - [Code](equinix/services/fabricv4/docs/Code.md) - [CompanyLogo](equinix/services/fabricv4/docs/CompanyLogo.md) + - [CompanyMetro](equinix/services/fabricv4/docs/CompanyMetro.md) - [CompanyProfileActionRequest](equinix/services/fabricv4/docs/CompanyProfileActionRequest.md) - [CompanyProfileChange](equinix/services/fabricv4/docs/CompanyProfileChange.md) - [CompanyProfileRequest](equinix/services/fabricv4/docs/CompanyProfileRequest.md) @@ -340,7 +359,7 @@ Class | Method | HTTP request | Description - [CompanyProfileSearchFilter](equinix/services/fabricv4/docs/CompanyProfileSearchFilter.md) - [CompanyProfileSearchRequest](equinix/services/fabricv4/docs/CompanyProfileSearchRequest.md) - [CompanyProfileSearchResponse](equinix/services/fabricv4/docs/CompanyProfileSearchResponse.md) - - [CompanyProfileUpdateResponse](equinix/services/fabricv4/docs/CompanyProfileUpdateResponse.md) + - [CompanyProfileSortDirection](equinix/services/fabricv4/docs/CompanyProfileSortDirection.md) - [CompanyServiceProfile](equinix/services/fabricv4/docs/CompanyServiceProfile.md) - [ConnectedMetro](equinix/services/fabricv4/docs/ConnectedMetro.md) - [Connection](equinix/services/fabricv4/docs/Connection.md) @@ -420,6 +439,7 @@ Class | Method | HTTP request | Description - [GetAllStreamSubscriptionResponse](equinix/services/fabricv4/docs/GetAllStreamSubscriptionResponse.md) - [GetCloudEventsByAssetResponse](equinix/services/fabricv4/docs/GetCloudEventsByAssetResponse.md) - [GetMetricsByAssetResponse](equinix/services/fabricv4/docs/GetMetricsByAssetResponse.md) + - [GetMetricsByNameResponse](equinix/services/fabricv4/docs/GetMetricsByNameResponse.md) - [GetResponse](equinix/services/fabricv4/docs/GetResponse.md) - [GetRouteAggregationGetConnectionsResponse](equinix/services/fabricv4/docs/GetRouteAggregationGetConnectionsResponse.md) - [GetRouteAggregationRulesResponse](equinix/services/fabricv4/docs/GetRouteAggregationRulesResponse.md) @@ -513,6 +533,7 @@ Class | Method | HTTP request | Description - [PhysicalPort](equinix/services/fabricv4/docs/PhysicalPort.md) - [PhysicalPortSettings](equinix/services/fabricv4/docs/PhysicalPortSettings.md) - [PhysicalPortType](equinix/services/fabricv4/docs/PhysicalPortType.md) + - [PlatformChangelog](equinix/services/fabricv4/docs/PlatformChangelog.md) - [Port](equinix/services/fabricv4/docs/Port.md) - [PortAdditionalInfo](equinix/services/fabricv4/docs/PortAdditionalInfo.md) - [PortBmmrType](equinix/services/fabricv4/docs/PortBmmrType.md) @@ -609,6 +630,10 @@ Class | Method | HTTP request | Description - [ResourceData](equinix/services/fabricv4/docs/ResourceData.md) - [ResourceSelector](equinix/services/fabricv4/docs/ResourceSelector.md) - [ResourceSelectorResponse](equinix/services/fabricv4/docs/ResourceSelectorResponse.md) + - [ResponseIncompleteDetails](equinix/services/fabricv4/docs/ResponseIncompleteDetails.md) + - [ResponseIncompleteDetailsReason](equinix/services/fabricv4/docs/ResponseIncompleteDetailsReason.md) + - [ResponseUsageInputTokensDetails](equinix/services/fabricv4/docs/ResponseUsageInputTokensDetails.md) + - [ResponseUsageOutputTokensDetails](equinix/services/fabricv4/docs/ResponseUsageOutputTokensDetails.md) - [RouteAggregationChangeData](equinix/services/fabricv4/docs/RouteAggregationChangeData.md) - [RouteAggregationChangeDataResponse](equinix/services/fabricv4/docs/RouteAggregationChangeDataResponse.md) - [RouteAggregationConnectionsData](equinix/services/fabricv4/docs/RouteAggregationConnectionsData.md) @@ -767,6 +792,7 @@ Class | Method | HTTP request | Description - [SimplifiedTokenNetworkType](equinix/services/fabricv4/docs/SimplifiedTokenNetworkType.md) - [SimplifiedVirtualDevice](equinix/services/fabricv4/docs/SimplifiedVirtualDevice.md) - [SimplifiedVirtualDeviceType](equinix/services/fabricv4/docs/SimplifiedVirtualDeviceType.md) + - [Sort](equinix/services/fabricv4/docs/Sort.md) - [SortBy](equinix/services/fabricv4/docs/SortBy.md) - [SortCriteria](equinix/services/fabricv4/docs/SortCriteria.md) - [SortCriteriaResponse](equinix/services/fabricv4/docs/SortCriteriaResponse.md) From 0677c2aba0b7c514104c530aa4e30579a473f26c Mon Sep 17 00:00:00 2001 From: "tomasz.tutka" Date: Tue, 17 Feb 2026 12:49:23 +0100 Subject: [PATCH 5/5] Empty commit